ELB非静态IP

时间:2017-12-16 00:38:10

标签: amazon-web-services dns amazon-elb

如果AWS ELB没有静态IP,这是否意味着如果IP在客户端的DNS记录到期之前发生变化,客户端将无法访问ELB指向的资源?

或者它实际上是否保留旧IP最多24小时(最大DNS TTL),以便永远不会发生这种情况?

编辑:澄清:

DNS记录缓存在客户端。例如。当客户端首次查询*.elb.amazonaws.com时,它会返回12.34.56.78。对于*.elb.amazonaws.com的后续查询,它只使用12.34.56.78而不是进行另一次DNS查找(除非DNS记录过期,如TTL所示)。

因此,如果ELB的内部IP发生变化但DNS记录仍指向旧记录,那么它无法访问该资源吗?

3 个答案:

答案 0 :(得分:1)

致Dusan link的信用:用户控制的权威名称服务器只能为CNAME记录api.example.com指定TTL(最长可达数年) *.elb.amazon.com,不会发生变化。

*.elb.amazon.com解析为实际的IP 12.34.56.78是由亚马逊的名称服务器完成的,其TTL为60秒。

因此亚马逊只需要保留旧IP 60秒,以确保所有缓存的ELB IP记录都有效。

答案 1 :(得分:0)

Elastic Load Balancer服务旨在自动检测Elastic Load Balancer本身任何组件的故障并从中恢复(部分恢复可能需要更换负载均衡器并使用新的IP地址)

因此建议使用CNAME分配DNS, 如果您的DNS提供商不支持CNAMES,您可以查看Route 53。

CNAME代表Canonical Name。 CNAME记录可用于将一个名称别名为另一个名称。 Elastic Load Balancer会公开DNS名称,AWS将对ELB的内部IP地址进行更新等。

答案 2 :(得分:0)

AWS ELB提供DNS名称而不是IP地址,因为AWS内部管理的场景后面有多个ELB用于高可用性和容错。

如果内部服务器发生更改,AWS将确保内部DNS映射即时发生。

如果要将自定义域名映射到Elastic Load Balancer,那么由于这些内部复杂性,您需要使用CNAME而不是IP地址。