私はまだこれを実装していませんが、NGiNX Plusのオンザフライ再構成の使用を検討しています。AMI、またはAuto Scaling Groupインスタンスを設定する構成管理(Puppet、Saltなど)がNGiNX再構成APIに到達する可能性があると考えています(おそらく、内部Route53ドメイン名を介して、固定IPはありません)使用する必要があります)、リバースプロキシのアップストリームクラスタに自分自身を追加します。その後、NGiNXのビルトインヘルスチェックがその[追加された]インスタンスを引き継ぎ、利用できなくなった場合にドロップします。これは最もクリーンなソリューションと思われ、インスタンスの追加に遅延はありません。NGiNXPlusは帯域外ヘルスチェックを備えているため、インスタンスの削除に遅延はほとんどありません。
このアプローチにより、自動検出システム(Consul、Serfなど)をセットアップする必要がなくなります。これは、小規模なセットアップの場合、セットアップ/管理および必要なEC2インスタンスの両方で多くのオーバーヘッドのように思われます。たとえば、Consulは、安定するために最低3つのインスタンスを必要とします。SerfはおそらくASGインスタンス自体で実行できますが、それを維持するためのオーバーヘッドがまだあり、ASGが1つまたは2つのインスタンスに縮小すると、クォーラムが失われます。
最後に、これは、おそらくロードバランシングに使用されるNGiNXサーバーで、Auto Scaling Groupの変更の自動通知と組み合わせることができます。そのような通知(これはUpendraが参照することもあります)によってトリガーされたリスナーは、On-the-fly変更APIを介して新しいインスタンスをNGiNXに即座に追加できます。NGiNX Plusのコストに加えて、そもそもなぜ多くの問題があるElastic Load Balancerを使用するのか不思議に思われます。
編集2015-12-07:ngx_openrestyのバランサーバイルア(このGitHubスレッドを参照)は、NGiNXアップストリームグループからサーバーをホットアド/削除するための別の可能なオープンソースソリューションを提供します。私はまだこれを実験していませんが、この投稿に出くわした人のためにここに言及を追加したかったです。