🚀

AWS CodePipelineでLambdaにECRイメージの自動デプロイ

2023/12/15に公開

ググっても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