🚀
AWS CodePipelineでLambdaにECRイメージの自動デプロイ
ググってもCloudFormationを使用したものしか見つからず、もう少しシンプルにしたかったため、以下の方法で実現しました。
背景
- コンテナイメージ形式のLambdaをAWS CodePipelineで最新バージョンに変更したい
- Lambdaは既に作成済みで、コンテナイメージはECRを参照する
- デプロイにCloudFormationやS3を使わずに、CodeXxxxxで完結したい
構築
ECRにイメージをpushするところまでは省略
それ以外も本件に無関係な部分は省略
CodeBuild
Buildspec
version: 0.2
phases:
build:
commands:
- aws lambda update-function-code --function-name 【Lambda関数名】 --image-uri 【ECRイメージURI】:latest
IAM
↑のCodeBuildのビルドプロジェクトで生成したポリシーに以下を追加
{
"Effect": "Allow",
"Resource": [
"【対象のLambdaのARN】"
],
"Action": [
"lambda:UpdateFunctionCode"
]
}
CodePipeline
CodeBuildのアクションを追加
Discussion