使用 HTTP API 的私有集成 - Amazon API Gateway
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 HTTP API 的私有集成

私有集成使您能够使用 VPC 中的私有资源创建 API 集成,例如,应用程序负载均衡器 或 Amazon ECS 基于容器的应用程序。

您可以使用私有集成公开 VPC 中的资源,以便 VPC 外部的客户端访问。您可以使用 JWT 授权方控制对 API 的访问。

要创建私有集成,您必须首先创建 VPC 链接。要了解有关 VPC 链接的更多信息,请参阅使用 HTTP API 的 VPC 链接

创建 VPC 链接后,您可以设置私有集成,以连接到 应用程序负载均衡器、网络负载均衡器 或注册到 AWS Cloud Map 服务的资源。

默认情况下,私有集成流量使用 HTTP 协议。如果您要求私有集成流量使用 HTTPS,则可以指定 tlsConfig

注意

要创建私有集成,所有资源必须由相同 AWS 账户拥有(包括负载均衡器或 AWS Cloud Map 服务、VPC 链接和 HTTP API)。

使用 应用程序负载均衡器 或 网络负载均衡器 创建私有集成

在创建私有集成之前,您必须创建 VPC 链接。要了解有关 VPC 链接的更多信息,请参阅使用 HTTP API 的 VPC 链接

要使用 应用程序负载均衡器 或网络负载均衡器创建私有集成,请创建 HTTP 代理集成,指定要使用的 VPC 链接,并提供负载均衡器的侦听器 ARN。

使用以下命令创建私有集成,该私有集成通过 VPC 链接连接到负载均衡器。

aws apigatewayv2 create-integration --api-id api-id --integration-type HTTP_PROXY \ --integration-method GET --connection-type VPC_LINK \ --connection-id VPC-link-ID \ --integration-uri arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/0467ef3c8400ae65

使用 AWS Cloud Map 服务发现创建私有集成

在创建私有集成之前,您必须创建 VPC 链接。要了解有关 VPC 链接的更多信息,请参阅使用 HTTP API 的 VPC 链接

对于与 AWS Cloud Map 集成,API Gateway 使用 DiscoverInstances 标识资源。您可以使用查询参数来定位特定资源。已注册资源的属性必须包括 IP 地址和端口。API Gateway 在从 DiscoverInstances 返回的正常资源之间分配请求。要了解更多信息,请参阅 AWS Cloud Map API 参考中的 DiscoverInstances

注意

如果您使用 Amazon ECS 填充 AWS Cloud Map 中的条目,则必须将 Amazon ECS 任务配置为使用 SRV 记录。不支持“A”记录。要了解更多信息,请参阅 Amazon Elastic Container Service Developer Guide中的将服务配置为使用服务发现

要使用 AWS Cloud Map 创建私有集成,请创建 HTTP 代理集成,指定要使用的 VPC 链接,并提供 AWS Cloud Map 服务的 ARN。

使用以下命令创建私有集成,该私有集成通过 AWS Cloud Map 服务发现来标识资源。

aws apigatewayv2 create-integration --api-id api-id --integration-type HTTP_PROXY \ --integration-method GET --connection-type VPC_LINK \ --connection-id VPC-link-ID \ --integration-uri arn:aws:servicediscovery:us-west-2:123456789012:service/srv-id?stage=prod&deployment=green_deployment