AWS Lambda
開発者ガイド

AWS Lambda 関数のバージョニングとエイリアス

バージョニングを使用すると、AWS Lambda での本稼働環境内の関数コードの管理が向上します。AWS Lambda でバージョニングを使用すると、Lambda 関数の 1 つまたは複数のバージョンを発行できます。その結果、開発、ベータ、本稼働といった開発ワークフローにおいて異なるバリエーションの Lambda 関数で作業できます。

各 Lambda 関数のバージョンには、一意の Amazon リソースネーム(ARN)があります。公開後にバージョンを変更することはできません。

AWS Lambda は各 Lambda 関数バージョンごとのエイリアスの作成もサポートしています。概念的には、AWS Lambda エイリアスは Lambda 関数の特定のバージョンに対するポインタのようなものです。また、Lambda 関数に似ているリソースでもあり、各エイリアスには一意の ARN があります。各エイリアスは、それが指す関数のバージョンの ARN を維持しています。エイリアスは関数バージョンのみを指すことができ、別のエイリアスを指すことはできません。バージョンとは異なり、エイリアスは変更できます。関数の異なるバージョンを指すようにエイリアスを更新できます。

エイリアスを使用して、Lambda 関数バージョンのマッピングおよびそのイベントソースから、Lambda 関数の新しいバージョンを本稼働環境に移行するプロセスを抽出できます。

たとえば、Amazon S3 が新しいオブジェクトがバケットに作成された場合に Lambda 関数を呼び出すイベントソースだとします。Amazon S3 がイベントソースである場合、イベントソースのマッピング情報はバケットの通知設定に保存されます。その設定では、Amazon S3 が呼び出すことができる Lambda 関数の ARN を特定することができます。ただし、この場合、Lambda 関数の新しいバージョンを発行するたびに、Amazon S3 が正しいバージョンを呼び出すことができるように通知設定を更新する必要があります。

それに対して、通知設定で関数 ARN を指定する代わりに、エイリアス ARN を指定するとします (たとえば、PROD エイリアス ARN)。Lambda 関数の新しいバージョンを本稼働環境に移行したら、PROD エイリアスを更新して最新の安定バージョンを示すことのみが必要となります。Amazon S3 の通知設定を更新する必要はありません。

Lambda 関数を以前のバージョンにロールバックする必要がある場合も同様です。このシナリオでは、PROD エイリアスを別の関数バージョンを指すように更新するだけです。イベントソースマッピングを更新する必要はありません。

複数の依存関係や開発者が関わるアプリケーションを構築する際は、バージョニングおよびエイリアスを使用して Lambda 関数をデプロイすることをお勧めします。