AWS で ELB のリスナーを変更すると、ECS の接続が適切に排出されますか?

AWS で ELB のリスナーを変更すると、ECS の接続が適切に排出されますか?

私のチームと私は、AWS ECS にブルー/グリーンを実装する最善の方法を考え出そうとしていますが、アプリケーション ロードバランサーに関する 1 つの質問に明確に答えることができないようです。

これまでのところ、私たちの目標を最も満たしていると思われる方法は、ブルー サービスとグリーン サービスを別々のターゲット グループにデプロイし、アプリケーション ロード バランサーのリスナーを更新することです。ただし、実行時間の長いトランザクションがいくつかあり、この記事によると、次のようになります。

詳細はこちら

このブルー/グリーン方式では、接続は正常にドレインされません。しかし、最近別の AWS エンジニアが投稿した記事では、これに反論し、リスナーの変更は新しい着信接続にのみ影響し、したがって正常にドレインされると主張しています。

ELB のリスナーを変更すると実際に何が起こるのか、誰か教えていただけますか?

答え1

あなたがすべきELBをスタックの一部として使用するつまり、1つのELBスタックと1つのELBスタック。

そうすれば、新しいELBに対して完全な受け入れテストを実行することができ、DNSのELB名を置き換えるDNS が変更されても、古い ELB への接続が維持されるため、長時間実行されているセッションには影響しません。

お役に立てれば幸いです :)

答え2

アプリケーションロードバランサーに関する AWS ドキュメントターゲットを登録解除すると、その接続がドレインされる、と記載されています。接続を適切にドレインするために、ターゲット グループ内のターゲットを登録解除することができます。もちろん、これは複数のターゲット グループから選択するほど理想的ではありません。

同じ ELB 内に同じポート プロトコルを持つ複数のリスナーを持つことはできないことにも注意してください。

他のユーザーが回答で述べているように、デプロイメントには別々の ELB を用意し、Route53 でそれらを切り替えてください。この方法では、ルーティング ポリシーを使用して、トラフィックの一部のみを適切な ELB/ターゲット グループ (たとえば、80% を青に、20% を緑に) に簡単に送信できます。

関連情報