Issue
I created a load balancer and assigned it one of the running EC2 instance. After creation, I navigated to Target Group section in the AWS Console under Load Balancing and when I selected the target group that was assigned to the load balancer, it shows registered instance status as "Unhealthy" and there was a message above registered instance pane that says "None of these Availability Zones contains a healthy target. Requests are being routed to all targets". While creating the load balancer, I selected all the subnets (availability zones). settings I used for health check are mentioned below,
- Protocol: HTTP
- Path: /healthcheck.html
- Port: traffic port
- Healthy threshold: 3
- Unhealthy threshold: 2
- Timeout: 5
- Interval: 10
- Success codes: 200
So why does my registered instance status as "Unhealthy" and how can I rectify/resolve that to change the status to "In-service"?
Solution
Unhealthy indicates that the health check is failing for the instance.
Things to check:
- Check that the instance is running a web server
- Check that the web page at
healthcheck.html
responds with a valid 200 response - Check that instance has a security group that permits access on Port 80 (HTTP)
Answered By - John Rotenstein Answer Checked By - Terry (WPSolving Volunteer)