使用Gateway创建API并映射自定义域时, AWS API Gateway在cloudfront分发中创建条目
来源:http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html
对于您创建的每个API,API Gateway都会为API设置Amazon CloudFront分配。具有默认API URL的请求将通过相应的CloudFront分配进行路由。同样,对于每个自定义域名,API Gateway都会设置CloudFront分配。具有自定义域名的API请求将通过自定义域名的CloudFront分配进行路由。
但是,当AWS更新ip ranges时,云端IP可能会发生变化。
作为API的用户,如何将静态IP绑定到映射到Gateway的自定义域,以便每当AWS更新IP范围时我都不需要更新防火墙出口设置?
答案 0 :(得分:6)
无法将静态IP附加到API网关。但是,AWS发布了IP ranges used by CloudFront,可用于将防火墙出口设置列入白名单。
由于这些IP范围也可以更改,因此建议使用this URL自动检查更改并相应地更新规则。
答案 1 :(得分:1)
欢迎使用多云;-)
我正在研究此主题,发现还有其他云提供商的解决方案。
Google GCP:https://cloud.google.com/cdn/
因此,默认情况下,谷歌CDN会提供一个任播IP。
Microsoft Azure API管理 https://azure.microsoft.com/en-us/services/api-management/ 请提供静态IP。
在我看来,对于AWS,他们使用全局加速器或NLB解决了静态IP问题,但问题在于这两种产品都不是第7层API管理解决方案。
所以基本上到此为止,您可以解决第4层,但对于第7层,则需要使用api网关或云前端,并且两者都没有与全局加速器或NLB直接集成。
在google解决方案中,他们的CDN至少只提供一个任播IP,这在AWS Cloudfront中尚不存在(尽管时间有限)
对于这种特殊情况,我很喜欢Microsoft API管理,在这种情况下,您可以在一种解决方案中获得静态ip + API管理。
答案 2 :(得分:0)
我发现的唯一解决方案是在客户端和api网关之间使用静态IP,例如虚拟机,其唯一目标是将所有调用重新路由到api网关。
从字面上看,这是50行退回请求和响应的代码,但它增加了复杂性和预算要求。