1

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

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

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

  • 使用 2 台机器设置自动缩放公园,但流量将被负载平衡(粘性会话不是我想要的,因为如果它工作,我需要主机上的所有流量)
  • 仅使用 1 台机器设置自动缩放,因此如果主机器自动挂起,则新的机器将在线。但是据我所知,启动过程需要几分钟。

关于如何结合 AWS 服务来实现这一目标的任何建议?

4

1 回答 1

0

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

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

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

于 2014-03-31T14:37:04.950 回答