Q100 — AWS DVA-C02 第1章

第 100/100 問 | ← 第1章

開発者は、AWS CodeArtifactおよびAWS CodeBuildを用いた継続的インテグレーション/継続的デリバリー(CI/CD)パイプラインを構築しています。ビルド成果物のサイズは0.5GBから1.5GBの間です。ビルドは頻繁に実行され、毎回CodeArtifactから多数の依存関係を取得しています。依存関係のダウンロードにかかる時間が長いため、ビルド速度が低下しています。開発者は、毎回のビルドで取得する依存関係の数を削減することでビルドパフォーマンスを向上させたいと考えています。この要件を満たす最も適切なソリューションはどれですか?

正解: B. CodeBuildでローカルキャッシュを指定し、buildspec.yamlファイルにCodeArtifactリポジトリ名を追加する。

解説

選択肢A:Amazon S3キャッシュを指定し、buildspec.yamlにパスを追加しても、ビルド成果物(アウトプット)のキャッシュには有効ですが、依存関係のキャッシュには適用されません。選択肢B:CodeBuildのローカルキャッシュを指定し、buildspec.yamlにCodeArtifactリポジトリ名を追加することで、ビルドパフォーマンスが向上します。CodeBuildのローカルキャッシュは依存関係をキャッシュ可能であり、各ビルドでCodeArtifactからダウンロードする量を削減し、ビルド時間を短縮できます。選択肢C:ローカルキャッシュの指定は正しいですが、単にキャッシュフォルダパスをbuildspec.yamlに追加するだけでは、依存関係の効果的なキャッシュは実現できません。キャッシュ対象の明示的な指定が必要です。選択肢D:buildspec.yamlをCodeArtifactから直接取得し、リポジトリ名をファイル内に追加しても、依存関係のダウンロードパフォーマンス改善には直接寄与しません。buildspec.yamlはビルド手順の定義に用いられ、依存関係の最適化には使用されません。したがって、最も適切な解決策は選択肢Bです。これは、CodeBuildのローカルキャッシュを活用して依存関係をキャッシュし、各ビルドにおけるダウンロード量を削減することで、ビルドパフォーマンスを向上させるものです。 【ランタン認定提供:swufelp1999】