我们正在设置API网关仅在VPC或VPC终端节点内可访问。在AWS API Gateway中,您可以使用边缘或区域配置创建自定义域。是否有办法从Route53将DNS名称映射到API Gateway的“丑陋”DNS名称,以用于私有类型或VPC终端节点DNS名称,但同时自动设置标头参数(也可以发送请求到VPC终端节点,但需要指定
header: <APIGW DNS>
)?header: <APIGW DNS>
)?如果你真的需要这个功能,可以在VPC内运行代理服务器(如HAProxy或Nginx),接受自定义域名的请求,并使用正确的私有API不支持自定义域名。
https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-private-apis.html
Host
标头和正确的TLS SNI将请求转发到API Gateway私有端点...但这会增加复杂性并在您的堆栈中创建一个额外的依赖项,这似乎没有正当理由,只是为了拥有一个非丑陋的域名,用于仅可内部使用的API。您可以在前面放置一个内部应用程序负载均衡器,该负载均衡器指向 VPC 终端节点的 ENI 的 IP。然后使用 Route53 指向负载均衡器。
您可以在此处找到更多信息:https://www.sentiatechblog.com/connecting-to-a-private-api-gateway-over-vpn-or-vpc-peering
当然,这会增加复杂性,但这取决于您根据您的用例是否值得。但从技术角度来看,这是可能的。