Amazon API Gateway
開発者ガイド

VPC エンドポイントとプライベート REST API の関連付けまたは関連付けの解除

VPC エンドポイントをプライベート API に関連付けると、API Gateway は新しい Route53 ALIAS DNS レコードを生成します。エッジ最適化またはリージョン API と同様に、このレコードを使用でき、Host ヘッダーを上書きしたり、x-apigw-api-id ヘッダーを渡したりする必要はありません。

生成されたベース URL は次の形式になります。

https://{rest-api-id}-{vpce-id}.execute-api.{region}.amazonaws.com/{stage}

VPC エンドポイントとプライベート REST API の関連付けまたは関連付け解除を行うには、API の設定を更新する必要があります。この変更は、API Gateway コンソール、AWS CLI、または API Gateway の AWS SDK を使用して実行できます。DNS 伝達のため、更新オペレーションが完了するまでに数分かかることがあります。この間、API は使用できますが、新しく生成された DNS URL の DNS 伝達がまだ進行中である可能性があります。数分後に新しい URL が DNS で解決されない場合は、API の新しいデプロイの作成を試してください。

AWS CLI を使用して VPC エンドポイントとプライベート REST API を関連付ける

API の作成時に VPC エンドポイントを関連付けるには、次のコマンドを使用します。

aws apigateway create-rest-api \ --name Petstore \ --endpoint-configuration '{ "types": ["PRIVATE"], "vpcEndpointIds" : ["vpce-0212a4ababd5b8c3e", "vpce-0393a628149c867ee"] }' \ --region us-west-2 { "apiKeySource": "HEADER", "endpointConfiguration": { "types": [ "PRIVATE" ], "vpcEndpointIds": [ "vpce-0212a4ababd5b8c3e", "vpce-0393a628149c867ee" ] }, "id": "u67n3ov968", "createdDate": 1565718256, "name": "Petstore" }

VPC エンドポイントを既に作成したプライベート API に関連付けるには、次の CLI コマンドを使用します。

aws apigateway update-rest-api \ --rest-api-id u67n3ov968 \ --patch-operations "op='add',path='/endpointConfiguration/vpcEndpointIds',value='vpce-01d622316a7df47f9'" --region us-west-2

出力は次のようになります。

{ "name": "Petstore", "apiKeySource": "1565718256", "tags": {}, "createdDate": 1565718256, "endpointConfiguration": { "vpcEndpointIds": [ "vpce-0212a4ababd5b8c3e", "vpce-0393a628149c867ee", "vpce-01d622316a7df47f9" ], "types": [ "PRIVATE" ] }, "id": "u67n3ov968" }

AWS CLI を使用して VPC エンドポイントとプライベート REST API の関連付けを解除する

プライベート API から VPC エンドポイントの関連付けを解除するには、次の CLI コマンドを使用します。

aws apigateway update-rest-api \ --rest-api-id u67n3ov968 \ --patch-operations "op='remove',path='/endpointConfiguration/vpcEndpointIds',value='vpce-0393a628149c867ee'" --region us-west-2

出力は次のようになります。

{ "name": "Petstore", "apiKeySource": "1565718256", "tags": {}, "createdDate": 1565718256, "endpointConfiguration": { "vpcEndpointIds": [ "vpce-0212a4ababd5b8c3e", "vpce-01d622316a7df47f9" ], "types": [ "PRIVATE" ] }, "id": "u67n3ov968" }