Why is my EC2 Linux instance unreachable and failing one or both of its status checks?
Last updated: 2019-08-28
My Amazon Elastic Compute Cloud (Amazon EC2) Linux instance is unreachable, and is failing one or both of its status checks. What does this mean, and how do I resolve this issue?
Amazon EC2 monitors the health of each EC2 instance with two status checks.
- System status check: The system status check detects issues with the underlying host that your instance runs on. If the underlying host is unresponsive or unreachable due to network, hardware, or software issues, then this status check fails.
- Instance status check: This status check is concerned with the response and low-level reachability of the instance itself and the guest OS. The instance status check monitors an instance's response by making low-level Address Resolution Protocol (ARP) requests to the virtualized elastic network interface.
For more information, see Types of Status Checks.
When an instance is unreachable and has failed the system status check
When there is a problem with an underlying host, it's a best practice to migrate from the underlying host by stopping and starting your instance.
In rare circumstances, the infrastructure-layer issue can prevent the underlying host from responding to the stop-start call. This causes the instance to be stuck in the stopping state. For instructions to force the instance to stop, see Troubleshooting Stopping Your Instance.
You can create an Amazon CloudWatch alarm that monitors and automatically recovers the EC2 instance from any issue that requires AWS involvement.
When an instance is unreachable and has failed the instance status check
An instance status check failure indicates a problem with the instance, such as:
- Failure to boot the operating system
- Failure to mount volumes correctly
- File system issues
- Incompatible drivers
- Kernel panic
- Severe memory pressures
These failures can be anything that prevents the virtualized elastic network interface from coming up and responding.
Because instance status checks are likely caused by issues within the guest operating system, focus your troubleshooting on reviewing the following:
- Console output
- System logs
- Error messages
For more information, see Troubleshooting Instances with Failed Status Checks.
You can diagnose and automate remediation processes using EC2Rescue: