API网关(私有)前面的CloudFront

时间:2019-02-12 20:59:30

标签: aws-api-gateway amazon-cloudfront

我知道我可以在Cloudfront发行版后面放置一个REGIONAL端点类型API网关,但是可以放置一个PRIVATE端点类型API网关吗?

这样,只有从Internet到Cloudfront的呼叫才能访问API网关吗?我认为这无法完成,因为Cloudfront是公共的。

2 个答案:

答案 0 :(得分:1)

  

配置CloudFront分发以包含一个自定义标头,该标头在将请求转发到您的自定义源时将其包含共享机密。您需要指定标题名称及其值。例如,当使用Amazon API Gateway作为来源时,您可以将x-api-key标头配置为您的API密钥值作为自定义标头。

ASCII

我不确定您的意思

  

这样,只有从Internet到Cloudfront的呼叫才能访问API网关

答案 1 :(得分:1)

私有API的目的是允许从特定的内部网络(例如,VPC子网,内部部署网络)进行访问。

因此,如果您需要配置CloudFront,则应将来自CloudFront的请求路由到网络的公共端点(例如,面向Internet的NLB),然后NLB可以指向VPC端点的静态IP,即与私有API的资源策略相关联。

由于某些安全问题,我认为上述解决方案不适合生产环境,如果有人更新了VPC端点配置,集成点可能会损坏。因此,我想最好不要在私有API前面配置CloudFront。

您能否解释一下为什么需要在私有API之前引入CloudFront发行版?我也许可以提供替代方案。例如,如果您需要限制从特定域(例如CloudFront发行版)对API的访问,则可以考虑引入WAF规则(https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-control-access-aws-waf.html)。