あるチームがAWS CodeBuildのビルドキャッシュを設定してビルド時間を短縮しようとしている。CodeBuildがサポートするキャッシュの種類として正しいものを2つ選択してください。
- A. ローカルキャッシュ:ビルドホスト上にDockerレイヤー・ソースディレクトリ・カスタムディレクトリをキャッシュする
- B. Amazon ElastiCache キャッシュ:Redisクラスターにビルド依存関係をキャッシュする
- C. Amazon S3 キャッシュ:ビルドアーティファクトをS3バケットに保存して次のビルドで再利用する
- D. AWS Lambda キャッシュ:Lambda関数を使ってビルド中間ファイルを一時保存する
- E. EFS キャッシュ:Amazon EFSをビルドホストにマウントして複数ビルド間でファイルを共有する
解答と解説を見る
正解: A, C
CodeBuildがサポートするキャッシュの種類はS3キャッシュとローカルキャッシュの2種類である。S3キャッシュはビルド中の依存関係や中間ファイルをS3に保存し、次のビルドでダウンロードして再利用する。複数のビルドホスト間で共有できるが、S3へのダウンロード時間が発生する。ローカルキャッシュはビルドホスト上にDockerレイヤー・ソースコード・カスタム指定ディレクトリをキャッシュする方式で、同じホストで連続ビルドする場合に高速に機能する。ただしホストが変わるとキャッシュは利用できない。BのElastiCacheはCodeBuildのキャッシュ方式として存在しない。DのLambdaキャッシュというCodeBuild機能は存在しない。EのEFSキャッシュはCodeBuildの公式キャッシュオプションには含まれていない(EFSを環境にマウントすることはできるが、ビルドキャッシュ設定としてはサポートされない)。
📚 関連サービスの解説: Amazon S3