API Gateway コンソールを使用して API 統合リクエストを設定する
API メソッドの設定でメソッドとその動作を定義します。メソッドを設定するには、メソッドが公開されるリソース (ルート ("/") を含む)、HTTP メソッド (GET
、POST
など)、ターゲットバックエンドとの統合方法を指定する必要があります。メソッドのリクエストと応答によって、APIはどのパラメータを受け取ることができ、応答はどのようなものかを明記し、呼び出し元アプリケーションとの取り決めが指定されます。
以下の手順では、API Gateway コンソールを使用してメソッド設定を指定する方法について説明します。
-
[リソース] ペインで、メソッドを選択します。
-
[メソッドの実行] ペインで [統合リクエスト] を選択します。[統合タイプ] で、以下のいずれかを選択します。
-
API を Lambda 関数と統合する場合は、[Lambda 関数] を選択します。API レベルで、これは
AWS
統合タイプです。 -
API が HTTP エンドポイントに統合される場合は、[HTTP] を選択します。API レベルで、これは
HTTP
統合タイプです。 -
API が サービスと直接統合する場合は、[AWS ServiceAWS] を選択します。API レベルで、これは
AWS
統合タイプです。上記の [Lambda Function] (Lambda 関数) オプションは、Lambda 関数を呼び出すためのAWS
統合の特殊なケースであり、API Gateway コンソールでのみ使用できます。AWS Lambda で新しい Lambda 関数を作成する API Gateway API をセットアップする場合、Lambda 関数にリソースに対するアクセス許可を設定する場合、またはその他の Lambda サービスアクションを実行する場合は、ここで [AWS Service] (AWS のサービス) オプションを選択する必要があります。 -
API Gateway をバックエンドとして静的レスポンスを返す場合は、[モック] を選択します。API レベルで、これは
MOCK
統合タイプです。一般的に、API が最終版ではないものの、テスト用に API レスポンスを生成して関連チームのブロックを解除する場合は、MOCK
統合を使用します。OPTION
メソッドの場合、API Gateway は、適用された API リソースに CORS が有効のヘッダーを返すようにMOCK
統合をデフォルトに設定します。このオプションを選択する場合は、このトピックの残りの手順をスキップし、「API Gateway でモック 統合を設定する」を参照してください。
-
-
[Lambda Function (Lambda 関数)] を選択する場合は、以下の操作を実行します。
-
[Lambda リージョン] で、Lambda 関数を作成したリージョンに対応するリージョン識別子を選択します。たとえば、米国東部 (バージニア北部) リージョンで Lambda 関数を作成した場合は、[
us-east-1
] を選択します。リージョン名と識別子のリストについては、Amazon Web Servicesの全般リファレンスの「AWS Lambda」を参照してください。 -
[Lambda 関数] で、Lambda 関数の名前を入力した後、関数の対応する ARN を選択します。
-
[保存] を選択します。
-
-
[HTTP] を選択する場合は、以下の操作を実行します。
-
[HTTP メソッド] で、HTTP バックエンドのメソッドに最も厳密に一致する HTTP メソッドタイプを選択します。
-
[エンドポイント URL] に、メソッドで使用する HTTP バックエンドの URL を入力します。
-
[保存] を選択します。
-
-
[Mock] を選択する場合は、以下の操作を実行します。
-
[保存] を選択します。
-
-
[AWS のサービス] を選択した場合は、以下の操作を実行します。
-
[AWS リージョン] で、このメソッドがアクションの呼び出しに使用する AWS リージョンを選択します。
-
[AWS のサービス] で、このメソッドが呼び出す AWS のサービスを選択します。
-
[AWS サブドメイン] に、AWS のサービスで使用されるサブドメインを入力します。通常、このフィールドは空欄にします。一部の AWS のサービスでは、ホストの一部としてサブドメインをサポートすることができます。可用性と詳細は、サービスのドキュメントを参照してください。
-
[HTTP メソッド] で、アクションに対応する HTTP メソッドタイプを選択します。適切な HTTP メソッドタイプについては、[AWS Service] (AWS のサービス) で選択した AWS サービスの API リファレンスドキュメントを参照してください。
-
[アクション] に使用するアクションを入力します。使用可能なアクションのリストについては、[AWS Service] (AWS のサービス) で選択した AWS のサービスの API リファレンスドキュメントを参照してください。
-
[実行ロール] には、メソッドがアクションの呼び出しに使用する IAM ロールの ARN を入力します。
IAM ロールを作成するには、「Lambda 関数を作成する」セクションの「Lambda 呼び出しロールとそのポリシーを作成する」と「Lambda 実行ロールとそのポリシーを作成する」の手順を適用できます 以下の形式のアクセスポリシーを、必要な数のアクションおよびリソースステートメントと共に指定します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "
action-statement
" ], "Resource": [ "resource-statement
" ] }, ... ] }アクションおよび リResource ステートメントの構文については、[AWS ServiceAWS] で選択した サービスのドキュメントを参照してください。
IAM ロールの信頼関係で、以下のように指定して、API Gateway が AWS アカウントに代わってアクションを実行できるようにます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
[アクション] に入力したアクションで、このメソッドに使用するカスタムリソースパスがある場合は、[Path Override (パスのオーバーライド)] にそのパスを入力します。カスタムリソースパスについては、[AWS のサービス] で選択した AWS のサービスに関する API リファレンスドキュメントを参照してください。
-
[保存] を選択します。
-