OpenAPI でプライベート統合を使用して API を設定する - Amazon API Gateway

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

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

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

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

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

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

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

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

OpenAPI 2.0
{ "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://my-vpclink-test-nlb-1234567890abcdef.us-east-2.amazonaws.com", "passthroughBehavior": "when_no_match", "connectionType": "VPC_LINK", "connectionId": "${stageVariables.vpcLinkId}", "httpMethod": "GET", "type": "http_proxy" } } } }, "definitions": { "Empty": { "type": "object", "title": "Empty Schema" } } }