假设我有一个EC2实例。如果失败--所有数据都丢失了(我们不讨论EBS)。亚马逊是否会在失败的情况下重新创建实例?或者我的网站会关闭,直到我进入管理控制台并重新运行它?
我们这里有一些答案。谢谢
因此,如果实例因故障而关闭,则必须手动启动。问题是亚马逊是否会向我传达关于这个问题的信息?想象一下我在度假,比如失败了,但我对此一无所知。所以这些天来,网站一直都在运营?
谢谢
发布于 2011-07-07 01:29:27
Amazon通常会尝试恢复实例(如果这是他们的问题),但根据我的经验,只要终止它并启动一个新实例就更快了。尽管如此,在两年内,我只发生过两次“失败”。Amazon不会重新启动被锁定的实例(例如,过度交换等等)。您可以使用自动标度来维护一定数量的实例(如果一个实例失败,它将自动为您启动一个新实例)。
不应该有任何数据需要在实例存储卷上持久化。使用EBS卷(甚至根卷),可以将它们配置为在实例被终止后持久化,并防止丢失任何数据。(此外,快照EBS卷的功能非常有用)。
我可能会建议,一个出价过高的持久spot实例请求会重新启动一个失败的实例(但据我所知,Amazon对spot实例的支持较少-它们应该是一次性的)。这种方法对“冻结”实例没有帮助。
根据您所服务的内容,您可能会考虑两个相互监视和负载平衡的较小实例--这大大降低了这两个实例下降的可能性,但仍然应该与自动标度之类的内容一起使用。Cloudwatch将帮助您监视实例是否“冻结”(我相信5分钟的粒度是免费的);您可能还需要某种外部监视(Pingdom/UploadRobot)以防万一。
发布于 2011-07-07 00:59:06
不,在设计实例时,应该使任何持久数据都存储在实例之外。您应该计划使实例失败。
如果要在实例中持久化,则应考虑VPS提供程序,如Linode或Slicehost。
发布于 2011-07-07 01:14:12
要回答您实际问到的问题:是的,如果EC2实例失败,那么您的实例将处于关闭状态,直到重新启动为止。有些服务(如果内存可用的话,包括由Amazon自己运行的服务)将自动重新启动失败的实例,但默认情况下,一旦关闭,就会关闭。
https://serverfault.com/questions/287723
复制相似问题