この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
はじめに
Lambdaのバージョン管理とエイリアスについてハンズオンを交えて構築をしたいと思います
用語理解
Lambdaのバージョン
バージョンを使用することで、Lambda関数のデプロイを管理することが出来ます。
Lambda関数をデプロイするたびに、新しいバージョンの関数を作成することにより、実稼働中に新しいバージョンの関数を公開することも出来るようになります。
参考URL:AWSドキュメント Lambda 関数のバージョン
Lambdaのエイリアス
エイリアスは、特定のLambda関数のバージョンに対しての別名(AWSではポインタと説明)です。
ユーザーは、エイリアスを使用することでLambda関数のバージョンにアクセスすることが出来ます。
※下記の図では
が紐づいています。v2(バージョン)
に
prpd(エイリアス)
参考URL:AWSドキュメント Lambda 関数のエイリアス
ハンズオン
Lambdaのバージョン発行
Lambdaの構築
Lambdaを構築してデフォルトのコードを
と修正してデプロイするVersion 1!
import json
def lambda_handler(event, context):
# TODO implement
return {
'statusCode': 200,
'body': json.dumps('Version 1!')
}
新しいバージョンを発行
タブ『バージョン』を選択して、『新しいバージョンを発行』を押下する
『v1』のバージョンを発行する
『v1』としてバージョン1を作成する
バージョン:1の画面に遷移する
黒塗り部分にバージョン発行された
を確認する関数のARN
末尾にバージョンのサフィックスが付与されてることがわかる(修飾ARNという)
arn:aws:lambda:ap-northeast-1:XXXXXXXXXXXX:function:tetutetu-lamabda:1
確認後赤枠部分のパンクズリストから、最新のLambdaの画面へ戻る
最新のLambdaの画面へ戻って確認
最新の関数のARNには、末尾にバージョンのサフィックスが付与されていないことがわかる(非修飾ARNという)
arn:aws:lambda:ap-northeast-1:XXXXXXXXXXXX:function:tetutetu-lamabda
が作成されていることを確認するバージョン1
再度同様手順でVersion 2!
をデプロイして、v2を作成する
Version 2!
Lambdaのエイリアスの作成
タブより『エイリアス』を選択し『エイリアスを作成』を押下
エイリアス設定
ここで
を紐づける名前(=エイリアス)
と
バージョン
加重エイリアスについて
加重エイリアスは今回利用していませんが、設定する場合は下記のように
を何割割り当てるかを設定します。エイリアス
に対して、
バージョン
【加重エイリアス_イメージ】
参考URL:AWSドキュメント:エイリアスのルーティング設定
エイリアス:prodの画面に遷移する
赤枠の修飾ARNも下記のような名前となっている
arn:aws:lambda:ap-northeast-1:XXXXXXXXXXXX:function:tetutetu-lamabda:prod
最新のLambdaの画面へ戻って確認
エイリアスを選択して
が作成されていることを確認するprod
さいごに
こちらのLambdaのエイリアス・バージョンを設定することで、別ブログのAPIGatewayのステージごとにエイリアスで指定したLambdaを紐づけハンズオンにも応用が出来ます。
現段階(2022年7月)では、API Gateway経由でのLambdaをバージョン管理する上で利用せざるを得ないですが。。。
もっと幅広く技術に携わっていきたいと思います。
お問い合わせ
協栄情報はソフトウェア開発で培った技術力を活かした、クラウドソリューションによる問題可決や多くの分野におけるソフトウェア開発を中心に、お客様のビジネスを最大限に効率化する仕組みを提供いたします。
お問合せは下記URLから、お気軽に連絡ください。
https://www.cp-info.co.jp/contact/