Q81 — AWS DOP-C02 第3章
第 81/100 問 | ← 第3章
DevOps エンジニアは、既存の 3 層アプリケーションに対してブルー/グリーンデプロイを設定する必要があります。このアプリケーションは Amazon EC2 インスタンス上で実行され、Amazon RDS データベースを使用しています。EC2 インスタンスは Application Load Balancer (ALB) の背後で実行され、Auto Scaling グループに属しています。 DevOps エンジニアは、ブルー環境用の起動テンプレートおよび Auto Scaling グループを作成しました。また、グリーン環境用の起動テンプレートおよび Auto Scaling グループも作成しました。各 Auto Scaling グループは、対応するブルーまたはグリーンのターゲットグループにデプロイされます。ターゲットグループは、EC2 インスタンス上でどのソフトウェア(ブルーまたはグリーン)をロードするかを指定します。ALB は、ブルー環境のターゲットグループまたはグリーン環境のターゲットグループにトラフィックを送信するように設定できます。www.example.com の Amazon Route 53 レコードは ALB を指しています。 デプロイでは、ブルー環境の EC2 インスタンス上で実行されているソフトウェアへのトラフィックを、グリーン環境の EC2 インスタンス上で新規デプロイされたソフトウェアに完全に切り替える必要があります。
- A. グリーン環境の Auto Scaling グループのローリング再起動を開始し、グリーン環境の EC2 インスタンスに新ソフトウェアをデプロイします。ローリング再起動完了後、AWS CLI コマンドを使用して ALB を更新し、トラフィックをグリーン環境のターゲットグループに送信します。 ✓
- B. AWS CLI コマンドを使用して ALB を更新し、トラフィックをグリーン環境のターゲットグループに送信します。その後、グリーン環境の Auto Scaling グループのローリング再起動を開始し、グリーン環境の EC2 インスタンスに新ソフトウェアをデプロイします。
- C. 起動テンプレートを更新し、グリーン環境のソフトウェアをブルー環境の EC2 インスタンスにデプロイします。両環境のターゲットグループおよび Auto Scaling グループは変更せず、ブルー環境の EC2 インスタンスのローリング再起動を実行します。
- D. グリーン環境の Auto Scaling グループのローリング再起動を開始し、グリーン環境の EC2 インスタンスに新ソフトウェアをデプロイします。ローリング再起動完了後、Route 53 DNS を更新して ALB のグリーン環境エンドポイントを指すようにします。
正解: A. グリーン環境の Auto Scaling グループのローリング再起動を開始し、グリーン環境の EC2 インスタンスに新ソフトウェアをデプロイします。ローリング再起動完了後、AWS CLI コマンドを使用して ALB を更新し、トラフィックをグリーン環境のターゲットグループに送信します。
解説
AWS ドキュメントおよびベストプラクティスによると、ブルー/グリーンデプロイでは、まず新環境(グリーン)に新ソフトウェアを完全にデプロイし、正常動作を確認した後、ALB のトラフィックルーティングを切り替えることが推奨されます。選択肢 A は、グリーン環境のインスタンスを完全に準備した後、ALB を通じてトラフィックを切り替える正しい順序を踏んでおり、ダウンタイムを最小限に抑え、安全性を確保します。選択肢 B は、ソフトウェアがまだデプロイされていない状態でトラフィックを切り替えるため、障害を引き起こす可能性があります。選択肢 C はブルー/グリーンの概念に反し、環境の分離を無効にします。選択肢 D は Route 53 を経由する不必要なレイテンシとキャッシュ問題を招くため、ALB を通じたトラフィック切り替えが最適です。