Q82 — AWS DOP-C02 第3章

第 82/100 問 | ← 第3章

ある企業がレガシーアプリケーションをAWSに移行しようとしています。DevOpsエンジニアは、このレガシーアプリケーションのデプロイ可能なアーティファクトを構築するプロセスを自動化する必要があります。ソリューションは、デプロイ可能なアーティファクトを既存のAmazon S3バケットに保存し、今後のデプロイで参照できるようにしなければなりません。 これらの要件を最も効率的に満たすソリューションはどれですか?

正解: A. レガシーアプリケーションのすべての依存関係を含むカスタムDockerイメージを作成します。このカスタムDockerイメージを新しいAmazon Elastic Container Registry (Amazon ECR)リポジトリに保存します。カスタムDockerイメージを使用してデプロイ可能なアーティファクトを構築し、そのアーティファクトをS3バケットに保存するよう、新しいAWS CodeBuildプロジェクトを設定します。

解説

Amazon CodeBuildは、ソースコードのコンパイル、テストの実行、およびデプロイ可能なソフトウェアパッケージの生成を直接行う完全マネージド型の継続的インテグレーションサービスです。ECRで管理されるカスタムDockerイメージにより、ビルド環境の依存関係を事前にプロビジョニングでき、毎回のビルドで依存関係を再インストールする手間を省けます。CodeBuildは、ビルド結果をS3バケットに出力する機能をネイティブにサポートしています。他の選択肢では、BおよびCはEC2インスタンスの手動管理に依存しており、リソースの無駄や保守コストが発生します。DはEKSクラスターとFargateを導入しており、レガシーアプリケーションの要件に対して過剰なアーキテクチャ複雑度を伴います。正解は、AWSのCI/CDベストプラクティス文書における「マネージドサービスを用いたパイプライン構築」の推奨ソリューションに対応しています。