Amazon EC2で最初のウェブサイトをセットアップしています。使用するディストリビューションを決定しようとしています。私は過去にRedhatとCentOSを使用したことがありますが、どのシステムにも偏りがなく、最も良いものを使用したいだけです(過去に部分的に管理されていたサーバーもあるので、あまりサーバーを実行していません)最近まで管理)。 Webサイトは、PHPおよびMongoDBで記述されたWebアプリです。
Amazon Linuxで説明されている軽量のOSを使用するというアイデアは好きですが、UbuntuやサーバーOSのみに焦点を絞ったチームがいる他のオプションと比較して、互換性や更新に問題が発生するのではないかと心配しています。何かアドバイス?
私も同じような状況でした。完全に管理された専用サーバー、LAMP、CentOS。その後、EC2に移行することを決定しました。また、システムやLinux管理の経験はほとんどありませんでした。私はUbuntuでの経験がほとんどないので、どちらがより良いOSであるかについて、私は本当に話すことができません。
Rightscale、Alestic、Scalr、Amazonからの最小限のOSインストールで、事前にビルドされたAMIの束を試しました。最初にバージョン2010.11.01を使用して、Amazon Linuxの上にすべての独自のAMIを構築することになりましたが、今度はすべてのカスタムAMIをAmazon Linuxバージョン2011.03.01に移行しました。
Amazon Linux AMIを他のAMIプロバイダーと比較するという決定は簡単なものではありませんでした。最終的な決定を下す前に、私は1か月近くの間さまざまなセットアップをいじってテストしました。結局、私はCentOSを使いたかったので、基本的には1つのものに要約されました。 EC2の設計、構築、保守を行う人よりも、ハードウェア関連の依存関係をOSに含める必要がある人を理解する方がよいと考えました。 Rightscale、Scalr、またはAlesticに対して何もしません。
6か月後、私はいくつかの困難を乗り越えましたが、AmazonのLinuxは非常に安定しています。ただし、Amazonがパッケージリポジトリで管理しているビルド済みのパッケージで問題が発生したため、ソースから使用するソフトウェアの一部(php 5.3、MySQL 5.5など)をコンパイルすることにしました。
Amazon Linuxは、FedoraやDebian Testing(一種)のようなローリングディストリビューションです。私の見解では、それはいかなる生産製品にもまったく適していません。多くの人がこれを知らないことに驚いています。つまり、たとえば450日前にAmazon Linuxインスタンスを起動し、今日更新を行った場合、まったく異なるリリースから更新を取得することになります。新しいリリースが作成されると、バッファ時間はなくなり、すぐに新しいリリースから更新のプルを開始します。ご想像のとおり、これは一連の依存関係を引き込み、物事を壊す傾向があります。このため、本質的に管理できません。絶対に混乱しない限り、このようなことを更新ポリシーに組み込むことはできません。深刻な問題にAmazon Linuxを使用しないでください。
Debian LtableやCentOSと同様、Ubuntu LTSが最適です。これらはすべて、同じリリースに対する長年のアップデートを提供します。
Amazon Linuxにはバグ追跡システムなしもあります。パッケージに対してバグを報告するには、AWS開発者フォーラムに質問を投稿する必要があります。バグを検索する方法もありません。これは、ほとんどすべての人にとって目を見張るような問題になるはずです。
Amazon Linuxは、不必要にソースパッケージを取得することを非常に困難にします。
この質問が書かれたため、AmazonはAmazon Linux AMI 2011.09に完全に刷新し、CloudFormationとAmazonツールのすべてのブートストラップを行いました。
また、高速かつ軽量を求めている場合は、yum
リポジトリにNginxとPHP-FPMが含まれています。
最新のリリースについてはこちら: http://aws.Amazon.com/Amazon-linux-AMI/latest-release-注/
セキュリティアップデートにも注意してください: http://aws.Amazon.com/Amazon-linux-AMI/security-bulletins/
ベースAMIは、bootstrap実際に必要なサービスに必要なツールだけを備えた最小限のサーバーであるため、通常、心配する必要はほとんどありません。
すでにRHEL/CentOSにある程度慣れている場合は、それを使用します。 Webアプリサーバーに「最高の」ディストリビューションはありません。それはあなたが最もよく知っているツールと慣習に帰着します。
Ubuntuは これらのベンチマーク でより優れていますが、テスト自体がUbuntuの勝利に貢献しており、いずれにしても大きな違いはないようです。
私は最近、主に自動更新のために、そしてスティーブンとイーサンによって この質問のQuoraバージョン で報告されたUbuntu AMIバグのために、Amazon Linuxを選択しました。
あなたがすぐに慣れたいと思っていて、私がubuntuに行くだろうけれども、多くなしで物事をインストールしたい場合。一般的に、ライブのWebサーバーでは、このようなことをしたくありません!人々はまた、RedHat、CentOS、Debianのどちらを選択するかについても議論します。すべてが完全に安全でテストされているわけではないため、ハードコア技術者はubuntuはライブサーバー環境に適していないと主張しています。
私の選択はubuntuです。Webサーバーにかなりの数の異なるディストリビューションを使用してきましたが、ファイアウォールルールの変更などにより、ubuntuの方がはるかに簡単になりました。
他に唯一あることは、ubuntuの方がリソース使用量がやや多いため、CentOSはAmazonの価格設定方法に基づいて月に数ドル節約できるということです。
あなたの場合、CentOS/RHELに精通していることが他の考慮事項よりも優先されます。
私が使用しているシステムは、主にEdge上にありました。新しいテクノロジーと新しいバージョンを使用した新しいソフトウェアです。これを使用するには、Ubuntuの方が適しています。私はソースコードからのパッケージのビルドを避け、Ubuntuのパッケージは(もちろん完璧ではありませんが)十分に維持されており、標準リポジトリには必要なものが揃っています。そうでない場合でも、リポジトリはすぐに利用できます。問題は数か月後に解決する傾向があるため、私は最新のものから1つのリビジョンに戻る傾向があります。