Why did my EC2 instance reboot or restart itself?
Last updated: 2022-11-09
Why did my Amazon Elastic Compute Cloud (Amazon EC2) instance reboot or restart unexpectedly?
Although unexpected reboots or restarts are rare, there are several reasons they might occur. The following are the most common reasons:
- The instance failed one or both of its status checks.
- The underlying hardware hosting your instance was faulty and Amazon EC2 restarted the instance to move it to new, healthy hardware.
- Scheduled maintenance occurred on your instance that required a reboot.
- A user or application inside your server rebooted the instance.
- A kernel bug. If you encounter a kernel bug, be sure that your kernel is fully updated.
To update the kernel, run one of the following commands or similar, depending on your Linux Operating system and version:
- sudo yum update kernel
- sudo zypper up kernel-default
- sudo apt upgrade linux-image-aws
There are several actions that you can take to determine why your instance rebooted:
View status checks
View the instance's status checks from the console or using the AWS Command Line Interface (AWS CLI). If a status check failure is indicated, see Why is my EC2 Linux instance unreachable and failing one or both of its status checks?
Note: If you receive errors when running AWS CLI commands, make sure that you’re using the most recent version of the AWS CLI.
View system logs
If the instance didn't fail a status check, then the instance might have rebooted due to operating system-level issues. Review the system logs to determine what error occurred. The system logs are located at /var/log/messages or /var/log/syslog depending on your OS distribution.
If the instance fails a status check, you can reboot the instance to retrieve the system logs by using the console output. Review the console output logs to troubleshoot your issue. For more information, see Retrieve the system logs.
View reboot history
Use the following commands to determine if a user or an application inside the server initiated the reboot:
# grep reboot /home/*/.bash_history # grep reboot /root/.bash_history # history | grep -i reboot # history | grep -i init # last reboot
View AWS CloudTrail Events history
Instance reboots initiated from the Amazon EC2 console or through the AWS CLI appear in CloudTrail Events history. To view these events:
- Open the AWS CloudTrail console.
- Choose Event history.
- Select Event name from the filter dropdown list, and then enter RebootInstances.
Note: You can create an Amazon CloudWatch alarm that automatically recovers instances experiencing underlying hardware issues resulting in reboot. For information on how to set up the CloudWatch alarm, see Recover your instance.