Q79 — AWS DOP-C02 第3章
第 79/100 問 | ← 第3章
ある会社は多数のアプリケーションを運用しています。異なるチームがさまざまな言語およびフレームワークを使用してアプリケーションを開発しており、これらはローカルおよび異なるオペレーティングシステムを搭載した複数のサーバー上で実行されています。各チームは独自のリリースプロトコルおよびプロセスを持っています。この会社は、これらのアプリケーションのリリースおよび保守の複雑さを軽減したいと考えています。 この会社は、これらのアプリケーションを含む技術スタック全体を AWS へ移行中です。同社は、ソースコードの集中管理、一貫性および自動化されたデリバリーパイプライン、そして可能な限り少ない下位インフラストラクチャの保守作業を望んでいます。
- A. すべてのアプリケーションに対して 1 つの AWS CodeCommit リポジトリを作成します。各アプリケーションのコードを異なるブランチに配置します。ブランチをマージし、AWS CodeBuild を使用してアプリケーションをビルドします。AWS CodeDeploy を使用して、集中管理されたアプリケーションサーバーにアプリケーションをデプロイします。
- B. 各アプリケーションに対して個別の AWS CodeCommit リポジトリを作成します。AWS CodeBuild を使用して 1 つのアプリケーションを一度にビルドします。AWS CodeDeploy を使用して、集中管理されたアプリケーションサーバーにアプリケーションをデプロイします。
- C. 各アプリケーションに対して個別の AWS CodeCommit リポジトリを作成します。AWS CodeBuild を使用して 1 つのアプリケーションを一度にビルドし、各サーバー用に AMI を作成します。AWS CloudFormation StackSets を使用して、これらの AMI を用いて Amazon EC2 インスタンスの自動構成および停止を実行します。
- D. 各アプリケーションに対して個別の AWS CodeCommit リポジトリを作成します。AWS CodeBuild を使用して、各アプリケーションの Docker イメージを Amazon Elastic Container Registry (Amazon ECR) にビルドします。AWS CodeDeploy を使用して、AWS Fargate が管理するインフラストラクチャ上の Amazon Elastic Container Service (Amazon ECS) にアプリケーションをデプロイします。 ✓
正解: D. 各アプリケーションに対して個別の AWS CodeCommit リポジトリを作成します。AWS CodeBuild を使用して、各アプリケーションの Docker イメージを Amazon Elastic Container Registry (Amazon ECR) にビルドします。AWS CodeDeploy を使用して、AWS Fargate が管理するインフラストラクチャ上の Amazon Elastic Container Service (Amazon ECS) にアプリケーションをデプロイします。
解説
AWS CodeCommit で各アプリケーションごとに個別のリポジトリを作成し、CodeBuild を使用して各アプリケーションの Docker イメージを Amazon ECR にビルドします。その後、AWS CodeDeploy を使用して、AWS Fargate が管理する Amazon ECS 上にアプリケーションをデプロイします。これにより、ソースコードの集中管理、一貫性および自動化されたデリバリーパイプライン、および下位インフラストラクチャの保守作業の最小化が実現されます。