为什么我的 EC2 实例自行重启?

上次更新时间:2020 年 6 月 25 日

为什么我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例意外重启?

简短描述

尽管很少发生意外重启,但是有几种原因可能会导致这种情况的发生。以下是最常见的原因:

  • 实例的一项或两项状态检查失败。
  • 托管您的实例的底层硬件出现故障,Amazon EC2 重启了该实例,以将其移至新的运行状况良好的硬件。
  • 您的实例上发生了要求重启的计划维护
  • 服务器内部的用户或应用程序重启了实例。

解决方法

您可以执行多项操作来确定实例重启的原因:

查看状态检查

从控制台或 AWS 命令行界面 (AWS CLI) 查看实例的状态检查。如果指示状态检查失败,请参阅为什么我的 EC2 Linux 实例无法访问,并且一项或多项状态检查失败?

查看系统日志

如果实例的状态检查未失败,则实例可能因操作系统级问题进行了重启。查看系统日志以确定发生了哪些错误。系统日志位于 /var/log/messages/var/log/syslog 中,具体取决于您的操作系统发行版。

查看重启历史记录

使用以下命令确定服务器内的用户或应用程序是否启动了重启:

# grep reboot /home/*/.bash_history
# grep reboot /root/.bash_history
# history | grep -i reboot
# history | grep -i init
# last reboot

查看 AWS CloudTrail 事件历史记录

从 Amazon EC2 控制台或通过 AWS 命令行界面 (AWS CLI) 启动的实例重启将显示在 CloudTrail 事件历史记录中。要查看这些事件:

  1. 打开 AWS CloudTrail 控制台
  2. 选择事件历史记录
  3. 从筛选条件下拉菜单中选择事件名称,然后输入 RebootInstances

注意:您可以创建 Amazon CloudWatch 警报,以自动恢复遇到导致重启的底层硬件问题的实例。有关如何设置 CloudWatch 警报的信息,请参阅恢复您的实例


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?