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



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

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

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

恳请建议。

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

  2. 创建源组,定义主要和辅助。

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

您可以将 CloudFront 配置为在源提供您在源组配置中提到的响应代码时故障转移到辅助。如果 Cloudfront 未连接到源站并自行为 504 提供服务,则它还将故障转移到辅助数据库。

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

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