我有一个子域,并指出这是一个亚马逊弹性负载均衡器,其中包括几个EC2实例。为了指向子域,我们创建了一个CNAME记录,并将负载均衡器的DNS名称的值放入其中。
现在我的问题是:
你知道弹性负载均衡器的IP地址随机变化。
因此,如果我请求从任何应用程序解析我的子域的DNS,如果负载均衡器的IP已经更改,是否存在DNS传播延迟问题(这可能导致返回负载均衡器的旧IP地址)。
我应该等待新IP的传播吗?或者,即使弹性负载平衡在DNS请求被解析之前发生变化,新IP也会被实时传播吗?
发布于 2014-07-09 09:22:43
您不必担心ELB的IP地址及其更改IP地址的趋势。而不是CNAME记录中的IP地址,您只需将其中一个DNS名称(IPv4或IPv6)放在ELB将提供的ex:中。
引用来自ELB信息页面的
注意:由于与LoadBalancer相关联的IP地址集可能随着时间的推移而改变,所以您不应该使用任何特定的IP地址创建"A“记录。如果要为负载均衡器使用友好的DNS名称,而不是使用弹性负载平衡服务生成的名称,则应为LoadBalancer DNS名称创建CNAME记录,或使用Amazon路由53创建托管区域。有关更多信息,请参见使用具有弹性负载平衡的域名。
发布于 2015-10-07 05:50:23
几年前似乎就有过这样的担忧。您可以阅读以下有趣的文章,其中描述了一些潜在的问题:弹性负载均衡器:一种弹性Gotcha
问题是DNS解析被缓存在整个互联网的许多层。当ELB扩展并从全局池获得一个新的虚拟设备IP地址时,某个地方的客户端可能仍然使用该IP地址作为对不同ELB的DNS名称的解析。另一个可能不属于你。几个小时前,另一个具有不同DNS名称的ELB从DNS查找返回了该IP地址。现在,IP地址正在为您的ELB服务。但某些客户端可能仍在使用该IP地址来尝试访问不属于您的应用程序。
另一方面,当ELB缩小并释放一个虚拟设备IP地址回全局池时,就会发生这种情况。某个客户端可能会继续将您ELB的DNS名称解析为现在放弃的IP地址.当地址返回到池时,该客户端连接到您的服务的尝试将失败。如果同一个虚拟设备IP随后被应用到另一个ELB中,那么为您的ELB DNS名称使用缓存但不需要更长时间的DNS解析的客户端将被定向到另一个ELB虚拟设备,然后继续到不属于您的后端实例。
现在,这篇文章是从2009年开始的,截至2010年3月,Amazon已经部分解决了这一问题:
ELB IP地址将在从ELB的DNS池中提取后,继续向ELB发送一个小时的流量
请记住,一些缓存DNS条目较长时间的客户端仍然可能受到影响。
https://stackoverflow.com/questions/24631714
复制相似问题