AWS Lambda
開発者ガイド

Lambda と API Gateway を使用してシンプルなマイクロサービスを作成する

このチュートリアルでは、Lambda コンソールを使用して Lambda 関数を作成し、Amazon API Gateway エンドポイントを使用してこの関数をトリガーします。Lambda 関数をトリガーするためのエンドポイントの呼び出しには、任意の方法 (GETPOSTPATCH など) を使用できます。エンドポイントが呼び出されると、リクエスト全体が Lambda 関数にパススルーされます。関数のアクションはエンドポイントの呼び出し方法によって決まります。

  • DELETE: DynamoDB テーブルから項目を削除します

  • GET: テーブルをスキャンし、すべての項目を返します

  • POST: 項目を作成します

  • PUT: 項目を更新します

Amazon API Gateway を使用して API を作成する

このセクションのステップに従って、新しい Lambda 関数とそれをトリガーする API Gateway エンドポイントを作成します。

API を作成するには

  1. AWS マネジメントコンソールにサインインし、AWS Lambda コンソールを開きます。

  2. [Create Lambda function] を選択します。

  3. [Blueprint (設計図)] を選択します。

  4. 検索バーに「microservice」と入力します。[microservice-http-endpoint] 設計図を選択し、[設定] を選択します。

  5. 以下を設定します。

    • Name (名前)lambda-microservice

    • [ロール] – [Create a new role from one or more templates (1 つ以上のテンプレートから新しいロールを作成)]。

    • ロール名lambda-apigateway-role

    • [ポリシーテンプレート] – [シンプルなマイクロハーネスのアクセス権限]。

    • [API] – [Create a new API (新しい API を作成)]。

    • [セキュリティ] – [オープン]。

    [Create function] を選択します。

ウィザードを完了して関数を作成すると、選択した API 名の下に Lambda によって lambda-microservice というプロキシリソースが作成されます。プロキシリソースに関する詳細については、「プロキシリソースのプロキシ統合を設定する」を参照してください。

プロキシリソースには、AWS_PROXY 統合タイプおよびキャッチオールメソッドである ANY があります。AWS_PROXY 統合タイプでは、&LAM; はデフォルトのマッピングテンプレートを適用してリクエスト全体を Lambda 関数にパススルーし、Lambda 関数の出力を HTTP レスポンスに変換します。ANY メソッドは、GETPOSTPATCHDELETE などを含むすべてのサポートされているメソッドに対して同じ統合設定を定義します。

HTTPS リクエストの送信をテストする

このステップでは、コンソールを使用して Lambda 関数をテストします。さらに、curl コマンドを実行してエンドツーエンドの使い勝手をテストできます。つまり、HTTPS リクエストを API メソッドに送信し、Amazon API Gateway で Lambda 関数を呼び出します。ステップを完了するには、DynamoDB テーブルを作成し、「MyTable」という名前を付けたことを確認します。詳細については、「ストリームが有効になった DynamoDB テーブルを作成する」を参照してください。

API をテストするには

  1. MyLambdaMicroService 関数をまだコンソールで開いている場合は、[Actions] タブを選択して [Configure test event] を選択します。

  2. 既存のテキストを以下に置き換えます。

    { "httpMethod": "GET", "queryStringParameters": { "TableName": "MyTable" } }
  3. 上記のテキストを入力したら、[Save and test] を選択します。