我有一个负载均衡器 (ALB) 正在处理我的应用程序的 API 请求 (alb.domain.com) 。我还有一个 S3 存储桶,我的静态站点通过 CloudFront (domain.com) 提供服务。我已经配置了一个发行版,以便 /api 进入 ALB,其余进入 S3,一切正常。但是,除了将我的 API 请求路由到 CloudFront (domain.com/api) 之外,我还可以将它们直接路由到 ALB (alb.domain.com/api),这也可以正常工作。我不需要缓存我的 API 请求,所以无论如何我在分发中禁用了它。考虑到我 (1) 在路由中引入额外的连接并且 (2) 我的请求现在是针对 CloudFront 定价计算的,那么我通过 CloudFront 执行请求有什么意义。
问问题
510 次
1 回答
3
在您的场景中(通常是)使用 CloudFront 有很多好处。
首先,通过 CloudFront 路由给人的印象是这是一个单一的域,这消除了CORS的实现,有助于降低任何安全配置(例如CSP)的复杂性。此外,如果您需要,您可以缓存任何基于静态的请求,或者将来不经常更改的请求。
您还可以获得访问边缘网络进行路由的好处,这对于远离该地区的客户来说是有益的。这意味着用户将到达离他们最近的边缘位置,然后通过私有 AWS 网络路由并建立与源的连接(这将比遍历公共互联网更快)。
此外,边缘的安全评估,WAF和Lambda@Edge都可以在 AWS 边缘基础设施上更接近用户而不是您自己的资源进行评估。
于 2020-09-13T09:00:10.743 回答