使用amazon AWS的单容错机器

时间:2014-03-31 13:15:00

标签: amazon-web-services architecture amazon-ec2 fault-tolerance

对于特定服务,我需要以容错方式运行单个 EC2实例。

仅在出现错误时,我希望“主”计算机终止,并且流量必须在几秒钟内重定向到“辅助”计算机并自动。 这是主服务器和辅助服务器的经典案例,其约束条件是辅助服务器必须不能工作,除非主服务器崩溃。

我在这个世界上很新,但据我所知,使用弹性IP我需要在主机挂起时手动更改绑定。 相反,使用Auto Scaling,ELB和CloudWatch,我可以:

  • 使用2台机器设置自动缩放停放,但流量将进行负载平衡(粘性会话不是我想要的,因为我需要所有主机上的流量,如果它有效)< / LI>
  • 只用一台机器设置自动缩放,因此如果主机自动挂起,则新机器将在线。但据我所知,启动过程需要几分钟。

关于如何结合AWS服务以实现此目标的任何建议?

1 个答案:

答案 0 :(得分:0)

您可以使用EC2 API开发自动化选项,但是您需要一台始终在线的机器来执行此操作。

ec2中的首选方案是让负载均衡器使用无共享架构在两台机器之间发送流量(这意味着持久数据将位于s3上,或者不在实例上的数据库)。

如果您的应用程序不允许这样做,您可以设置一个备份实例,该实例将对您的主实例进行运行状况检查。使用自定义脚本,如果运行状况检查规则失败,您将重新映射和弹性IP地址到备份实例,然后终止并重新启动主实例。一旦运行状况检查再次运行,您可以自动将ip返回到主实例。这可能比在VPC中设置更容易,而不是像控制私有IP地址那样经典。