Q67 — AWS DOP-C02 第1章
第 67/100 問 | ← 第1章
DevOpsエンジニアが、Application Load Balancerの後ろで実行される新しいアプリケーションのデプロイに関するトラブルシューティングを行っています。これらのEC2インスタンスは、複数の可用性ゾーンにまたがるEC2 Auto Scalingグループ内で実行されています。インスタンスが準備完了前に登録されてしまうため、ユーザーのエラー率が上昇しています。現在のヘルスチェック設定では、インスタンスに60秒の猶予期間が与えられており、パス/index.phpへの200レスポンスコードが返された時点でインスタンスは「健全」とみなされます。しかし、このページはデプロイ中に一時的に応答しない可能性があります。開発チームはインスタンスをできるだけ早く登録したいと考えています。この問題を解決するための最適な戦略は何ですか?
- A. インスタンスの猶予期間を60秒から180秒に増加させ、連続ヘルスチェック要件を2回から3回に増加させる。
- B. インスタンスの猶予期間を60秒から120秒に増加させ、レスポンスコード要件を200から204に変更する。
- C. デプロイ開始時に/health-check.phpファイルを作成するようデプロイスクリプトを修正し、ヘルスチェックパスをそのファイルを指すように変更する。
- D. すべてのタスクが完了した後に/health-check.phpファイルを作成するようデプロイスクリプトを修正し、ヘルスチェックパスをそのファイルを指すように変更する。 ✓
正解: D. すべてのタスクが完了した後に/health-check.phpファイルを作成するようデプロイスクリプトを修正し、ヘルスチェックパスをそのファイルを指すように変更する。
解説
本シナリオでは、インスタンスが準備完了前に登録されることによりユーザーのエラー率が増加しており、主な原因はヘルスチェック設定の不適切さです。開発チームがインスタンスをできるだけ早く登録することを望んでいるため、インスタンスが完全に準備完了した上で登録されるよう保証しつつ、登録遅延を最小限に抑える戦略が必要です。選択肢Aは猶予期間およびヘルスチェック回数を増加させますが、これによりインスタンスの登録が遅延し、かつ登録時の完全な準備状態を保証しません。選択肢Bも猶予期間およびレスポンスコード要件を変更しますが、同様にインスタンスが未準備のまま登録されるリスクを解消しません。選択肢Cはデプロイ開始時にヘルスチェックファイルを作成するため、実際には準備完了していない段階でインスタンスが健全と判断されてしまいます。選択肢Dは、すべてのタスク完了後にヘルスチェックファイルを作成し、ヘルスチェックパスをそのファイルへ変更するようデプロイスクリプトを修正します。これにより、インスタンスが完全に準備完了した後にのみ健全と判断され、登録が可能になります。これは有効かつ開発チームの要件を満たす戦略です。したがって、正解はDです。