如何解决托管我的 EC2 实例的底层硬件降级的问题?

1 分钟阅读
0

我收到一条通知,说托管我的 Amazon Elastic Compute Cloud(Amazon EC2)实例的底层硬件降级。

简述

如果发生硬件故障,Amazon EC2 会将特定硬件标记为故障。在故障硬件的虚拟机管理程序上运行的任何实例都必须转移到运行正常的硬件。在此转换中,Amazon EC2 会停止由 Amazon Elastic Block Store(Amazon EBS)支持的实例,并终止由实例存储支持的实例。Amazon EC2 还会向您的电子邮件地址以及在 AWS Health Dashboard 中发送通知,告知硬件降级以及即将停止或终止的实例。您也可以手动停止或终止实例,以便更快地开始转换。停止或终止实例后,您必须启动它才能将其转换到运行正常的底层硬件。

**注意:**对于从 Amazon EC2 Auto Scaling 组启动的实例,实例会立即终止和替换。只要实例存在将来的计划维护或停用事件,Amazon EC2 Auto Scaling 就会自动替换这些实例。当您收到硬件降级通知时,您无法在控制面板中看到原始实例。要查看终止事件,请查看该实例的 AWS CloudTrail 日志文件。

解决方案

使用 Amazon EC2 控制台或 AWS 命令行界面(AWS CLI)手动停止然后启动您的实例。当您停止实例时,系统会将其从故障硬件中移除。当您再次启动它时,系统会在运行正常的硬件上启动它。

**注意:**如果您在运行 AWS CLI 命令时收到错误,请参阅排查 AWS CLI 错误。此外,确保您使用的是最新版本的 AWS CLI

停止然后启动实例

**注意:**停止然后启动并不等同于重新启动。需要启动实例才能将实例迁移到运行正常的硬件。

在继续操作之前,请注意以下停止然后启动实例的条件:

  • 此过程需要停止然后启动 EC2 实例。当实例停止然后再次启动时,实例存储数据会丢失。如果您的实例是由实例存储支持的,或者具有包含数据的实例存储卷,则数据在实例停止时会丢失。有关详细信息,请参阅确定实例的根设备类型
  • 停止然后启动实例会更改实例的公共 IP 地址。将外部流量路由到您的实例时,最好使用弹性 IP 地址而不是公共 IP 地址。

要停止然后启动实例,请完成以下步骤:

  1. 打开 Amazon EC2 控制台,然后选择您的实例。
  2. 选择操作实例状态停止
  3. 选择是,请停止
    注意:如果您的实例卡在正在停止状态,则可能需要强制停止该实例。有关停止卡在正在停止状态的实例的更多信息,请参阅排查实例的停止问题
  4. 再次选择该实例。
  5. 依次选择操作实例状态启动
  6. 选择是,请启动

注意:在硬件降级通知中列出的停止或终止日期之前,该硬件降级通知将保留在您的 AWS Health Dashboard 中,状态显示为已完成

(可选)为您的实例设置实例恢复

您可以创建 Amazon CloudWatch 警报,自动恢复底层硬件降级的实例。有关如何设置 CloudWatch 警报的信息,请参阅恢复实例

AWS 官方
AWS 官方已更新 6 个月前