小编MTG*_*MTG的帖子

在 AWS Application LB 之上添加 AWS Cloudfront 有什么好处?

我参加了 AWS 培训,他们向我们解释说,一个好的做法是通过 Cloudfront 缓存所有动态内容,将 TTL 设置为 0,即使负载均衡器前面有一个 LB。所以它可能是这样的:

Route 53 -> CloudFront -> Application LB
Run Code Online (Sandbox Code Playgroud)

我看不到这种架构的任何优势,而不是直接(仅适用于动态内容):

Route 53 -> Application LB
Run Code Online (Sandbox Code Playgroud)

我不明白这一点,因为 Cloudfront 将始终将所有流量发送到 LB,因此您将拥有:

  • 两个 HTTPS 协商(客户端 <-> Cloudfront 和 Cloudfront <-> LB)
  • 完全没有缓存(它是动态内容,不应该被缓存,因为这就是“动态”的意思)
  • 您将没有客户端 IP,因为您的 LB 只会看到 Cloudfront IP(我知道这可以修复,以拥有客户端 IP,但是接下来您会遇到问题)。
  • 作为一项额外的工作,您需要能够经常更新您的 LB 安全组,以匹配 CloudFront IP(对于该区域),因为我猜您只想从您的 Cloudfront 获取流量,而不是直接从 LB 公共端点获取流量.

所以,可能我遗漏了一些关于这个Route 53 -> CloudFront -> Application LB架构的重要信息。

有任何想法吗?

谢谢!

web-architecture amazon-web-services amazon-cloudfront aws-application-load-balancer

8
推荐指数
2
解决办法
793
查看次数