DOP弾力性に優れたクラウドソリューション
あるSaaS企業はus-east-1でALB → ECS(Fargate)→ Aurora の3層構成を運用しています。カオスエンジニアリング演習中に、ECSタスクの50%を強制終了したところ、ALBが応答不可のタスクにトラフィックをルーティングし続け、ユーザーに502エラーが発生し続けることがわかりました。この問題を最も効果的に解決する設定変更はどれですか?
AALBターゲットグループのヘルスチェック間隔を短縮し、失敗閾値を引き下げ、登録解除遅延を現在の300秒から30秒に短縮する
✓ 正解
ALBターゲットグループの登録解除遅延のデフォルト300秒では、タスク終了後もその間トラフィックが送られ502エラーが発生します。ヘルスチェック間隔の短縮と失敗閾値の引き下げで障害タスクの検出を高速化し、登録解除遅延を30秒程度に短縮することで迅速にターゲットから除外できます。
BECSサービスの deploymentConfiguration で minimumHealthyPercent を100%に設定する
「minimumHealthyPercent」は、デプロイ時の保護設定であり、実行中タスクの強制終了後の挙動には影響しません。
CECSタスク定義にDOCKER形式のコンテナヘルスチェックを追加し、ALBヘルスチェックと二重確認する
「Dockerコンテナヘルスチェック」は、ECSスケジューラーへの情報提供であり、ALBのルーティング決定には直接影響しません(ALBは独自のHTTPヘルスチェックで判断します)。
DALBからNLBに切り替えてTCPヘルスチェックを使用し、アプリケーション層の誤検知を防ぐ
「NLB」は、TCPレイヤーのチェックのみでHTTP 502の検出精度が低く、アプリケーション層の問題に対応しにくいです。
解説
ALBターゲットグループの登録解除遅延のデフォルト300秒では、タスク終了後もその間トラフィックが送られ502エラーが発生します。ヘルスチェック間隔の短縮と失敗閾値の引き下げで障害タスクの検出を高速化し、登録解除遅延を30秒程度に短縮することで迅速にターゲットから除外できます。
選択肢Bの「minimumHealthyPercent」は、デプロイ時の保護設定であり、実行中タスクの強制終了後の挙動には影響しません。
選択肢Cの「Dockerコンテナヘルスチェック」は、ECSスケジューラーへの情報提供であり、ALBのルーティング決定には直接影響しません(ALBは独自のHTTPヘルスチェックで判断します)。
選択肢Dの「NLB」は、TCPレイヤーのチェックのみでHTTP 502の検出精度が低く、アプリケーション層の問題に対応しにくいです。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →