スキップしてコンテンツを表示

ALBターゲットグループ切替におけるドレイニングの効果

0

ALBのリスナーでblue/greenデプロイメント構成を採用しており、リスナールールでweighted forwardを用いて2つのターゲットグループ(blueとgreen)に対して重み付けを設定しています。

切り替え作業として、blueのweightを100→0に、greenのweightを0→100に一気に変更する場合、 既存のblueターゲットグループに設定されているconnection drainingの効果はあるのでしょうか?

具体的には、重みを変更した直後、blueターゲットグループ上の既存コネクションはconnection drainingの期間中維持されますか? それとも、重みを0にした時点で既存コネクションは即時切断されますか?

connection drainingの対象は「ターゲットグループからインスタンスが離脱した場合」にのみ適用されるのか、それとも今回のような重み付け変更による切り替えケースでもドレイニングが適用されるのかを懸念しています。

1回答
0

ALBのweighted forward機能を使用してターゲットグループの重みを変更する場合、connection draining(登録解除の遅延)の効果は適用されません

Connection drainingは、以下のような場合にのみ適用されます:

  • ターゲット(EC2インスタンスなど)がターゲットグループから登録解除される場合
  • ターゲットがヘルスチェックに失敗し、unhealthyステータスになる場合
  • Auto Scalingによってインスタンスが終了される場合

重み付けを変更する場合の動作:

  • blueの重みを100→0に変更すると、新規のリクエストはblueターゲットグループに転送されなくなります
  • しかし、既存のコネクションについては、ターゲット自体がターゲットグループから登録解除されていないため、connection drainingは発動しません
  • 既存のHTTP/HTTPSコネクションは、クライアントまたはターゲットがコネクションを閉じるまで維持されます

重要なポイント: 重みを0にしても、ターゲットグループ内のターゲットは「登録済み」の状態のままです。そのため、既存のコネクションは即座に切断されることはありませんが、connection drainingの保護期間が適用されるわけでもありません。既存コネクションの処理は、アプリケーションレベルのタイムアウト設定やクライアント側の動作に依存します。

安全な切り替えを行うには、重みを段階的に変更する(例:100→50→0)か、十分な時間をかけて既存のコネクションが自然に終了するのを待つことをお勧めします。

回答済み 1ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

関連するコンテンツ