为什么 AWS 使用主机名而不是 IP 地址作为负载均衡器?

为什么 AWS 使用主机名而不是 IP 地址作为负载均衡器?

我开始了解负载均衡器在云平台中的工作原理。我在这里特别谈论的是用于将多个后端公开到公共互联网的负载均衡器,而不是内部负载均衡器。

我从 GCP 开始,当你配置负载均衡器时,你会得到一个公共 IP 地址。然后我了解了 AWS,当你配置负载均衡器(或至少是 Elastic Load Balancer)时,你会得到一个主机名(例如my-loadbalancer-1234567890.us-west-2.elb.amazonaws.com)。

使用单个 IP,我可以设置任何我喜欢的 DNS 记录。这意味着我可以将我的名称服务器保留在云平台之外以设置域,并且可以对 Lets Encrypt 进行 DNS 挑战,因为我可以在为我的域设置 A 记录后为其设置 TXT 记录。使用主机名方法,我必须使用 ALIAS 记录(AWS 必须在内部跟踪事物),因此我必须使用他们的 DNS 服务(Route 53)。这种 DNS 差异对我来说有点不方便,因为这不是我习惯的,如果我想将我的域的主要名称服务器保留在 AWS 之外,我可以。我只需将我的域的子域委托给 Route 53 的名称服务器即可。

到目前为止,这种 DNS 差异是我注意到的负载均衡器架构差异的唯一后果。也许还有更多。从架构的角度来看,GCP 和 AWS 选择他们所采用的方法是否有原因?优点和缺点是什么?

答案1

在 AWS 中,负载均衡器 IP 可能会发生变化,并且这种变化会自动反映在 DNS 名称中。因此,您可以引用 DNS 名称(例如 CNAME),一切正常。当使用 Route53 进行 DNS 时,您甚至可以创建 ALIAS-A 记录,将当前 IP 地址从 LB DNS 直接传播到您的自定义 DNS 名称。

如果你想要与 GCP 相同的行为,即具有两个负载均衡器固定的、不改变的 IP 地址抬头亚马逊全球加速器。它与 AWS 应用程序负载均衡器无缝集成,并为您提供与在 GCP 上相同的体验。

希望有帮助:)

相关内容