I have a load balancer configured in a public vpc subnet to route traffic from HTTPS (443) to an instance in a private vpc subnet over HTTP (8080). The setup worked fine for about 24 hours, until the java process on the instance crashed. At this point, the health check started failing and the instance began showing as unhealthy.
I've since restarted the process and can make local 'curl' requests locally on the EC2 instance, as well as from the NAT instance I have in the public subnet (same subnet as the load balancer). Despite the instance being in a healthy state, the load balancer still shows it as unhealthy.
What seems particularly odd to me is that the access log on the EC2 instance no longer shows any attempts from the Load Balancer to access the healthcheck URL. I enabled logging on the load balancer to an S3 bucket but this has only shown a single GET request with a 503 error code. I've tried unregistering the instance from the load balancer and re-registering it but that made no difference. Stopping and starting the instance and re-registering it with the load balancer also made no difference
Any ideas why the load balancer isn't even attempting to access the instance?
Thanks for any suggestions!