【问题标题】:Single fault tolerant machine with amazon AWS亚马逊 AWS 单机容错
【发布时间】:2014-03-31 13:14:59
【问题描述】:

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

仅在出现错误的情况下我希望终止“主要”机器,并且必须在几秒钟内自动将流量重定向到“次要”机器上。 这是主服务器和辅助服务器的经典案例,除非主服务器崩溃,否则辅助服务器不得工作。

我是这个世界的新手,但据我了解,如果使用弹性 IP,如果主机挂起,我需要手动更改绑定。 相反,使用 Auto Scaling、ELB 和 CloudWatch,我可以:

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

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

【问题讨论】:

  • 什么样的应用程序?备份机器是否已经在运行,即“热备件”?
  • 这是一个基于套接字的服务,其状态在 RAM 中。 “备份机”应该是一个热备件:实际上我不知道,正确的架构确实是我的问题。我只需要几秒钟内的服务切换

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


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-13
    • 2014-03-08
    • 1970-01-01
    • 2014-04-20
    • 2015-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多