Q58 — AWS DOP-C02 第3章
第 58/100 問 | ← 第3章
ある企業が、密閉された本番環境で3層Webアプリケーションを実行しており、このアプリケーションは単一のAWS CloudFormationテンプレートに基づいて構築されています。このテンプレートは、ELB Application Load Balancerの後ろに配置されたAmazon EC2インスタンスで構成されています。これらのインスタンスは、複数の可用性ゾーンにまたがるEC2 Auto Scalingグループで実行されています。データストアは、マルチAZ構成のAmazon RDSデータベースインスタンスであり、読み取り専用レプリカを備えています。Amazon Route 53がアプリケーションのパブリックDNSレコードを管理しています。 DevOpsエンジニアは、新しいアプリケーションソフトウェアのデプロイ時に障害が発生した場合に、本番環境への影響を最小限に抑え、迅速なロールバックを可能にするワークフローを作成する必要があります。 エンジニアは、これらの要件を満たすために、最も短いダウンタイムで実行すべき手順は何ですか?
- A. CloudFormationを使用して追加のステージング環境を展開し、Route 53 DNSに加重レコードを設定します。切り替え期間中に、Route 53のAレコードの加重値を変更して、2つの環境間でトラフィックを均等に分配します。新環境でのトラフィックを検証し、テストが成功した場合、直ちに旧環境を終了します。
- B. 単一のAWS Elastic Beanstalk環境を使用してステージングおよび本番環境を展開します。新しいアプリケーションコードを含むZIPファイルをアップロードして環境を更新します。Elastic Beanstalk環境のCNAMEを交換します。新環境でのトラフィックを検証し、テストが成功した場合、直ちに旧環境を終了します。
- C. 単一のAWS Elastic Beanstalk環境とAWS OpsWorks環境を使用してステージングおよび本番環境を展開します。OpsWorksスタックでデプロイされたElastic Beanstalk環境に、新しいアプリケーションコードを含むZIPファイルをアップロードして環境を更新します。新環境でのトラフィックを検証し、テストが成功した場合、直ちに旧環境を終了します。
- D. AWS CloudFormationを使用して追加のステージング環境を展開し、Route 53 DNSに加重レコードを設定します。切り替え期間中、ワークロードの正常動作を確認しながら、徐々に加重値を増加させ、より多くのトラフィックを新しいステージング環境に振り向けます。新しいステージング環境がすべてのトラフィックを処理するまで、旧の本番環境を維持します。 ✓
正解: D. AWS CloudFormationを使用して追加のステージング環境を展開し、Route 53 DNSに加重レコードを設定します。切り替え期間中、ワークロードの正常動作を確認しながら、徐々に加重値を増加させ、より多くのトラフィックを新しいステージング環境に振り向けます。新しいステージング環境がすべてのトラフィックを処理するまで、旧の本番環境を維持します。
解説
このシナリオでは、DevOpsエンジニアはデプロイ失敗時のロールバックを可能にするワークフローを構築する必要があります。この要件を満たす最適なソリューションは、AWS CloudFormationで追加のステージング環境を展開し、Route 53の加重レコードを用いてトラフィック配分を制御することです。この手法により、エンジニアは新環境への完全なトラフィック移行前に、その環境で変更内容を検証できます。新環境の動作が良好であれば、段階的にトラフィック割合を増やし、旧環境のトラフィックを減らすことができます。万が一新環境に問題が発生した場合、即座にトラフィックを旧環境へ戻すことで、シームレスなロールバックが可能です。したがって、選択肢Dが正しい答えです。