Q60 — AWS DOP-C02 第1章
第 60/100 問 | ← 第1章
開発エンジニアは、AWS CodeBuildを使用してソフトウェアパッケージをビルドしています。コードビルドプロジェクトは、複数のビルドで再利用可能なDockerイメージを構築します。 開発エンジニアは、ビルドパフォーマンスを向上させ、コストを最適化したいと考えています。 これらの要件を満たすソリューションはどれですか?
- A. Amazon Elastic Container Registry(Amazon ECR)リポジトリにDockerイメージを保存します。CodeBuildでローカルDockerレイヤーキャッシュを有効にします。 ✓
- B. 複数のビルドホストで利用可能なAmazon S3バケットにDockerイメージをキャッシュします。S3ライフサイクルポリシーを使用してキャッシュを無効化します。
- C. Amazon Elastic Container Registry(Amazon ECR)リポジトリにDockerイメージを保存します。CodeBuildプロジェクトのランタイム構成を変更し、常に最新のイメージバージョンを使用するようにします。
- D. キャッシュを含むDockerイメージを含むカスタムAMIを作成します。CodeBuildビルドで、カスタムAMIからAmazon EC2インスタンスを起動します。
正解: A. Amazon Elastic Container Registry(Amazon ECR)リポジトリにDockerイメージを保存します。CodeBuildでローカルDockerレイヤーキャッシュを有効にします。
解説
AWS CodeBuildプロジェクトにおいて、Amazon ECRにDockerイメージを保存することで、繰り返しのアップロード・ダウンロードを回避できます。また、ローカルDockerレイヤーキャッシュを有効にすると、既存のイメージレイヤーを再利用でき、ビルド時間とネットワーク転送コストを削減し、パフォーマンス向上とコスト最適化を実現します。選択肢BのS3キャッシュは、コンテナイメージの階層構造には不適切です。選択肢Cの「最新バージョン」使用は、キャッシュの無効化を招きかねません。選択肢DのEC2インスタンス使用は、管理コストと起動時間を増加させます。ECRとローカルキャッシュの組み合わせは、コンテナイメージ管理の特性に合致し、キャッシュ機構を効果的に活用します。