假设我有一个EC2实例。 如果失败 – 所有的数据都会丢失(我们不谈论EBS)。 如果失败,亚马逊是否会重新创build实例? 或者我的网站将会closures,直到我进入pipe理控制台并重新运行它?
我们在这里有一些答案。 谢谢
所以如果实例因故障而closures,我必须手动启动。 问题是,如果亚马逊会给我一个关于这个问题的信息? 想象一下,我在度假,实例失败,我不知道。 所以这个网站一直停留下来呢?
谢谢
亚马逊通常会尝试恢复实例(如果这是他们的问题),但根据我的经验,只要终止它并启动一个新的实例就更快了。 也就是说,两年来,我只有两次“失败”。 亚马逊将不会重新启动被locking的实例(例如过度交换等)。 你可以使用自动调节来维持一个固定数量的实例(如果一个失败,它会自动为你启动一个新的)。
实例存储卷上不应有任何需要持久性的数据。 对于EBS卷(甚至是根卷),可以将它们configuration为在实例终止后保留,并防止丢失任何数据。 (另外,快照EBS卷的function非常有用)。
我可能会build议一个显着高于持续点的实例请求会重新启动一个失败的实例(但是亚马逊对我所知道的现货实例的支持较less – 它们意味着是一次性的)。 这个方法对于一个“冻结”的实例是没有帮助的。
根据您所服务的内容,您可能会考虑两个较小的实例来监视和负载平衡 – 这大大降低了两者都下降的可能性,但仍应与自动缩放等function一起使用。 Cloudwatch将帮助您监视一个实例是否“冻结”(我相信5分钟的粒度是免费的); 以防万一你也可能需要某种外部监控(Pingdom / UploadRobot)。
不,您应该devise实例,以便任何持久性数据都存储在实例之外。 你应该计划有实例失败。
如果你想在你的实例持久化,你应该考虑一个VPS提供者,如Linode或Slicehost。
要回答您实际询问的问题:是的,如果一个EC2实例失败,那么您的实例将会closures,直到重新启动。 有些服务(包括Amazon自己运行的,如果内存服务的话)会自动重新启动失败的实例,但默认情况下,一旦失败,服务就会停止。