AWS Lambdaをバージョン管理してステージごとに実行するLambdaのバージョンを分ける方法

AWS Lambdaをバージョン管理してステージごとに実行するLambdaのバージョンを分ける方法

Lambdaはバージョン管理しておくことができます。

バージョン管理すると$LATESTが最新バージョンのLambdaとなり、このバージョンのみ編集可能で、過去のバージョンは編集できません。

バージョン管理したいLambdaの「アクション」から「新しいバージョンを発行」を押してバージョニングします。

AWS Lambdaをバージョン管理してステージごとに実行するLambdaのバージョンを分ける方法

$LATEST,1

$LATEST,2,1

$LATEST,3,2,1

みたいな感じでバージョニングされます。

AWS Lambdaをバージョン管理してステージごとに実行するLambdaのバージョンを分ける方法

Lambdaをバージョン管理しておくと、API Gatewayのステージごとに同じLambdaの異なるバージョンのLambdaを実行することができるので便利です。

エイリアスの作成

Lambdaをバージョン管理したら、次はエイリアスを作成します。

$LATESTのエイリアスがdev、その次のバージョンがprodにします。

AWS Lambdaをバージョン管理してステージごとに実行するLambdaのバージョンを分ける方法

AWS Lambdaをバージョン管理してステージごとに実行するLambdaのバージョンを分ける方法

AWS Lambdaをバージョン管理してステージごとに実行するLambdaのバージョンを分ける方法

これで、devとprodのエイリアス作成が完了しました。Lambda側での設定は以上です。

AWS Lambdaをバージョン管理してステージごとに実行するLambdaのバージョンを分ける方法

API Gatewayでの設定

統合リクエストでLambda関数の後ろに:${stageVariables.xxx}を付加します。xxxは任意の変数名にします。

AWS Lambdaをバージョン管理してステージごとに実行するLambdaのバージョンを分ける方法

AWS Lambdaをバージョン管理してステージごとに実行するLambdaのバージョンを分ける方法

ここでは、aaaという変数名にしています。Lambda関数が「bbb:${stageVariables.aaa}」となればOKです。

次に各ステージでステージ変数を指定します。ステージ変数名はaaaでそれに対する名前はLambdaで作成したエイリアスを指定します。

dev

AWS Lambdaをバージョン管理してステージごとに実行するLambdaのバージョンを分ける方法

prod

AWS Lambdaをバージョン管理してステージごとに実行するLambdaのバージョンを分ける方法

Invalid permissions on Lambda function

実行して「Invalid permissions on Lambda function」エラーが発生したら以下コマンドで権限を付与してあげる必要があります。

dev

prod

–statement-idに指定する値は任意で結構です。これで各ステージのAPI Gatewayから各Lambdaが実行されるようになります。

Amazon API Gateway ステージ変数の使用

Amazon API Gateway ステージ変数のリファレンス

参考サイト

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA