如何确保exception终止后重启EC2实例?

是否有任何AWS或第三方服务可以监视多个EC2实例,并在意外终止时重新启动它们?

Rightscale做到这一点。 我相信一般来说,虽然你需要从其他(仍然活着)的实例中检测并编写脚本。

一般来说,你应该寻找云pipe理软件。 他们提供自动化工具,允许您在另一个节点意外终止时自动启动新的实例。 更确切地说,如果他们检测到服务器故障,他们将通过将其replace为新的副本或通过重新启动关键服务来解决。 如果发生在您的某个数据库上,将会提升从属服务器的主服务器,并根据需要切换已安装的存储服务器。 云pipe理软件build立在Amazon EC2和Rackspace等IaaS之上。 前面描述的function是由于复杂的API调用而产生的。

有大量的云pipe理软件可用。 之前提到的RightScale就是其中之一。 我将把Scalrjoin清单(免责声明:我在那里工作)。 Scalr是在Apache 2许可下发布的。 我希望这有帮助。