OpenAPI でプライベート統合を使用して API を設定する
API の OpenAPI ファイルをインポートすることで、プライベート統合を使用して API を設定することができます。これらの設定は、HTTP 統合を使用する API の OpenAPI 定義と似ていますが、次のような例外があります。
-
connectionType
を明示的に VPC_LINK
に設定する必要があります。
-
connectionId
を VpcLink
の 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"
}
}
}