Q52 — AWS DOP-C02 第1章
第 52/100 問 | ← 第1章
DevOps エンジニアは、アプリケーションロードバランサー(ALB)の後ろで実行される Amazon EC2 インスタンス上で Web アプリケーションを管理しています。これらのインスタンスは、複数の可用性ゾーンにまたがる EC2 Auto Scaling グループで実行されています。エンジニアは以下のデプロイ戦略を実装する必要があります: 1. 元のインスタンスグループと同じ容量を持つ第 2 のインスタンスグループを起動する。 2. 元のフリートを維持したまま、第 2 のフリートにデプロイする。 3. 第 2 のフリートが完全にデプロイされた後、トラフィックを第 2 のフリートに切り替える。 4. 切り替え後 1 時間で元のフリートを自動終了する。 どの解決策がこれらの要件を満たしますか?
- A. AWS CloudFormation テンプレートを使用し、ALB の保持ポリシーを 1 時間に設定します。新しい ALB を反映するように Amazon Route 53 のレコードを更新します。
- B. 2 つの AWS Elastic Beanstalk 環境を使用して、元の環境から新しい環境へのブルー/グリーンデプロイを実行します。アプリケーションバージョンライフサイクルポリシーを設定して、1 時間以内に元の環境を終了します。
- C. AWS CodeDeploy を使用し、ブルー/グリーンデプロイ構成を持つデプロイグループを設定します。デプロイグループ内の元のインスタンスを終了するオプションを選択し、待機時間を 1 時間に設定します。 ✓
- D. 不変の設定を使用した AWS Elastic Beanstalk を使用します。ALB の削除ポリシーを 1 時間に設定する Resources キーを持つ .ebextensions を作成し、アプリケーションをデプロイします。
正解: C. AWS CodeDeploy を使用し、ブルー/グリーンデプロイ構成を持つデプロイグループを設定します。デプロイグループ内の元のインスタンスを終了するオプションを選択し、待機時間を 1 時間に設定します。
解説
問題文で述べられたデプロイ戦略の要件は、ブルー/グリーンデプロイを実現し、新規デプロイ完了後に元のインスタンスを自動終了させることです。AWS CodeDeploy はブルー/グリーンデプロイ構成をサポートしており、新バージョンのデプロイ中に元のバージョンを維持し、新バージョンの検証が成功した後に設定された待機時間に基づいて元のインスタンスを自動終了できます。これは、「第 2 のフリートが完全にデプロイされた後、トラフィックを第 2 のフリートに切り替える」および「切り替え後 1 時間で元のフリートを自動終了する」という要件に合致します。したがって、選択肢 C が正しい解決策です。