AWS 最近推出了 NLB(网络负载均衡器),其中 EIP(弹性 IP)可以链接到 AZ(可用区)。建议在多个可用区上使用 NLB,因此每个可用区链接多个 EIP。
但是当其中一个 AZ 出现故障时会发生什么情况,链接的 EIP 是否会链接到另一个 AZ,直到原始 AZ 再次出现?如果您使用单个 EIP(即为 NLB 使用一个 AZ),这一点很重要,即使您在多个 AZ 上运行的服务器已启动并正在运行,此类故障也可能导致流量故障。
AWS 最近推出了 NLB(网络负载均衡器),其中 EIP(弹性 IP)可以链接到 AZ(可用区)。建议在多个可用区上使用 NLB,因此每个可用区链接多个 EIP。
但是当其中一个 AZ 出现故障时会发生什么情况,链接的 EIP 是否会链接到另一个 AZ,直到原始 AZ 再次出现?如果您使用单个 EIP(即为 NLB 使用一个 AZ),这一点很重要,即使您在多个 AZ 上运行的服务器已启动并正在运行,此类故障也可能导致流量故障。
为遇到类似问题的任何人回答我的问题。这就是 AWS 支持对我的问题的回应
可用区 (AZ) 是不同的地理位置,旨在与其他 AZ 中的故障隔离。但是,不幸的是,当一个 AZ 发生故障时,该 AZ 上的服务就会中断。不会自动将 IP 转移到另一个 AZ[1]。
尽管 AZ 故障很少见,并且 AWS 努力避免此类故障,但这些类型的故障可能而且确实会发生。出于这个原因,我们通常要求用户将资源(NLB)放置在多个 AZ 中。通过这种方式,可以保护应用程序免于在单个位置发生故障。如果一个区域发生故障,另一个区域中的应用程序可以继续运行[2]。
[1] https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-regions-availability-zones [2] https://media.amazonwebservices.com /architecturecenter/AWS_ac_ra_ftha_04.pdf
如果 AZ 中没有健康的实例,EIP 将停止工作,并且 NLB 从负载均衡器的 DNS 记录中删除其条目。当 AZ 再次变得健康时,它会重新添加。
如果一个或多个目标组在已启用的可用区中没有健康的目标,我们会从 DNS 中删除相应子网的 IP 地址,以便无法将请求路由到该可用区中的目标。
https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-health-checks.html
因此,您的调用者应该尊重 DNS TTL。