Q90 — AWS DOP-C02 第1章
第 90/100 問 | ← 第1章
あるDevOpsエンジニアが、AWS上で稼働するソフトウェア・アズ・ア・サービス(SaaS)Webアプリケーション向けに継続的デプロイ戦略を設計しています。アプリケーションおよびセキュリティ上の理由から、このアプリケーションのサブスクライバーは複数のアプリケーションロードバランサー(ALB)に分散されており、各ALBは専用のAuto ScalingグループおよびAmazon EC2インスタンス群に接続されています。このアプリケーションにはビルドステップは不要であり、AWS CodeCommitにプッシュされた時点で、該当するALB、Auto ScalingグループおよびEC2インスタンス群に対して同期デプロイがトリガーされます。 これらの要件を最小限の設定で満たすアーキテクチャはどれでしょうか?
- A. 各ALB-Auto Scalingグループペアごとに一意のAWS CodeDeployアプリケーションおよびデプロイメントグループを作成し、それらを並列でデプロイする単一のAWS CodePipelineパイプラインを作成します。
- B. 単一のAWS CodePipelineパイプラインを作成し、単一のAWS CodeDeployアプリケーションおよび単一のデプロイメントグループを使用してアプリケーションをデプロイします。
- C. 単一のAWS CodePipelineパイプラインを作成し、単一のAWS CodeDeployアプリケーションと各ALB-Auto Scalingグループペアごとの一意のデプロイメントグループを使用して、並列でアプリケーションをデプロイします。 ✓
- D. 各ALB-Auto Scalingグループペアごとに、同一のALB-Auto Scalingグループペア向けに作成されたAWS CodeDeployアプリケーションおよびデプロイメントグループを使用してアプリケーションをデプロイするための個別のAWS CodePipelineパイプラインを作成します。
正解: C. 単一のAWS CodePipelineパイプラインを作成し、単一のAWS CodeDeployアプリケーションと各ALB-Auto Scalingグループペアごとの一意のデプロイメントグループを使用して、並列でアプリケーションをデプロイします。
解説
複数のALB、Auto ScalingグループおよびEC2インスタンス群に対する同期デプロイを要し、かつビルドステップが不要な要件において、選択肢Cは単一のAWS CodePipelineパイプラインを用い、単一のAWS CodeDeployアプリケーションと各ALB-Auto Scalingグループペアごとの一意のデプロイメントグループを並列で使用することで、同期デプロイを実現しつつ、他の選択肢と比較して設定が最も簡素です。選択肢Aは各ペアごとに一意のCodeDeployアプリケーションとデプロイメントグループを作成するため設定が複雑です。選択肢Bは単一のデプロイメントグループでは各グループの固有要件を満たせません。選択肢Dは各ペアごとに別々のパイプラインを作成するため、パイプライン数が過剰となり設定が煩雑です。したがって、選択肢Cが最少設定で要件を満たします。