ANSネットワーク管理と運用
ある金融機関は、Route 53フェイルオーバールーティングを使用してマルチリージョンのアクティブ/パッシブ構成を実装しています。
プライマリリージョン(us-east-1)のApplication Load Balancerに対してHTTPヘルスチェックを設定していますが、以下の問題が発生しています:
・トラフィックが集中する時間帯に、ALB自体は正常動作しているにもかかわらず /health エンドポイントへのHTTPチェックがタイムアウトし、誤ったフェイルオーバーが発動する
・セカンダリリージョンへの不要なDNS切り替えが繰り返し発生し、ユーザー体験が悪化している
誤ったフェイルオーバーを防ぎながら、真の障害時には確実にフェイルオーバーするための最も適切な対処法はどれですか?
Aヘルスチェックの間隔を30秒から10秒(高速ヘルスチェック)に変更し、障害検知を高速化することで誤検知が発生した際の影響時間を短縮する
チェック間隔を短縮しても、負荷時のHTTPタイムアウトという根本原因は解消されず、むしろ誤検知の頻度が増加する可能性があります。
BALBのターゲットレスポンスタイムとHTTP 5xxエラー率を監視するCloudWatchアラームを作成し、それらを組み合わせた計算済みヘルスチェック(Calculated Health Check)に切り替える
✓ 正解
CloudWatchアラームはALBのレイテンシや5xxエラー率など真のサービス劣化を示すメトリクスに基づくため、一時的なHTTPタイムアウトによる誤作動を防ぎ、本当の障害は確実に検知できます。
CRoute 53ヘルスチェックの連続失敗判定閾値(フェイルオーバーしきい値)を現在の3から10に増やし、一時的なタイムアウトではフェイルオーバーしないようにする
閾値を10に増やすと誤検知は減りますが、真の障害検知も大幅に遅延するトレードオフが発生し、フェイルオーバーの遅延が問題となります。
DRoute 53ヘルスチェックのリクエストタイムアウト値をAWSが許可する最大値に設定し、負荷時のタイムアウトによる誤検知を排除する
タイムアウト値を最大化しても完全なサービス停止の検知が遅延するため、問題の根本解決にはなりません。
解説
CloudWatchアラームを使用したヘルスチェックは、ALBのレイテンシや5xxエラー率など真のサービス劣化を示すメトリクスに基づくため、負荷時の一時的なHTTPタイムアウトによる誤作動を防ぎつつ、本当の障害は確実に検知できます。
Aのチェック間隔を短縮しても誤検知の根本原因(負荷時のHTTPタイムアウト)は解消されず、むしろ誤検知の頻度が上がる可能性があります。
Cの閾値を10に増やすと誤検知は減りますが、真の障害発生時のフェイルオーバーも大幅に遅延するトレードオフが生じます。
Dのタイムアウト値を最大化しても完全なサービス停止の検知が遅延し、問題を根本解決しません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでANSを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →