クラッシュせずに実行できる十分なスペースを残しながら、Chefサーバーをできるだけ安価にセットアップしたいと思います。この件に関して私が見つけた唯一の記事は、メモリ不足のためにRabbitMQがマイクロインスタンスでクラッシュすることを警告していました。
問題は、アプリ内の他の目的でCouchDBまたはRabbitMQを使用していないことを考えると、chefサーバーを確実に実行できる最も安価なEC2インスタンスは何ですか。したがって、おそらく同じインスタンスのchefサーバー専用にセットアップする必要があります。
ノードの数よりも大きな要因は、ノードを構成するときにクライアントが行っているコンバージェンスの数(APIヒットに変換されます)です。
お気づきのとおり、Ruby APIサーバーはメモリを大量に消費するため、マイクロインスタンスはすぐに窮屈に感じます。 CouchDBバックエンドは(コンバージェンスに応じて)書き込みが集中する可能性があるため、IOパフォーマンスを考慮する必要があります。通常、検索エンジンは問題ありません。インデックス作成のワークロードを処理するために、エクスパンダーvnodeの数を増やすことができます。
一般に、c1.mediumが最適であることがわかりましたbang for the buck Chef Serverだけでなく、一般的なアプリケーションの使用にも、さまざまなワークロードのインスタンスサイズ。ただし、m1.smallの2倍の費用がかかります。
Chef Serverは、水平スケール用に設計されました。 1つのシステムで問題なく開始できますが、インフラストラクチャのサイズが大きくなるにつれて、コンポーネントを別々のシステムに分割することをお勧めします。経済性によっては、コンポーネントを独自の個別のインスタンスで実行することにより、ワークロードのインスタンスサイズを組み合わせて組み合わせることができます。 Chef wikiの構成オプション の詳細については。
また、 Opscode Hosted Chef は、そのいずれについても心配する必要がないため、経済的な解決策になる可能性があります。
私はそれをm1.smallインスタンスでほぼ6か月間確実に実行しています。
私のインスタンスは、シェフサーバーが RBEL Repo からインストールされたRightScale CentOS5イメージを実行します。私のChefサーバーは、現在約30のノードと6つの環境を管理しています。