Amazon EC2 实例计划停用时,我需要了解什么?

上次更新时间:2020 年 4 月 20 日

我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例已计划停用。这意味着什么?

简短描述

当 Amazon Web Services (AWS) 检测到托管实例的基础设施发生无法修复的故障时,该 EC2 实例将会计划停用。

可能导致实例计划停用的问题包括:

  • 发生无法恢复的软件相关问题,必须更换软件。
  • 发生需要更换硬件的硬件故障,例如电源故障、硬盘故障或其他服务器组件故障。

注意:在计划的事件时间到来前,可能会在您的 Personal Health Dashboard 上显示一条停用通知。您还可以在从 Amazon EC2 控制台的计划事件下查看实例的计划事件。您也可使用以下命令来查看实例的计划事件:

从 AWS 命令行界面 (AWS CLI)

describe-instance-status

从 AWS Tools for Windows PowerShell

Get-EC2InstanceStatus

解决方法

要在实例停用日期前采取的行动

您必须在实例停用日期前的某个适当时间停止并重新启动该实例。停止并重启实例会将该实例移动到其他运行状况正常的主机。

警告:停止实例之前,您需要注意以下事项:

  • 如果您没有使用弹性 IP 地址,则当您停止实例时,将会释放公有 IP 地址。
  • 如果此实例具有实例存储卷,当实例停止时,实例上的任何数据都将丢失。有关更多信息,请参阅停止挂载了实例存储卷的实例部分。
    注意(仅适用于 Windows 实例):实例存储卷在实例上的“我的计算机”中标记为“临时存储”。
  • 如果实例关闭行为设置为终止,则实例停止时将会终止。
  • 如果您的实例是 Amazon EC2 Auto Scaling 组的一部分,或者您的实例由使用 AWS Auto Scaling 的服务(例如 Amazon EMR、AWS CloudFormation、AWS Elastic Beanstalk 等)启动,则停止实例可能会导致实例终止。在这种情况下,是否会发生实例终止取决于您的 Auto Scaling 组的实例缩减保护设置。如果您的实例是 Auto Scaling 组的一部分,请在开始执行这些解决步骤之前,临时从 Auto Scaling 组中删除实例
  • 请注意,AWS 不保证按需实例的容量一定可用。按需实例的容量会动态变化,因此当您尝试启动已停止的实例时,您可能会收到 InsufficientInstanceCapacity 错误。要避免此错误,您可以使用按需容量预留

要防止意外停机和数据丢失,应在实例停用日期前采取行动做好准备。需要的操作取决于实例的根设备类型。有关更多信息,以及要确定您的实例根设备属于 Amazon Elastic Block Store (Amazon EBS) 卷还是实例存储卷,请参阅:

停止和启动 EBS 支持的实例

收到实例停用通知时,底层主机已经进入阻止在硬件上再次启动实例的状态。停止并重启操作会将您的实例移动到新的底层硬件,无需您采取任何进一步的操作。您无需担心会丢失数据。停止并重新启动您的实例时,存储在 EBS 卷上的数据会持久存在。

由于底层硬件降级,EBS 支持的实例可能会卡在“正在停止”状态。您可以使用控制台或 AWS 命令行界面 (AWS CLI) 强制停止实例。此操作可能需要长达 10 分钟。有关更多信息,请参阅排查实例的停止问题

停止挂载了实例存储卷的实例

实例停止时,实例存储卷上的数据将不再保留。要防止数据丢失,请使用远程桌面协议 (RDP) 连接到您的实例。然后,将实例存储卷上的数据移动到挂载的 EBS 卷中。有关更多信息,请参阅实例存储生命周期。如果实例的根设备属于实例存储卷,则实例将在其停止时终止,且无法再次使用。

构建容错型架构

通过构建容错型架构来减少甚至消除停机时间。有关更多信息,请参阅 AWS Well-Architected

在停用日期前已经无法连接的实例

由于实例停用往往是因意外的软件或硬件故障所导致,底层主机可能会在计划停用日期之前已经无法访问。AWS 会努力在规定的日期之前保持实例可以访问,并且在某些情况下,可能会将主机恢复正常工作。

要将实例迁移到运行正常的新主机,您可以停止并重启实例。在停止并重启后,实例停用将不再适用,也无需采取进一步措施。

有关更多信息,请参阅我收到一则通知,指出 Amazon EC2 检测到托管我的 EC2 实例的基础硬件性能出现降级。我需要怎么做?


实例停用(Amazon EC2 Windows 实例用户指南)

实例停用(Amazon EC2 用户指南 [适用于 Linux 实例])

这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?