2017-02-02 37 views
0

所以我对负载平衡是全新的。我对我想做什么有了一个概念,但我不确定它是否可用于负载平衡。 我有服务器A,它是AWS 上的主要生产服务器,然后我有服务器B,它是A的克隆。 我想为此创建一个负载平衡元素,当克隆A创建服务器B时它将联机目标是在服务器A进行维护时克隆A并将负载转移到服务器B. 最重要的是当我在服务器A上进行维护时,我想要不间断的服务。然后,我希望能够关闭服务器B和负载平衡,直到下一次我要维护时为止。我会如何去做这件事?负载平衡AWS

任何人都可以告诉我,如果这是可行的,或者如果有另一种方式,我应该考虑做我想做的事情。

谢谢提前的家伙。

回答

2

您可以在服务器A前面有一个负载平衡器。当您想要执行维护时,将服务器B添加到负载平衡器,等待它开始接受流量,然后从负载平衡器中移除服务器A.进行维护,然后将服务器A添加回负载平衡器。服务器A开始接受流量后,从负载均衡器中删除服务器B.我认为这与你在问题中描述的最接近。主要问题是HTTP会话。如果您的服务器是用户登录并维护长时间运行的会话,那么您可能需要查看某种会话复制机制,以防止在负载均衡器将它们切换到其他服务器时使所有人都无法从应用中注销。

另一种选择是使用Route53运行状况检查和DNS故障转移。

我的建议是使用负载均衡器,并且只是保持两个实例在运行并且始终接受流量。在需要执行维护时执行滚动更新。

+0

这是一个好主意。从来没有想过使用这种DNS故障转移。唯一的问题是,他们能够在同一个子网上吗? –

+0

在同一子网上没有任何理由是一个问题。 –

0

为什么不使用AWS Route53 DNS故障转移来实现您想要的功能,而不是使用Load Balancer?确保您选择“主动 - 被动故障转移”记录集。

这样,当服务器A不可用时,流量将自动发送到服务器B.您需要确保服务器B已启动并正在运行。如果服务器A再次准备好生产,只需关闭服务器B,流量将再次进入服务器A.

参考:

http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring.html

+0

小心使用DNS故障转移代替负载平衡器。如果持续流量,则需要使用负载平衡器。 DNS故障转移仅适用于新的域分辨率或超过TTL的时间。现有流量仍然需要转到原来的域名目标。 –