amazon-web-services - 我们如何使用 cloudfront 故障转移到另一个自定义源 - 我的两个源都是 ALB
问题描述
我有一个 ALB 作为我的来源(主要的),但我想故障转移到第二个 ALB,以防第一个出现故障。
例如:主要是 abc.amazon.com(第一个 ALB),我想故障转移到第二个(xyz.amazon.com)。
我创建了原始组和行为(将故障转移 ALB 的路径设置为 /,不确定这是否正确)。
请建议。
解决方案
创建两个源(源配置中不需要 PATH,因为 cloudfront 将在与源联系之前将其附加到每个请求中)
创建 Origin 组,定义主要和次要。
在缓存行为中,选择源组
如果源提供您在源组配置中提到的响应代码,您可以将 CloudFront 配置为故障转移到辅助。如果 cloudfront 没有连接到源并自己服务 504,它也会故障转移到辅助服务器。
注意:请注意,故障转移并不意味着云端会将所有后续请求发送到辅助,它按照请求级别工作,请求到达云端并连接到主,如果失败,则回退到辅助,下一个请求来,同样的循环再次发生。(缓存有助于相同的内容)
您可能需要进行 API 调用来更改源组配置以使另一个主组配置,因为在 504 的情况下并且如果您的源响应超时配置为高,您将看到使用源故障转移的大量延迟。
推荐阅读
- mysql - mysql - 使用来自第一个插入表的自动生成键插入两个表,而不使用 LAST_INSERT_ID
- google-apps-script - 尝试使用 APP 脚本 var dorss = SpreadsheetApp.openById('DOR Printers'); 打开一个新的电子表格
- mongodb - 我无法在我的 Ubuntu 系统中安装 MongoDB,并且在安装时遇到此错误
- c# - HttpClient 异步请求失败
- android - 我如何在颤动中获得 android 蜂窝数据使用情况?
- css - 如何将长文本和图像放在表格中的 td 中?
- linux - Bash 脚本删除另一个文件夹中的文件,如果两者都存在,扩展名为 *.c
- laravel - 重定向到其他路由后如何清除laravel中的会话消息
- c++ - 调用 'std::basic_ifstream 没有匹配的函数
::basic_ifstream(std::__cxx11::string&)' ifstream myfile(filename); - sql - SQL 按 Sum 排序