2011-09-09 10 views
1

現在、私たちは古典的な設定を使用しています:Nginxはインスタンスの前にそれぞれ3つの雑種があります。Amazon EC2のAutoscale Railsアプリケーション

私たちのアプリをオートスケールしたいと思います。

したがって、Elastic Load Balancer + AutoScalingを使用するか、何らかの形でNginxの設定を手動で更新する必要があります。自動スケーリングは新しいインスタンスを起動するので、nginxはトラフィックをルーティングできます。

ELBの問題は、EC2インスタンス上のいくつかのポートに要求を渡すことができないということです。だから、一人のインスタンスからより多くのパフォーマンスを得るために、私たちのインスタンスで雑種の束を実行することはできません。私が見る唯一の方法は、各インスタンスでHAproxyを使用して雑種の束に要求をプロキシすることです。

どうすればよいですか?手作業でNginxの設定を手動で更新するか、ELBとHAProxyを使用しますか? AmazonでRailsアプリケーションをオートスケールする良い方法はありますか?

答えて

0

Amazon Web ServicesでELB + AutoScaler + LaunchConfigを使用して、Railsアプリケーションを拡張します。

私たちの設定はnginx + Passenger + Railsであり、Railsを実行するインスタンスには1つのポートしか必要ありません。したがって、処理できるサイズのインスタンスを任意の数のRailsプロセス(要求)に含めることができます。インスタンスがビジー状態になると、AutoScalerが起動し、ELBはすべてのインスタンスに負荷を分散します。ここでも、インスタンス上に1つのポートしか必要としません。