メニュー
Amazon API Gateway
開発者ガイド

API Gateway 統合リクエストの設定

API メソッドの設定によってメソッドを定義し、その動作を説明します。メソッドを作成するには、メソッドが公開されるリソース (ルート「/」を含む)、メソッドタイプ (GET、POST など)、およびターゲットバックエンドとの統合方法を指定する必要があります。メソッドのリクエストと応答によって、APIはどのパラメータを受け取ることができ、応答はどのようなものかを明記し、呼び出し元アプリケーションとの取り決めが指定されます。統合リクエスト / 応答により、API Gateway がバックエンドとどのように通信するかが指定されます。バックエンドとの HTTPS 経由の安全な通信が実施され、クライアントとバックエンドの間のデータ形式の変換が行われます。以下のトピックは、API Gateway コンソールを使用してメソッドの設定を指定する方法について説明します。

  1. [Resources] ペインで、メソッドを選択します。

  2. [Method Execution] ペインで [Integration Request] を選択します。[Integration type] で、以下のいずれかを選択します。

    • API を Lambda 関数と統合する場合は、[Lambda Function] を選択します。API レベルで、これは AWS 統合タイプです。

    • API が HTTP エンドポイントに統合される場合は、[HTTP] を選択します。API レベルで、これは HTTP 統合タイプです。

    • API が AWS サービスと直接統合する場合は、[AWS Service] を選択します。API レベルで、これは AWS 統合タイプです。上記の [Lambda Function] オプションは、Lambda 関数を呼び出すための AWS 統合の特殊なケースであり、API Gateway コンソールでのみ使用できます。API Gateway API をセットアップして AWS Lambda で新しい Lambda 関数を作成する、Lambda 関数にリソースに対するアクセス許可を設定する、その他の Lambda サービスアクションを実行するには、ここで [AWS Service] オプションを選択する必要があります。

    • API Gateway をバックエンドとして静的レスポンスを返す場合は、[Mock] を選択します。API レベルで、これは MOCK 統合タイプです。一般的に、API が最終版ではないものの、テスト用に API レスポンスを生成して関連チームのブロックを解除する場合は、MOCK 統合を使用します。OPTION メソッドの場合、API Gateway は、適用された API リソースに CORS が有効のヘッダーを返すように MOCK 統合をデフォルトに設定します。このオプションを選択する場合は、このトピックの残りの手順をスキップし、「メソッドのモック統合を設定する」を参照してください。

  3. [Lambda Function] 関数を選択する場合は、以下の操作を実行します。

    1. [Lambda Region] で、Lambda 関数を作成したリージョンに対応するリージョン識別子を選択します。たとえば、米国東部(バージニア北部) リージョンで Lambda 関数を作成した場合は、us-east-1 を選択します。リージョン名と識別子のリストについては、Amazon Web Services 全般的なリファレンスAWS Lambda」を参照してください。

    2. [Lambda Function] で、Lambda 関数の名前を入力した後、関数の対応する ARN を選択します。

    3. [Save] を選択します。

  4. [HTTP ] を選択する場合は、以下の操作を実行します。

    1. [HTTP method] で、HTTP バックエンドのメソッドに最も厳密に一致する HTTP メソッドタイプを選択します。

    2. [Endpoint URL] に、メソッドで使用する HTTP バックエンドの URL を入力します。

    3. [Save] を選択します。

  5. [Mock ] を選択する場合は、以下の操作を実行します。

    • [Save] を選択します。

  6. [AWS Service] を選択した場合は、以下の操作を実行します。

    1. [AWS Region] で、このメソッドがアクションの呼び出しに使用する AWS リージョンを選択します。

    2. [AWS Service] で、このメソッドが呼び出す AWS サービスを選択します。

    3. [AWS Subdomain] に、関心のある AWS サービスで使用されているサブドメインを入力します。通常、このフィールドは空欄にします。一部の AWS サービスでは、ホストの一部としてサブドメインをサポートすることができます。可用性と詳細は、サービスのドキュメントを参照してください。

    4. [HTTP method] で、アクションに対応する HTTP メソッドタイプを選択します。適切な HTTP メソッドタイプについては、[AWS Service] で選択した AWS サービスの API リファレンスドキュメントを参照してください。

    5. [Action] に使用するアクションを入力します。使用可能なアクションのリストについては、[AWS Service] で選択した AWS サービスの API リファレンスドキュメントを参照してください。

    6. [Execution Role] には、メソッドがアクションの呼び出しに使用する IAM ロールの ARN を入力します。

      IAM ロールを作成するには、Lambda 関数を公開するための API を作成する の「Create Lambda Functions」セクションにある「To create the Lambda invocation role and its policies」および「To create the Lambda execution role and its policy」の指示を適応し、以下の形式で、必要な数のアクションステートメントおよびリソースステートメントを含むアクセスポリシーを指定します。

      Copy
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "action-statement" ], "Resource": [ "resource-statement" ] }, ... ] }

      アクションおよび リResource ステートメントの構文については、[AWS Service] で選択した AWS サービスのドキュメントを参照してください。

      API Gateway が AWS アカウントに代わってアクションを実行できるようにする IAM ロールの信頼関係を構築するため、以下を指定します。

      Copy
      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    7. [Action] に入力したアクションにより、メソッドが使用するカスタムリソースパスが提供される場合は、[Path Override] にこのカスタムリソースパスを入力します。カスタムリソースパスについては、[AWS Service] で選択した AWS サービスの API リファレンスドキュメントを参照してください。

    8. [Save] を選択します。

  7. 次の両方の操作を行います。

    • メソッドリクエストの設定」の手順に従ってメソッドが送信者とリクエストや応答の送受信を行う方法 (API のメソッド リクエスト/応答として API Gateway が参照します) やメソッドがリクエストを認証する方法を指定します。

    • メソッドと統合の間のデータマッピングをセットアップする」の手順に従ってメソッドが Lambda 関数、HTTP プロキシ、AWS サービスプロキシとリクエストや応答の送受信を行う方法 (API の統合リクエスト/応答として API Gateway が参照します) やメソッドがリクエストを認証する方法を指定します。