Amazon API Gateway
開発者ガイド

API Gateway コンソールを使用して API 統合リクエストを設定する

API メソッドの設定でメソッドとその動作を定義します。メソッドを設定するには、メソッドが公開されるリソース (ルート ("/") を含む)、HTTP メソッド (GETPOST など)、ターゲットバックエンドとの統合方法を指定する必要があります。メソッドのリクエストと応答によって、APIはどのパラメータを受け取ることができ、応答はどのようなものかを明記し、呼び出し元アプリケーションとの取り決めが指定されます。

以下の手順では、API Gateway コンソールを使用してメソッド設定を指定する方法について説明します。

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

  2. [メソッドの実行] ペインで [統合リクエスト] を選択します。[統合タイプ] で、以下のいずれかを選択します。

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

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

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

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

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

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

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

    3. [Save (保存)] を選択します。

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

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

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

    3. [Save (保存)] を選択します。

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

    1. [Save (保存)] を選択します。

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

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

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

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

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

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

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

      IAM ロールを作成する目的で、「Lambda 関数を作成する」セクションの「Lambda 呼び出しロールとそのポリシーを作成する」と「Lambda 実行ロールとそのポリシーを作成する」の手順を適用できます。以下の形式のアクセスポリシーを、必要な数のアクションおよびリソースステートメントと共に指定します。

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

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

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

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

    8. [Save (保存)] を選択します。