AWS弹性负载均衡和多可用区(AWS Elastic Load Balancer and multi

2019-07-30 09:00发布

我想了解多个可用性区域之间如何ELB负载平衡。 举例来说,如果我有4个实例( a1, a2, a3, a4 )在区us-east-1a和单一实例d1us-east-1d的ELB的背后,如何在两个可用性区域之间分配的流量? 即,将d1获得近50%的所有流量,或者1/5th的流量?

Answer 1:

如果启用ELB 跨区域负载均衡 ,D1将获得流量的20%。

这里是没有启用跨区域负载均衡发生什么:D1将获得近50%的流量。 这就是为什么亚马逊建议增加从每个AZ实例相同数量的ELB。

下面的摘录摘自弹性负载平衡的概述 :

传入流量负载分散到您的负载均衡器启用的所有可用性区域同样平衡,所以在每个区域的情况下,大约相当于数是很重要的。 举例来说,如果你有空房ZONE US-东-1A个实例和两个实例在美国东部-1B,交通仍然会同样两个可用性区域之间进行分配。 其结果是,在美国东部-1B的两个实例必须满足相同的通信量的如美东-1A的十个实例。 作为最佳实践,我们建议您保持您的每一个可用性区域的情况下的等效或几乎同等数量。 因此在本例中,而不是在美国东部-1A有个实例,两个在美国东部-1B,你可以让你在每个可用区六个实例分发您的实例。



Answer 2:

负载不同的可用性区域之间的平衡是通过DNS完成。 当客户端上的DNS解析请求的ELB的IP地址,它得到两个地址。 并选择使用其中的一个(通常是第一个)。 DNS服务器通常以随机顺序进行响应,所以第一个IP是不是在任何时候使用,但每个IP只使用时间(半2,时间为三3,等等)的一部分。

然后,这些IP地址在你身后有在具有连接到它的每个实例可用区的ELB服务器。 这就是为什么,只是一个单一实例的区域将获得相同的通信量在另一个区域中的所有实例的原因。

当你到你有一个非常大的一些情况来看,ELB可以决定一个可用性区域创建两个这样的服务器,但在这种情况下,它会分裂的情况下,它有一半(或其他一些等分)的实例。



文章来源: AWS Elastic Load Balancer and multiple availability zones