【问题标题】:Load Balancing AWS负载平衡 AWS
【发布时间】:2017-02-04 01:18:08
【问题描述】:

所以我对负载平衡完全陌生。我知道我想做什么,但不确定负载平衡是否可行。 我有服务器 A,它是 AWS 上的主要生产服务器 然后我有服务器 B,它是 A 的克隆。 我想为此创建一个负载平衡元素,该元素将在克隆 A 创建服务器 B 时联机。目标是克隆 A 并将负载转移到服务器 B,而服务器 A 正在维护。 最重要的是,当我在服务器 A 上进行维护时,我想要不间断的服务。然后我希望能够关闭服务器 B 和负载平衡,直到下次我想要进行维护。我该怎么做呢?

谁能告诉我这是否可行,或者是否有其他方式我应该考虑做我想做的事情。

提前谢谢各位。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 ip load-balancing


    【解决方案1】:

    您可以在服务器 A 前面放置一个负载均衡器。当您想要进行维护时,将服务器 B 添加到负载均衡器,等待它开始接受流量,然后从负载均衡器中删除服务器 A。进行维护,然后将服务器 A 添加回负载平衡器。一旦服务器 A 开始接受流量,从负载平衡器中删除服务器 B。我认为这与您在问题中描述的内容最接近。主要问题是 HTTP 会话。如果您的服务器是人们登录并维护长时间运行的会话,那么您可能需要研究某种会话复制机制,以防止每个人在负载均衡器将他们切换到不同的服务器时从您的应用程序中注销。

    另一种选择是将 Route53 健康检查与 DNS 故障转移一起使用。

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

    【讨论】:

    • 这是个好主意。从来没有想过使用这样的 DNS 故障转移。唯一的问题是,他们能在同一个子网上吗?
    • 没有理由在同一个子网中成为问题。
    【解决方案2】:

    您为什么不使用负载均衡器而不是使用 AWS Route53 DNS 故障转移来实现您想要的。确保您选择“主动-被动故障转移”记录集。

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

    参考:

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

    【讨论】:

    • 谨慎使用 DNS 故障转移代替负载平衡器。如果您有持续的流量,则需要使用负载均衡器。 DNS 故障转移仅适用于新的域解析或超过 TTL 时。现有流量仍希望转到原始域目标。
    猜你喜欢
    • 2017-09-21
    • 2013-06-12
    • 2017-05-23
    • 2015-10-02
    • 2015-02-11
    • 2014-07-28
    • 2015-08-02
    • 2012-01-19
    • 1970-01-01
    相关资源
    最近更新 更多