amazon-web-services - AWS - Elastic Load Balancing 是否真的阻止了 LOAD BALANCER 故障转移?
问题描述
我直接从一些 AWS 文档中获取了这一点:
“随着应用程序的流量随时间变化,Elastic Load Balancing 会扩展您的负载均衡器并更新 DNS 条目。请注意,DNS 条目还将生存时间 (TTL) 指定为 60 秒,以确保 IP 地址可以快速重新映射以响应不断变化的流量。”
两个问题:
1)我最初的印象是单个静态IP地址会映射到AWS负载均衡器的多个实例,从而导致均衡器级别的容错,例如,如果一台机器由于某种原因崩溃,则注册静态IP地址到我的域名将简单地动态“移动”到另一个平衡器实例并继续服务请求。这是错的吗?根据上面来自 AWS 的引用,似乎这里发生的唯一魔法是 AWS 的 DNS 服务器为您的 AWS 注册域名保存了多个 A 记录,并且在 60 秒没有来自客户端的连接后,TTL 过期并且 Amazon 的 DNS 条目已更新为仅开始向活动 IP 发送请求。这在连接失败的客户端仍然需要 60 秒。对或错?为什么?
2) 如果上述情况属实,如果我使用例如 GoDaddy 的主机提供商,输入多个“A”名称记录并将 TTL 设置为 60 秒,它在功能上是否等效?
谢谢!
解决方案
ELB 被分配了一个 DNS 名称,然后您可以将其分配给 A 记录作为别名,请参见此处。如果您的 ELB 设置有多个实例,则您可以定义运行状况检查。您可以确定检查的路径、频率以及失败次数表明实例已关闭(例如,检查/
每10s
一个5s
超时,如果失败则2 times
认为它不健康。当一个实例变得不健康时,所有剩余的实例仍然可以很好地服务请求如果实例返回到健康状态(例如,它2
连续通过检查),那么它将作为负载均衡器中的健康主机返回。
引用所指的是负载均衡器本身。如果它有问题或 AZ 变得不可用,它会描述底层 ELB DNS 记录发生的情况,而不是您分配给它的别名记录。
流量是否受到影响部分取决于您的设置如何处理会话。它们是否sticky
由另一个系统(如elasticache
您的数据库)处理或处理。
推荐阅读
- php - 通过 web.config 将“.php”扩展名重定向到 Azure 中 WordPress 页面上的非扩展名 url
- javascript - 如何从 Firestore 数据库时间戳中获取秒数?
- python - 动态编程难题:找到最长的连续对 3(不同)块
- java - 创建表时“关系中缺少列”
- css - 材质 ui - makeStyles 无法正确创建样式
- python - Coinmarketcap 数据抓取
- c++ - 将 bpftrace 探针附加到 C++ 函数
- c++ - Qt 从派生类发出基类信号
- python - ModuleNotFoundError:jupyter 笔记本中没有名为“deeppavlov”的模块
- wordpress - WooCommerce Amazon Fulfillment SellerSKU 无效