我的 Spot 实例已终止。能否恢复?

上次更新时间:2019 年 10 月 30 日

我运行中的 Amazon Elastic Compute Cloud (Amazon EC2) Spot 实例被终止,我担心可能有数据丢失。是否有方法可以恢复实例或存储在该实例上的数据?

简短描述

借助 Amazon EC2 Spot 实例,您可以对备用 Amazon EC2 实例出价,从而降低计算成本。如果 Spot 价格提高至超过您的出价,容量不再可用,或者竞价请求的限制无法满足,则 Spot 实例会被终止。有关 Spot 实例中断原因的更多详细信息,请参阅 Spot 实例的工作方式。实例终止时未备份的数据可能丢失,因此,您务必要确保应用程序已针对 Spot 实例中断情况做好准备。如果您的应用程序不能中断,我们不建议您使用 Spot 实例。有关最适合的用例和工作负载类型的列表,请参阅 Spot 用例

解决方法

如果您最近有 Spot 实例终止或中断,您担心数据可能已丢失,以下是一些可以确认数据的位置:

  • 您是否对 Spot 实例进行过配置,以在实例终止后保留 Amazon EBS 卷? 通过配置 Spot 实例,确保在实例终止后保留 Amazon EBS 卷,您可以将卷附加到其他实例并尝试恢复该卷上存储的数据。在创建 Spot 实例请求时,取消选中要在实例终止后保留的 Amazon EBS 卷的删除复选框。如果您在一个卷终止或中断前将其附加到 Spot 实例,则您要查找的数据可能存储在卷上。打开 Amazon EC2 控制台,然后选择。查找状态可用的所有未附加的卷。这些卷可以附加到其他实例。有关将卷附加到新实例的说明,请参阅将 Amazon EBS 卷附加到实例
  • 您是否有获取附加到 Spot 实例的卷的定期快照? 通常用作 Amazon EBS 卷备份的快照可能包含您要查找的数据。打开 Amazon EC2 控制台,然后选择快照。查找所有附加到 Spot 实例的卷的快照。有关更多信息,请参阅从快照中还原 Amazon EBS 卷
  • 数据是否已添加或备份到其他源? 通过 Spot 实例运行的工作流的常见输出源包括 Amazon Simple Storage Service (Amazon S3)、Amazon DynamoDB 和 Amazon Relational Database Service (Amazon RDS)。如果您将 Spot 实例设置为向某个此类服务发送输出,请检查这些服务以查找所需数据。

以后,作为最佳实践,应当提前为 Spot 实例的终止做好准备。例如,您可以指定您的 Amazon EC2 在 Spot 实例中断时将其停止或休眠,而非终止。有关如何为 Spot 实例的最终终止进行有效准备的更多信息,请参阅 Spot 实例的中断


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助吗?