| Check Type | Common Causes | Primary Resolution |
|---|---|---|
| System Status Check | AWS Hardware failure, Network loss | Stop and Start the instance (Migrates to new host) |
| Instance Status Check | Kernel panic, OS hang, Out of Memory (OOM) | Reboot instance or upgrade Instance Type |
| Network Check | Misconfigured Security Groups, Firewall blocks | Verify VPC routing and SG rules |

What is EC2 Instance Status Check Failed?
An EC2 status check failure indicates that your virtual machine is unreachable or unresponsive. AWS performs two automated checks every minute: **System Status Checks** and **Instance Status Checks**.
A System Status Check failure usually means there is a problem with the underlying AWS physical host hardware. An Instance Status Check failure indicates software-level issues within your specific VM, such as boot sequence errors or resource exhaustion.
Step-by-Step Solutions
1. Perform a Stop and Start
If you see a “System Status Check” failure, the most effective fix is stopping and starting the instance. Unlike a reboot, this forces AWS to migrate your instance to a healthy physical host.
2. Analyze System Logs
If the instance is unreachable via SSH/RDP, use the AWS Console to view the boot logs. This helps identify if a kernel panic or disk mounting error is the culprit.
# You can also use AWS CLI to get console output
aws ec2 get-console-output --instance-id i-0123456789abcdef0
3. Check for Resource Overutilization
High CPU or Memory usage can cause the OS to hang, triggering a status check failure. Use CloudWatch metrics to check for spikes. If the instance is consistently hitting 100% CPU, consider upgrading your instance type (e.g., moving from t3.micro to t3.medium).
4. Review Network and Security Groups
Ensure your Security Groups allow the necessary traffic. Sometimes, a “failed” status is simply a result of the instance being unable to communicate with the AWS monitoring gateway.
# Check if the instance is reachable via ICMP (if enabled)
ping
5. Fix File System Errors
Corrupted disk volumes or incorrect `/etc/fstab` entries often lead to boot failures. To fix this, detach the EBS volume, attach it to a “recovery” instance as a secondary drive, and run a file system check.
# Example: Checking a Linux partition
sudo fsck /dev/xvdf1