はじめに
CodeBuildネタが続きます。
CodeBuildのアーティファクト保存先にS3を指定した場合、保存された各オブジェクトに x-amz-meta-codebuild-buildarn
というメタデータが付与される。
名前の通りビルドARNが記録される。
例)
x-amz-meta-codebuild-buildarn: arn:aws:codebuild:ap-northeast-1:123456789012:build/production-deploy:12345678-9abc-def1-2345-1234567890ab
静的ウェブサイトホスティングを有効にしてこのファイルにアクセスすると、レスポンスヘッダにこの値がそのまま返されてしまう。
アカウントIDやプロジェクト名がバレてしまうので、できればこれを付与しないようにしたい。
調査結果
私の力ではAWSのドキュメントその他から有益な情報を得ることができなかった。残念。
そのためサポートに確認したところ以下のことが分かった。
- 現時点(2020年4月時点)で、x-amz-meta-codebuild-buildarn メタデータはCodeBuildにより自動で付与される動作となっており、こちらを付与しないように設定することはできない
- 回避策として、アーティファクト出力先をS3に設定するのではなく、buildspec内でaws s3 cp 等で明示的にS3へアップロードすることが考えられる
まとめ
現時点では、静的コンテンツをCodeBuildでS3に配置する場合はbuildspecに自分で書いたほうがいいかなと思いました。
以上です。