首页 > 解决方案 > 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 秒,它在功能上是否等效?

谢谢!

标签: amazon-web-servicesdnsamazon-elastic-beanstalkload-balancingelastic-load-balancer

解决方案


ELB 被分配了一个 DNS 名称,然后您可以将其分配给 A 记录作为别名,请参见此处。如果您的 ELB 设置有多个实例,则您可以定义运行状况检查。您可以确定检查的路径、频率以及失败次数表明实例已关闭(例如,检查/10s一个5s超时,如果失败则2 times认为它不健康。当一个实例变得不健康时,所有剩余的实例仍然可以很好地服务请求如果实例返回到健康状态(例如,它2连续通过检查),那么它将作为负载均衡器中的健康主机返回。

引用所指的是负载均衡器本身。如果它有问题或 AZ 变得不可用,它会描述底层 ELB DNS 记录发生的情况,而不是您分配给它的别名记录。

流量是否受到影响部分取决于您的设置如何处理会话。它们是否sticky由另一个系统(如elasticache您的数据库)处理或处理。


推荐阅读