Skip to content

EC2 instance randomly fails 1/2 status checks at 4:30 AM with no user activity — SSH and APIs become unresponsive

0

Hello AWS community,

I’m experiencing an issue with my EC2 instance (t2.small) running Nginx and hosting 5 APIs plus a static website. The instance randomly fails the system status checks, showing 1/2 checks passed, specifically around 4:30 AM UTC, a time when there is no user activity at all.

When this happens, the instance becomes completely unresponsive — I can’t SSH in, and all APIs stop working. The only way to recover is to manually stop and start the instance via the AWS console.

Automatic recovery is enabled but it never kicks in or fixes the problem. I’ve checked cron jobs and timers; none of them coincide with the failure time or show errors. Logs don’t indicate any clear reason for the crash or service outage.

Given this behavior:

No local storage or GPU on the instance.

No unusual load at the time of failure.

Instance type: t2.small

AWS console always shows 1/2 status checks failing during the incident.

Does anyone have insight on what could cause such random failures at a specific time with no traffic? Also, is there any way to ensure AWS automatically recovers or restarts the instance without manual intervention?

Any guidance, troubleshooting steps, or recommendations would be highly appreciated.

Thanks in advance!

asked a year ago241 views

2 Answers
0

When your EC2 instance shows "1/2 checks passed" status and becomes unresponsive, this indicates that either the system status check or the instance status check is failing. This is a common issue that can have several causes.

First, let's understand what these status checks mean:

  • System Status Check: Verifies AWS infrastructure that the instance runs on
  • Instance Status Check: Monitors the software and network configuration of your instance

Here are some troubleshooting steps you can take:

  1. Check System Logs: In the EC2 console, select your instance, then go to Actions > Monitor and troubleshoot > Get System Log. Look for error messages that might indicate what's wrong.

  2. Stop and Start the Instance (not just reboot): This migrates your instance to new hardware and can resolve underlying issues. This is different from what you're currently doing manually.

  3. Monitor Resource Utilization: Use tools like "top" when you can access the instance to check if CPU or memory usage is causing the problem.

  4. Check File System and Configuration: The unresponsiveness could be related to file system issues or incorrect configurations.

  5. Consider Instance Recovery: While you mentioned automatic recovery isn't working as expected, ensure it's properly configured. EC2 instances can be set up for automatic recovery when they fail system status checks.

  6. Try EC2 Serial Console: If SSH is unresponsive, you might be able to access your instance through the EC2 Serial Console (if your instance type supports it).

  7. Force Stop Using AWS CLI: If the instance gets stuck in a stopping state, you can use the AWS CLI command with the --force parameter:

aws ec2 stop-instances --instance-ids your-instance-id --force

For a more permanent solution:

  • Consider creating a new instance from a known good AMI and carefully reinstall your required software
  • Evaluate if your t2.small instance type provides enough resources for your workload
  • Implement a monitoring solution that can detect when your instance becomes unresponsive and trigger recovery actions

If the problem persists after trying these steps, it might be worth contacting AWS Support, as there could be an underlying issue with the EC2 infrastructure in your region or availability zone.
Sources
Every day I get “1/2 checks passed” | AWS re:Post
Amazon EC2 Instance from Custom AMI Health Check Failing | AWS re:Post
EC2 instance not restarting | AWS re:Post
EC2 instances status check for system or status check for instance automatically gets failed | AWS re:Post

answered a year ago

AWS
EXPERT

reviewed a year ago

EXPERT

reviewed a year ago

0

Hello. You may want to pay particular attention to the instance capacity. Is the instance size/type appropriate for the workloads you're running? Also, is there a scheduled job that possibly gets triggered at that specific time when the instance's status check fails?

answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.