0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AMS Lambdaでのバージョン管理

Last updated at Posted at 2020-09-07

はじめに

AWS Lambdaではバージョン管理を設定できます。
本記事では、バージョン管理の恩恵と設定方法を紹介したいと思います。

※掲載するコンソールのデザインは執筆時点のイメージとなります。

バージョン管理とは

文字と通りの意味合いで、Lambdaにデプロイしたモジュールのバージョンを管理します。
Lambdaインスタンスを作成したばかりのデフォルトではバージョン管理を行う設定になっていません。
そのため、デプロイする度に最新のモジュールがLambdaの実行モジュールになります。

バージョン管理での恩恵

バージョン管理を行うことで以前デプロイしたモジュールの動作を簡単に確認することが可能です。
例えば、実際の開発ではコード修正⇒ビルド⇒デプロイ⇒動作確認を何度も行うかと思います。
そんな時、最新のデプロイモジュールの動作と以前デプロイしたモジュールの動作を比較したケースなどがあるかと考えられます。
バージョン管理をしていない場合、コード修正⇒ビルド⇒デプロイ⇒動作確認のフローを都度実施しなければなりませんが、バージョン管理を行っていればAWSのコンソール上で簡単に以前のモジュールに切り替えて動作を確認することが可能です。

■バージョン管理を行っていない場合
lambda.png

■バージョン管理を行っている場合
lambda-managed-version.png

バージョン管理の設定方法

では、AWS上でどのようにすればバージョン管理を行うことが可能か説明します。
サンプルとしてPythonのhello-worldを使用してバージョン管理が行われていることを確認します。

1. 初期状態

image.png
image.png

2. バージョン1を発行する

メニューの「アクション」 >「 新規バージョンを発行」からバージョンを発行します。
image.png

モーダルダイアログにてバージョンの説明を入力してます。
「発行」ボタンを押下することでバージョンが発行されます。
※発行されるバージョン番号は1から自動的に採番されます。
 開発者が任意に設定することはできません。
image.png

発行するバージョンはLATEST(Lambdaにデプロイしている最新モジュール)からしか行なえません。
そのため、一番最新のバージョンとLATESTの実行結果は同じになります。
試しにバージョン1を実行してみるとLATESTの実行結果と同じになることが確認できると思います。
image.png

2. バージョン2を発行する

次にバージョン1のコードを修正してバージョン2を発行したいと思います。
まずはLambdaのメニューからバージョンをLATESTに変更します。
※画面上にも表示されていますが、バージョン発行したコードの編集は行えません。
 コードの編集はLATESTからのみ可能です。
image.png

return "function version 1"の部分をreturn "function version 2"に変更します。
image.png

コードを保存したら「2. バージョン1を発行する」と同じ手順で新規バージョンを発行します。
image.png

この状態で実行すると編集した内容が返却されることが確認できます。
image.png

3. バージョンの切り替え

バージョンの切り替えはLambdaメニュー上のバージョンから切り替えます。
バージョンを1に戻して実行すると編集前の結果が返却されることが確認できます。
image.png
image.png

おわりに

以上でバージョン管理について説明させていただきました。。。がこれだけでは今ひとつメリットを感じられないかもしれません。
実はこのバージョン管理機能はエイリアスと組み合わせることで効力を十分に発揮します。

詳細については別途執筆したいと思います。
お付き合いいただきありがとうございました。

ではまた。:sparkles:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?