Amazon API Gateway
開発者ガイド

Swagger を使用して、プライベート統合で API を設定する

API Swagger ファイルをインポートすることで、プライベート統合を使用して API を設定することができます。これらの設定は、HTTP 統合を使用する API の Swagger 定義と似ていますが、次のような例外があります。

  • connectionType を明示的に VPC_LINK に設定する必要があります。

  • connectionIdVpcLink の ID または VpcLink の ID を参照するステージ変数に明示的に設定する必要があります。

  • プライベート統合の uri パラメータは、VPC 内の HTTP/HTTPS エンドポイントを指しますが、代わりに統合リクエストの Host ヘッダーを設定するために使用されます。

  • VPC 内の HTTPS エンドポイントとのプライベート統合における uri パラメータは、記載されているドメイン名を VPC エンドポイントにインストールされている証明書内のドメイン名と照合するために使用されます。

ステージ変数を使用して VpcLink ID を参照することができます。または、ID 値を connectionId に直接割り当てることもできます。

次の JSON 形式の API Swagger ファイルは、ステージ変数 (${stageVariables.vpcLinkId}) によって参照される VPC リンクを持つ API の例を示しています。

{ "swagger": "2.0", "info": { "version": "2017-11-17T04:40:23Z", "title": "MyApiWithVpcLink" }, "host": "p3wocvip9a.execute-api.us-west-2.amazonaws.com", "basePath": "/test", "schemes": [ "https" ], "paths": { "/": { "get": { "produces": [ "application/json" ], "responses": { "200": { "description": "200 response", "schema": { "$ref": "#/definitions/Empty" } } }, "x-amazon-apigateway-integration": { "responses": { "default": { "statusCode": "200" } }, "uri": "http://myApi.example.com", "passthroughBehavior": "when_no_match", "connectionType": "VPC_LINK", "connectionId": "${stageVariables.vpcLinkId}", "httpMethod": "GET", "type": "http_proxy" } } } }, "definitions": { "Empty": { "type": "object", "title": "Empty Schema" } } }