Codebuild上でクレデンシャルが必要なコマンドを実行したい

AWS運用自動化サービス「Cloud Automator」

こんにちは、技術1課の岩本です。
Codebuild大好き。某メガネのCM風で始まりました今回ですが、
Codebuildは柔軟に色々なコマンドが実行できるので、便利なサービスです。

今回は、Codebuild上でコマンドを実行する際に、クレデンシャルを取得する方法を記載します。

まず結論から

buildspec.ymlには以下のように記載します。
(コマンドの実行に必要なRoleは事前にCodebuildProject自体に付与しておいてください)

解説

  • クレデンシャル取得には、以下のコマンドが必要となります、DockerImageに含まれていない場合は、Codebuild上でインストールします。
    • curl
    • awscli
    • jq
  • 169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI にアクセスしMetaDataを取得します。
  • MetaDataはJson形式のため、Jqコマンドを使って必要な情報を取得します。

まとめ

上記を利用することで、PackerTerraformまた、CodenizeToolをパイプラインの一部として利用ができます。

ぜひご活用ください。

AWS運用自動化サービス「Cloud Automator」