亚马逊aws上的故障转移代理?

时间:2012-02-07 00:32:53

标签: proxy amazon-web-services failover

这是一个相当普遍的问题。假设我有三个ec2框:两个应用程序框和一个托管nginx作为反向代理的框,将请求委托给两个应用程序框(我的数据库托管在其他地方)。现在,这两台app机器可以吸收它们之间的故障,但是第三台机器代表单点故障。如何配置我的设置,以便在反向代理关闭时,该网站仍然可用?

我正在寻找keepalived和HAproxy。对我来说,这些东西是不明显的,并且对初学者耳朵的任何帮助都表示赞赏。

2 个答案:

答案 0 :(得分:3)

如果您的nginx只是代理HTTP请求,请查看Amazon Elastic Load Balancer。您可以设置两个(或更多)应用程序框,留下一些备用框(为了始终保持两个或更多,如果需要),设置健康检查,在平衡器上进行SSL终止,使用粘性会议等。

但是,有很多人希望看到能够为ELB设置弹性IP地址,而其他人则有充分的理由为什么不需要它。

我的建议是,您可以查看ELB documentation,因为它似乎完全符合您的需求。我还建议您阅读此interesting post以便就此主题进行讨论。

答案 1 :(得分:0)

我认为如果您是HA和群集的初学者,那么您最好的解决方案是由Amazon维护的Elastic Load Balancer(ELB)。它们自动扩展并实现高可用性的平衡器集群。因此,使用ELB服务,您已经减轻了您评论的失败点。此外,重要的是要记住ELB比AWS中的2个实例便宜。当然,它更容易启动和维护。

您无法看到多个ELB,因为它是一项服务,因此您无需担心可用性。

其他重要的一点是,AWS弹性ips未分配给您的操作系统实例的NIC接口,因此在经典基础架构中使用虚拟ips也很困难。

在此解释之后,如果您仍然希望Nginx在AWS中作为代理反向,因为您的原因,我认为您可以实现具有由Nginx实例组成的层的自动缩放组。但如果您不是自动缩放技术的专家,那可能会非常棘手。

相关问题