AWS Lambda
開発者ガイド

AWS Lambda エイリアスの紹介

Lambda 関数の 1 つ以上のエイリアスを作成できます。AWS Lambda エイリアスは Lambda 関数の特定のバージョンに対するポインタのようなものです。バージョニングの詳細については、「AWS Lambda バージョニングの紹介」を参照してください。

エイリアスを使用することで、呼び出し元はエイリアスが指す特定のバージョンがどれかを知らなくても、それが指す Lambda 関数にアクセス (たとえば、関数の呼び出し) できます。

AWS Lambda エイリアスによって、以下のユースケースが可能となります。

  • 必要に応じた Lambda 関数の新しいバージョンへの移行またはロールバックが容易 – Lambda 関数を作成した後 ($LATEST バージョン)、最初にそのバージョン 1 を発行できます。バージョン 1 を指す PROD という名前のエイリアスを作成することで、PROD エイリアスを使用して Lambda 関数のバージョン 1 を呼び出すことができます。

    次に、コード($LATEST バージョン)を改良して更新し、別の安定した改良バージョン(バージョン 2)を発行します。PROD エイリアスをバージョン 2 を指すように再マッピングすることで、バージョン 2 を本稼働環境に移行できます。何か問題が出た場合は、PROD エイリアスがバージョン 1 を指すように再マッピングすることで、簡単に本稼働バージョンをロールバックできます。

  • イベントソースマッピングの管理を簡略化 – イベントソースマッピングで Amazon リソースネーム (ARN) を Lambda 関数に使用する代わりに、エイリアス ARN を使用できます。この方法では、新しいバージョンの昇格時または以前のバージョンへのロールバック時にイベントソースマッピングを更新する必要がありません。

Lambda 関数およびエイリアスは AWS Lambda リソースであり、他のすべての AWS リソースのように、どちらにも一意の ARN があります。次の例は、1 つの発行済みバージョンを持つ Lambda 関数($LATEST バージョン)を示しています。各バージョンには、それを指すエイリアスがあります。

関数 ARN またはエイリアス ARN のいずれかを使用して関数にアクセスできます。

  • 修飾関数の関数バージョンは常に $LATEST にマップされるため、修飾 ARN または非修飾関数 ARN を使用してアクセスできます。$LATEST バージョンのサフィックスが付いた修飾関数 ARN を次に示します。

    arn:aws:lambda:aws-region:acct-id:function:helloworld:$LATEST
  • エイリアス ARN を使用する場合は、修飾 ARN を使用することになります。各エイリアス ARN にはエイリアス名のサフィックスがあります。

    arn:aws:lambda:aws-region:acct-id:function:helloworld:PROD arn:aws:lambda:aws-region:acct-id:function:helloworld:BETA arn:aws:lambda:aws-region:acct-id:function:helloworld:DEV

AWS Lambda には、エイリアスを作成および管理するための API オペレーションが用意されています。

例: エイリアスを使用した Lambda 関数バージョンの管理

以下のサンプルシナリオは、バージョニングおよびエイリアスを使用して Lambda 関数の新しいバージョンを本稼働に移行します。

まず、Lambda 関数を作成します。

作成する関数は $LATEST バージョンです。また、新しく作成された関数を指すエイリアス (DEV、開発用) を作成します。開発者はこのエイリアスを使用して、開発環境でイベントソースを使用して関数をテストできます。

次に、新しいバージョンを開発しながら安定した方法で、ベータ環境でイベントソースを使用して関数バージョンをテストします。

$LATEST からバージョンを発行し、それを指す別のエイリアス (BETA) を持たせます。この方法により、ベータイベントソースをこの特定のエイリアスに関連付けることができます。イベントソースマッピングでは、BETA エイリアスを使用して Lambda 関数をイベントソースと関連付けます。

次に、Lambda 関数バージョンを本稼働に移行して本稼働環境のイベントソースを使用するようにします。

関数の BETA バージョンをテストした後、バージョン 1 にマッピングされるエイリアスを作成して本稼働バージョンを定義できます。この方法では、本稼働イベントソースがこの特定のバージョンを指します。これを実行するには、PROD エイリアスを作成し、PROD エイリアス ARN をすべての本稼働イベントソースマッピングで使用します。

開発を続け、より多くのバージョンを発行し、テストします。

コードの開発に合わせて、更新されたコードをアップロードして $LATEST バージョンを更新し、BETA エイリアスがそれを指すようにすることでベータテストに発行できます。このベータエイリアスの簡単な再マッピングで、Lambda 関数のバージョン 2 をイベントソースを変更することなくベータにすることができます。この方法では、エイリアスを使用して、開発環境で特定のイベントソースとともに使用する関数のバージョンを制御できます。

AWS Command Line Interface を使用してこのセットアップを作成する場合は、「チュートリアル: AWS Lambda エイリアスの使用」を参照してください。