Q48 — AWS DOP-C02 第1章

第 48/100 問 | ← 第1章

ある企業には多数のアプリケーションがあります。企業の異なるチームがさまざまな言語およびフレームワークを使用してアプリケーションを開発しています。これらのアプリケーションは、ローカルおよび異なるサーバー上で実行され、異なるオペレーティングシステムを使用しています。各チームには独自のリリースプロトコルおよびプロセスがあります。企業は、これらのアプリケーションのリリースおよび保守の複雑さを軽減したいと考えています。 企業は、これらのアプリケーションを含む技術スタック全体をAWSに移行しようとしています。企業は、ソースコードの集中管理、一貫した自動化デリバリーパイプライン、および可能な限り最小限の下位インフラストラクチャ保守タスクを望んでいます。

正解: D. 各アプリケーションに対して個別のAWS CodeCommitリポジトリを作成します。AWS CodeBuildを使用して、Amazon Elastic Container Registry(Amazon ECR)内の各アプリケーションに対してDockerイメージをビルドします。AWS CodeDeployを使用して、アプリケーションをAWS Fargateが管理するインフラストラクチャ上のAmazon Elastic Container Service(Amazon ECS)にデプロイします。

解説

本問は、AWS上で集中ソースコード管理、自動化デリバリー、および下位インフラストラクチャ保守タスクの最小化を実現するソリューションを選択するものです。AWSドキュメントによると、コンテナ化(Dockerなど)とサーバーレスインフラストラクチャ(Fargateなど)を組み合わせることで、EC2インスタンスの管理を回避し、保守負担を軽減できます。選択肢Dでは、各アプリケーションが独立したリポジトリを持つことでチームごとの要件を満たし、CodeBuildによるコンテナイメージのビルドは環境の一貫性を保証します。ECRはイメージを保存し、FargateがECSコンテナを管理するためサーバー管理が不要となり、CodeDeployによる自動デプロイは集中制御、自動化パイプライン、および最小限のインフラストラクチャ保守という要件を満たします。他の選択肢は集中サーバーまたはEC2管理を含むため、インフラストラクチャ保守の最小化という目標に反します。