EC2 实例失败

EC2 实例失败

假设我有一个 EC2 实例。如果它失败了 - 所有数据都会丢失(我们不讨论 EBS)。问题是,如果失败,亚马逊是否会重新创建实例?或者我的网站将关闭,直到我进入管理控制台并重新运行它?


我的问题可能没有表达清楚。问题不在于数据丢失。如果实例因某种故障而终止,我的服务器会重新上线吗?

我们这里有一些答案。谢谢

因此,如果实例因故障而停机,我必须手动启动。问题是亚马逊是否会向我发送有关该问题的消息?想象一下,我正在度假,实例失败了,而我对此一无所知。那么网站这些天一直处于停机状态???

谢谢

答案1

亚马逊通常会尝试恢复实例(如果是他们的问题),但根据我的经验,如果情况确实如此,终止实例并启动新实例会更快。也就是说,在两年内,我只遇到过两次实例“失败”。亚马逊不会重新启动被锁定的实例(例如过度交换等)。您可以使用自动扩展来维持恒定数量的实例(如果一个实例失败,它会自动为您启动一个新实例)。

您不应该有任何需要持久保存在实例存储卷上的数据。使用 EBS 卷(甚至是根卷),它们可以配置为在实例终止后持久保存,并防止您丢失任何数据。(此外,对 EBS 卷进行快照的能力也非常有用)。

我可能会建议,一个出价过高的持久现货实例请求将重新启动失败的实例(但据我所知,亚马逊对现货实例的支持较少 - 它们本来就是一次性的)。这种方法对“冻结”实例没有帮助。

根据您所服务的内容,您可以考虑使用两个较小的实例来互相监控和负载平衡 - 这大大降低了两个实例都宕机的可能性,但仍应与自动缩放等功能结合使用。Cloudwatch 将帮助您监控实例是否“冻结”(我相信 5 分钟的粒度是免费的);您可能还需要某种外部监控(Pingdom/UploadRobot)以防万一。

答案2

不,您应该以这样一种方式设计您的实例,即所有持久性数据都存储在实例之外。您应该为实例失败做好准备。

如果您希望实例具有持久性,则应该考虑使用 VPS 提供商,例如 Linode 或 Slicehost。

答案3

回答你实际问的问题:是的,如果 EC2 实例发生故障,那么你的实例将处于关闭状态,直到重新启动。有些服务(包括 Amazon 自己运行的一项服务,如果我没记错的话)会自动重新启动发生故障的实例,但默认情况下,一旦实例发生故障,它就会关闭。

相关内容