Proxy Amazon aws上的故障切换代理?

Proxy Amazon aws上的故障切换代理?,proxy,amazon-web-services,failover,Proxy,Amazon Web Services,Failover,这是一个相当普遍的问题。假设我有三个ec2框:两个应用程序框和一个作为反向代理托管nginx的框,将请求委托给这两个应用程序框(我的数据库托管在其他地方)。现在,这两台应用程序机器可以吸收它们之间的故障,但是第三台代表单点故障。如何配置我的设置,以便在反向代理关闭时,站点仍然可用 我在看Keepalive和HAproxy。对我来说,这是不明显的,对于初学者来说,任何帮助都是非常感谢的。如果你的nginx只做代理HTTP请求,请看看Amazon弹性负载平衡器。您可以设置两个(或更多)应用程序框,保

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


我在看Keepalive和HAproxy。对我来说,这是不明显的,对于初学者来说,任何帮助都是非常感谢的。

如果你的nginx只做代理HTTP请求,请看看Amazon弹性负载平衡器。您可以设置两个(或更多)应用程序框,保留一些备用应用程序框(以便在需要时始终保持两个或更多),设置运行状况检查,在平衡器处终止SSL,使用粘性会话等

不过,有很多人希望看到将弹性IP地址设置为ELBs的能力,还有一些人有很好的理由认为不需要这样做


我的建议是,你看看,因为它似乎完全符合你的需要。我还建议您阅读这篇文章,以便更好地讨论这个问题。

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

您无法看到多个ELB,因为它是一项服务,所以您不必考虑可用性

另一个重要的一点是,AWS弹性IP并没有分配给操作系统实例的NIC接口,所以在经典基础设施中也使用虚拟IP是很困难的


在这个解释之后,如果出于您的原因,您仍然希望在AWS中使用Nginx作为反向代理,我认为您可以使用由Nginx实例组成的层实现一个自动缩放组。但如果你不是自动校准技术的专家,这可能会非常棘手

一个可能相关的问题是,我可以在一个弹性IP地址后面有几个EC2实例吗?通过这种方式,我可以在那里放置两台带有反向代理的机器,如果其中一台出现故障,另一台继续运行?我还被建议查看Nagios和Heartbeat。谢谢对我的团队已经调查了Nagios,非常棒。但用于监视,而不是故障切换。您可能应该将冗余(通过向负载平衡器和/或集群添加多个节点)和使用像Nagios这样的监视工具结合起来。