ある企業のAWS CodeBuildプロジェクトではJavaアプリケーションのビルドにMaven(Javaのビルド・依存関係管理ツール)を使用しており、毎回Mavenセントラルリポジトリから依存関係(~/.m2ディレクトリ)をダウンロードするためビルドに25分かかっています。DevOpsエンジニアはCodeBuildのキャッシュ機能を使用してビルド時間を短縮しようとしています。このシナリオにおけるキャッシュオプションの正しい説明を2つ選択してください。
選択肢Aは、LOCAL_CUSTOM_CACHEモードで指定ディレクトリ(~/.m2等)をビルドホスト上にキャッシュし、同じホストで実行される場合に高速化が期待できます。ただしベストエフォートであり、異なるホストではキャッシュが再利用されません。 選択肢Bは、S3キャッシュはビルド環境をまたいで確実にキャッシュを共有でき、安定したキャッシュヒットが期待できます。ただし転送コストとストレージコストが発生します。 選択肢Cは、LOCAL_SOURCE_CACHEはGitソースコードのキャッシュ専用であり、Mavenの依存関係には対応しません。 選択肢Dは、LOCAL_DOCKER_LAYER_CACHEはDockerイメージレイヤーのキャッシュ専用であり、Mavenの依存関係には対応しません。 選択肢Eは、S3キャッシュには通常のS3ストレージ料金とデータ転送費用が実際に発生するため、追加コストが発生しないという記述は誤りです。