👌

【CodePipeline】デプロイプロバイダーで「AWS Lambda」を直接指定できるようになりました

に公開

はじめに

2025年5月16日の公式の発表により、AWS CodePipeline のデプロイプロバイダーでAWS Lambdaが指定できるようになり、Lambda関数の更新が簡単にできるようになりました。また、バージョンやエイリアスも更新・指定ができます。
デプロイ戦略やアラームによるロールバックの構成もできるようになりました。
https://aws.amazon.com/jp/about-aws/whats-new/2025/05/aws-codepipeline-deploying-lambda-traffic-shifting/

今回は簡単にCodeCommitでLambda関数のソースコードをプッシュしておき、CodePipelineで書き換えていきたいと思います。

1.Lambda関数の準備

あらかじめLambda関数を準備しておきます。

2.CodeCommitでソースコードをプッシュ

ここではCodeCommitの設定は省略します。
下記のようなソースコードを作成しました。

lambda_function.py
def lambda_handler(event, context):
    return "Hello from Lambda"

3.CodePipelineの作成

ソースプロバイダーに「CodeCommit」を指定します。

ビルドステージ、テストステージをスキップし、
デプロイステージのデプロイプロバイダーで「AWS Lambda」を選択します。

関数名を指定し、作成します。
また、事前にエイリアスやバージョンの指定がある場合はここで設定ができます。
公式リファレンスも載せておきます。
https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-LambdaDeploy.html

デプロイアクションが実行され、成功しました。

$LATESTのLambda関数も更新されていますね。

バージョンも自動で更新されています。

おわりに

シンプルですが、以上がCodePipelineでLambda関数を更新する方法でした。
以前はbuildspec.ymlにAWS CLIで更新するコードを書いていましたが、今回のアップデートでとても簡単になりました。

「エイリアスを使用してトラフィックシフト機能」を使ったり、「CloudWatch アラームを使ってロールバック」を実装したりもできるそうです。
こちらの方の記事を参考しました。
https://dev.classmethod.jp/articles/codepipeline-deploying-lambda-traffic-shifting/

GitHubで編集を提案

Discussion