首页 > 解决方案 > 我们如何使用 cloudfront 故障转移到另一个自定义源 - 我的两个源都是 ALB

问题描述

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

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

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

请建议。

标签: amazon-web-servicesamazon-cloudfront

解决方案


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

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

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

如果源提供您在源组配置中提到的响应代码,您可以将 CloudFront 配置为故障转移到辅助。如果 cloudfront 没有连接到源并自己服务 504,它也会故障转移到辅助服务器。

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

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


推荐阅读