我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例未通过一项或多项状态检查。
简短描述
Amazon EC2 使用三种状态检查来监控 EC2 实例的运行状况:
重要事项: 某些状态检查的解决方法要求您停止并启动实例。重启会使实例保留在同一物理主机上。要迁移到新硬件,必须停止并启动实例。
解决方法
首先,查看实例的状态检查指标以识别失败的状态检查。然后,根据失败的状态检查执行以下操作。
配置实例以进行停止和启动
注意: 当停止并启动某个实例时,该实例的公有 IP 地址将发生变化。最佳做法是使用弹性 IP 地址(而不是公有 IP 地址)将外部流量路由到您的实例。如果您使用的是 Amazon Route 53,则在公有 IP 地址发生变化时可能需要更新 Route 53 DNS 记录。实例的停止和启动与实例重启不同。有关详细信息,请参阅停止和启动 EC2 实例的工作原理。
在停止和启动实例之前,请执行以下操作:
对系统状态检查失败进行故障排除
当实例运行所在的底层基础设施出现问题时,系统状态检查就会失败。
要对系统状态检查失败进行故障排除,请检查 AWS Health Dashboard,了解您的实例所在的 AWS 区域内是否存在服务中断。
如果没有中断,则表示实例的底层主机存在问题。要对此问题进行故障排除,请完成以下步骤将实例迁移到新的底层主机:
- 停止实例。
注意: 如果实例卡滞在 Stopping(正在停止)状态,请强制停止实例。此操作最多可能需要 10 分钟。
- 启动实例。
要自动恢复未通过系统状态检查的实例,请设置实例自动恢复。
重要事项: 强制停止不会刷新文件系统缓存,并可能导致数据丢失或损坏。重启后,请根据您的操作系统 (OS) 运行以下命令,检查文件系统是否存在一致性错误。
Linux:
fsck
Windows:
chkdsk
sfc /scannow
chkdsk 命令检查卷的文件系统和文件系统元数据是否存在逻辑和物理错误。sfc /scannow 命令检查文件系统是否损坏。有关更多信息,请参阅 Microsoft 网站上的 chkdsk 和使用系统文件检查器。
对实例状态检查失败进行故障排除
实例状态检查可识别操作系统、网络配置和资源使用方面的问题。要对实例状态检查失败进行故障排除,请根据您的实例操作系统使用以下资源:
对附加 EBS 状态检查失败进行故障排除
如果您的实例未通过附加 EBS 状态检查,请检查 Amazon CloudWatch 中的指标 VolumeStalledIOCheck 是否存在受影响的卷。如果该值为 1,则表示卷存在问题。通常,Amazon EBS 会在几分钟内自动诊断并恢复该卷。有关更多信息,请参阅 Amazon EBS I/O characteristics and monitoring(Amazon EBS I/O 特性和监控)。
要验证卷是否已恢复,请检查 VolumeStalledIOCheck 的值是否更改为 0。
如果问题仍然存在,则停止和启动实例以将其迁移到新主机。如果重启后特定卷仍存在问题,则必须更换该卷。创建卷的快照,然后从快照创建新卷。使用新卷替换现有卷。
相关信息
排查 Amazon EC2 实例无法访问的问题