Q10 — AWS DOP-C02 第3章
第 10/100 問 | ← 第3章
あるDevOpsエンジニアが、AWS上で実行されているソフトウェア・アズ・ア・サービス(SaaS)Webアプリケーション向けに、継続的デプロイ戦略を設計しています。アプリケーションおよびセキュリティ上の理由から、このアプリケーションのサブスクライバーは複数のApplication Load Balancer(ALB)に分散されており、各ALBは専用のAuto ScalingグループおよびAmazon EC2インスタンス群に対応しています。アプリケーションにはビルドステップは不要であり、AWS CodeCommitへのコミット時に、対応するALB、Auto Scalingグループ、およびEC2インスタンス群への同期デプロイがトリガーされます。 これらの要件を満たすために、最も少ない設定で実現できるアーキテクチャはどれですか?
- A. 各ALB-Auto Scalingグループペアに対して個別のAWS CodeDeployアプリケーションおよびデプロイメントグループを作成し、並列デプロイを実行する単一のAWS CodePipelineを作成します。
- B. 単一のAWS CodeDeployアプリケーションおよび単一のデプロイメントグループを使用してアプリケーションをデプロイする単一のAWS CodePipelineを作成します。
- C. 単一のAWS CodeDeployアプリケーションと、各ALB-Auto Scalingグループペアに対して一意のデプロイメントグループを使用して並列デプロイを実行する単一のAWS CodePipelineを作成します。 ✓
- D. 各ALB-Auto Scalingグループペアごとに、同じALB-Auto Scalingグループペア向けに作成されたAWS CodeDeployアプリケーションおよびデプロイメントグループを用いたAWS CodePipelineを作成します。
正解: C. 単一のAWS CodeDeployアプリケーションと、各ALB-Auto Scalingグループペアに対して一意のデプロイメントグループを使用して並列デプロイを実行する単一のAWS CodePipelineを作成します。
解説
AWS CodeDeployでは、1つのアプリケーションに複数のデプロイメントグループを関連付けることが可能です。各デプロイメントグループは異なるALB-Auto Scalingグループペアに対応できます(AWS公式ドキュメント参照)。また、CodePipelineでは、デプロイフェーズにおいて同一CodeDeployアプリケーションの異なるデプロイメントグループを対象とした並列操作を設定できます。選択肢Cは、単一のパイプラインおよびCodeDeployアプリケーションを用い、異なるデプロイメントグループにより並列デプロイを実現しており、最少設定要件を満たします。選択肢Aは複数のアプリケーションが必要であり、選択肢Bはターゲット環境を区別できず、選択肢Dは冗長なパイプライン構成となり、設定量が増加します。