具有静态IP的AWS API网关

时间:2017-09-12 18:27:33

标签: amazon-web-services amazon-cloudfront aws-api-gateway

使用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范围时我都不需要更新防火墙出口设置?

3 个答案:

答案 0 :(得分:6)

无法将静态IP附加到API网关。但是,AWS发布了IP ranges used by CloudFront,可用于将防火墙出口设置列入白名单。

由于这些IP范围也可以更改,因此建议使用this URL自动检查更改并相应地更新规则。

答案 1 :(得分:1)

欢迎使用多云;-)

我正在研究此主题,发现还有其他云提供商的解决方案。

  1. Google GCP:https://cloud.google.com/cdn/

    因此,默认情况下,谷歌CDN会提供一个任播IP。

  2. 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行退回请求和响应的代码,但它增加了复杂性和预算要求。