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

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

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

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

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

  2. [メソッドタイプ] には [HTTP メソッド] を選択します。

  3. [統合タイプ] で、以下を選択します。

    • API を Lambda 関数と統合する場合は、[Lambda 関数] を選択します。API レベルで、非プロキシ統合を作成する場合はこれが AWS 統合タイプになり、AWS_PROXYプロキシ統合を作成する場合は 統合タイプになります。

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

    • API が AWS サービスと直接統合する場合は、[AWS のサービス] を選択します。API レベルで、これは AWS 統合タイプです。上記の [Lambda 関数] オプションは、Lambda 関数を呼び出すための AWS 統合の特殊なケースです。

      次のいずれかを実行するために IAM API Gateway を作成するには:

      • 新しい Lambda 関数の作成

      • Lambda 関数へのリソース許可を設定します。

      • その他の Lambda サービスアクションを実行します。

      [AWS のサービス] を選択する必要があります。

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

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

    1. Lambda プロキシ統合を使用するには、[Lambda プロキシ統合] をオンにします。Lambda プロキシ統合の詳細については、「API Gateway Lambda プロキシの統合について理解する」を参照してください。

    2. [Lambda 関数] に、Lambda 関数の名前を入力します。API とは異なるリージョンで Lambda 関数を使用している場合は、ドロップダウンメニューからリージョンを選択し、Lambda 関数の名前を入力します。クロスアカウントの Lambda 関数を使用している場合は、関数 ARN を入力します。

      リージョン名と識別子のリストについては、アマゾン ウェブ サービスの全般リファレンスの「AWS Lambda」を参照してください。

    3. 29 秒のデフォルトのタイムアウト値を使用するには、[デフォルトタイムアウト] をオンのままにします。カスタムのタイムアウトを設定するには、[デフォルトタイムアウト] を選択してから、タイムアウト値を 5029000 ミリ秒の間で入力します。

    4. [メソッドの作成] を選択します。

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

    1. HTTP プロキシ統合を使用するには、[HTTP プロキシ統合] をオンにします。HTTP プロキシ統合の詳細については、「API Gateway の HTTP プロキシ統合を設定する」を参照してください。

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

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

    4. [コンテンツ処理] には、コンテンツ処理動作を選択します。

    5. 29 秒のデフォルトのタイムアウト値を使用するには、[デフォルトタイムアウト] をオンのままにします。カスタムのタイムアウトを設定するには、[デフォルトタイムアウト] を選択してから、タイムアウト値を 5029000 ミリ秒の間で入力します。

    6. [メソッドの作成] を選択します。

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

    1. [メソッドの作成] を選択します。

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

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

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

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

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

    5. [アクションタイプ] には、API アクションを使用する場合は [アクション名の使用] を、カスタムリソースパスを使用する場合は [パス上書きの使用] を選択します。利用できるアクションとカスタムリソースパスについては、[AWS のサービス] で選択した AWS のサービスに関する API リファレンスドキュメントを参照してください。

    6. [アクション名] または [パス上書き] のいずれかを入力します。

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

      IAM ロールを作成するには、ステップ 1: AWS のサービスプロキシの実行ロールを作成する の指示を使用できます。以下の形式のアクセスポリシーを、必要な数のアクションおよびリソースステートメントと共に指定します。

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

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

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

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    8. 29 秒のデフォルトのタイムアウト値を使用するには、[デフォルトタイムアウト] をオンのままにします。カスタムのタイムアウトを設定するには、[デフォルトタイムアウト] を選択してから、タイムアウト値を 5029000 ミリ秒の間で入力します。

    9. [メソッドの作成] を選択します。