亚马逊的应用程序负载均衡器 (ALB) 是 AWS 的默认 HTTP 负载均衡器,但它们没有静态 IP 地址。相反,它们被赋予一个生成的域名(例如myservice-12345678.eu-west-1.elb.amazonaws.com.
),该域名始终指向最新的 ALB IP 地址。
然后,建议使用 Route53通过记录(或顶点域的记录)将您的实际域名(例如service.example.com
)指向此生成的 ALB 域名。CNAME
ALIAS
重要的是不要使用A
记录直接从主域指向 ALB 的 IP 地址,因为当动态 ALB IP 地址发生变化时,主域将无法指向任何地方,从而导致服务中断,直到有人明确更新 DNS。
设置此项会CNAME
导致 DNS 如下所示:
$ dig service.example.com
...
;; ANSWER SECTION:
service.example.com. 300 IN CNAME myservice-12345678.eu-west-1.elb.amazonaws.com.
myservice-12345678.eu-west-1.elb.amazonaws.com. 60 IN A 52.121.11.212
myservice-12345678.eu-west-1.elb.amazonaws.com. 60 IN A 18.112.21.121
但是,如果这些 IP 可能会发生变化,那么我不明白即使使用初始的 ,这如何能保持稳定CNAME
。客户端仍会缓存从myservice-12345678.eu-west-1.elb.amazonaws.com
-> 的辅助步骤52.121.11.212
60 秒(如果忽略 TTL,则缓存时间更长)。
这是否意味着,如果其中一个 ALB 节点的 IP 地址发生变化,那么客户端的连接可能会中断长达一分钟?(循环 DNS 设置无法提供任何可靠的保护)
除非 Amazon 谨慎地滚动部署新的 ALB 节点,否则在 ALB DNS 更改后,旧节点至少会保持运行 60 秒。我完全可以相信这一点,但我已经搜索了几个小时,却找不到任何暗示它以这种方式工作的信息。我也找不到任何关于这些 IP 地址实际更改频率的信息,或者可能触发更改的原因。
有谁知道亚马逊如何(或者是否)以这种方式使 ALB 可靠?
3
–
–
–
|