我们如何使用 cloudfront 将故障转移到另一个自定义来源 - 我的两个来源都是 ALB

How can we do failover to another custom origin using cloudfront-my both origins are ALB

我有一个 ALB 作为我的来源(主要的),但我想故障转移到第二个 ALB,以防第一次出现故障。

ex:主要是 abc.amazon.com(第一个 ALB),我想故障转移到第二个(xyz.amazon.com)。

我创建了源组和行为(将故障转移 ALB 的路径设置为 /,不确定这是否正确)。

请多多指教。

  1. 创建两个源(源配置中不需要 PATH,因为 cloudfront 将在联系源之前将其附加到每个请求中)

  2. 创建起源组,定义主要和次要。

  3. 在缓存行为中,选择源组

如果源提供您在源组配置中提到的响应代码,您可以将 CloudFront 配置为故障转移到辅助。如果 cloudfront 未连接到 origin 并自行提供 504,它也会故障转移到辅助节点。

注意:请注意,故障转移并不意味着 cloudfront 会将所有后续请求发送到 secondary,它根据请求级别工作,请求到达 cloudfront 并连接到 primary,如果失败,回退到 secondary ,下一个请求来了,同样的循环再次发生。 (缓存有助于相同的内容)

您可能需要调用 API 来更改源组配置以使另一个成为主组,因为在 504 的情况下并且如果您的源响应超时配置很高,您会看到很多延迟使用原始故障转移。