我在 VPC上运行应用程序和经典内部负载均衡器。 它们中的每一个都与三个子网相关联,位于不同的可用区域,并且几乎每个子网都只指向一个实例(在我的情况下是 ECS 容器)。
但是在发出 nslookup 命令(nslookup internal-MYLB.us-east-1.elb.amazonaws.com
)
我可以看到输出:
Server: 10.xxx.xxx.37
Address: 10.xxx.xxx.37#53
Non-authoritative answer:
Name: internal-MYLB.us-east-1.elb.amazonaws.com
Address: 10.xxx.xxx.187
Name: internal-MYLB.us-east-1.elb.amazonaws.com
Address: 10.xxx.xxx.204
对于每个负载均衡器,它是经典或应用程序,两个IP地址与其域名相关联。
我只是想知道:
aws elb describe-load-balancers
)对于上下文,我们有一个远程合作伙伴,他只使用与负载均衡器关联的两个IP地址中的一个来解决问题,可能是由于某些重叠的子网范围导致的网络冲突,但我更喜欢确保我先看到的。
答案 0 :(得分:4)
Elastic Load Balancer部分使用DNS在不同的可用区域之间分配负载。所以你的“单一”负载均衡器实际上就是它们中的一组。
AWS将在负载增加和减少时创建和销毁节点。因此,您不应直接使用ELB的IP地址。相反,您应该始终使用DNS CNAME来允许ELB分发流量。
UI中无法查看IP地址,实际上,您不应该关心它们。
如果遇到IP地址冲突,请确保您的VPC子网CIDR不与其他任何内容重叠,例如VPN。
答案 1 :(得分:3)
ELB是AWS提供的托管服务。在幕后,ELB由多个负载平衡器组成。当流量增加时,ELB会提出许多负载平衡器来处理流量。在另一个术语中,ELB autoscales。但问题是ELB本身不管理流量。它发生在DNS查找级别。 ELB的所有负载平衡器都在亚马逊的DNS服务上注册其IP地址。因此,对于不同的查询,亚马逊将返回不同的IP地址。这就是为什么ELB只有DNS名称而不是静态IP地址。
因此,当您执行 nslookup 时,它会显示ELB负载均衡器的IP地址。
答案 2 :(得分:1)