亚马逊弹性负载均衡器中的动态 IP 更改创建问题

问题描述 投票:0回答:2

我有一个子域,并将其指向一个亚马逊弹性负载均衡器,其中包含一些 EC2 实例。为了指向子域,我们创建了一条 CNAME 记录并输入负载均衡器的 DNS 名称的值。

现在我的问题是:

您知道弹性负载均衡器的IP地址是随机变化的。

因此,如果我从任何应用程序请求解析子域的 DNS,如果负载均衡器的 IP 已更改,是否有可能出现 DNS 传播延迟问题(这可能导致返回负载均衡器的旧 IP 地址) .

我应该等待新IP的传播吗?或者即使弹性负载平衡在 DNS 请求得到解析之前发生变化,新的 IP 是否会实时传播?

amazon-web-services dns subdomain amazon-elb dyndns
2个回答
0
投票

您无需担心ELB的IP地址及其IP地址变化趋势。您只需输入 ELB 提供的DNS 名称(IPv4 或 IPv6) 之一,即可代替 CNAME 记录中的 IP 地址,例如:Test-ELB-12345678.us-east-1.elb.amazonaws.com

引自ELB信息页面

注意:因为与 LoadBalancer 关联的 IP 地址集 可能会随着时间的推移而改变,您永远不应该创建带有任何内容的“A”记录 具体的IP地址。如果您想为您的计算机使用友好的 DNS 名称 负载均衡器而不是弹性负载生成的名称 平衡服务,您应该为该服务创建一条 CNAME 记录 LoadBalancer DNS 名称,或使用 Amazon Route 53 创建托管区域。 有关更多信息,请参阅将域名与弹性负载结合使用 平衡.


0
投票

几年前似乎就有过这样的担忧。您可以阅读以下有趣的文章,其中描述了一些潜在问题:Elastic Load Balancer:弹性问题

  • 新的 ELB IP 已添加到您的 ELB 池中。保留旧 DNS 条目的另一个应用程序的客户端将访问您的应用程序:

问题在于 DNS 解析在互联网的多个层进行缓存。当 ELB 扩展并从全局池中获取新的虚拟设备 IP 地址时,某个地方的某些客户端可能仍在使用该 IP 地址作为不同 ELB 的 DNS 名称的解析。这个另一个 ELB 甚至可能不属于你。几个小时前,另一个具有不同 DNS 名称的 ELB 通过 DNS 查找返回了该 IP 地址。现在,该 IP 地址正在为您的 ELB 提供服务。但某些地方的某些客户端可能仍在使用该 IP 地址来尝试访问不属于您的应用程序。

  • ELB IP 将从您的 ELB 池中删除并分配给其他应用程序的 ELB 池。保留旧 DNS 条目的客户端最终将访问其他应用程序:

当 ELB 缩小规模并将虚拟设备 IP 地址释放回全局池时,就会出现相反的情况。某个地方的某些客户端可能会继续将您的 ELB 的 DNS 名称解析为现在放弃的 IP 地址。当地址返回到池中时,该客户端尝试连接到您的服务将失败。如果同一虚拟设备 IP 随后为另一个 ELB 投入服务,则使用您的 ELB DNS 名称的缓存但不再是当前 DNS 解析的客户端将被定向到另一个 ELB 虚拟设备,然后返回-结束不属于您的实例。

现在,这篇文章是 2009 年的,截至 2010 年 3 月,亚马逊已经部分解决了这个问题:

ELB IP 地址从 ELB 的 DNS 池中撤回后,将继续将流量引导至 ELB 一小时

请记住,某些缓存 DNS 条目较长时间的客户端仍可能受到影响。

© www.soinside.com 2019 - 2024. All rights reserved.