数年前からそのような懸念があったようです。潜在的な問題のいくつかを説明している次の興味深い記事を読むことができます: Elastic Load Balancer: An Elasticity Gotcha
- 新しい ELB IP が ELB プールに追加されます。古い DNS エントリを保持している別のアプリケーションのクライアントが、アプリケーションにヒットします。
問題は、DNS 解決がインターネット上の多くのレイヤーでキャッシュされることです。ELB がスケールアップしてグローバル プールから新しい仮想アプライアンス IP アドレスを取得すると、どこかのクライアントが別の ELB の DNS 名の解決としてその IP アドレスをまだ使用している可能性があります。この他の ELB は、あなたのものではないかもしれません。数時間前、別の DNS 名を持つ別の ELB が DNS ルックアップからその IP アドレスを返しました。これで、その IP アドレスが ELB にサービスを提供しています。しかし、どこかのクライアントがまだその IP アドレスを使用して、あなたのものではないアプリケーションに到達しようとしている可能性があります。
- ELB IP は ELB プールから削除され、他のアプリケーションの ELB プールに割り当てられます。古い DNS エントリを保持しているクライアントは、最終的にその他のアプリケーションにヒットします。
ELB がスケールダウンし、仮想アプライアンスの IP アドレスを解放してグローバル プールに戻すと、逆のことが起こります。どこかのクライアントが、ELB の DNS 名を現在放棄されている IP アドレスに解決し続ける可能性があります。アドレスがプールに返されると、そのクライアントがサービスに接続しようとしても失敗します。その同じ仮想アプライアンス IP が別の ELB で使用される場合、ELB DNS 名のキャッシュされているが現在ではなくなった DNS 解決で動作するクライアントは、他の ELB 仮想アプライアンスに転送され、その後、次から次へと転送されます。 -あなたのものではないインスタンスを終了します。
さて、この記事は 2009 年のもので、2010 年 3 月の時点で、Amazon はこの懸念に部分的に対処しています。
ELB の IP アドレスは、ELB の DNS プールから引き出された後も 1 時間、トラフィックを ELB に転送し続けます。
DNS エントリを長期間キャッシュする一部のクライアントは、引き続き影響を受ける可能性があることに注意してください。