You have enabled Elastic Load Balancing HTTP health checking.
After looking at the AWS Management Console, you see that all instances are passing health checks.
But your customers are reporting that your site is not responding.
What is the reason?
Click on the arrows to vote for the correct answer
A. B. C. D.Answer - B.
You need to have a custom health check which will evaluate the application functionality.
It's not enough to use the normal health checks.
If the application functionality does not work and doesn't have custom health checks, the instances will still be healthy.
If you have custom health checks, you can send the information from your health checks to Auto Scaling so that Auto Scaling can use this information.
For example, if you determine that an instance is not functioning as expected, you can set the health status of the instance to Unhealthy.
The next time when Auto Scaling performs a health check on the instance, it will determine that the instance is unhealthy and then launch a replacement instance.
For more information on Autoscaling health checks, please refer to the below document link: from AWS.
http://docs.aws.amazon.com/autoscaling/latest/userguide/healthcheck.htmlIn this scenario, the Elastic Load Balancer (ELB) is configured to perform HTTP health checks on the backend instances, and according to the AWS Management Console, all instances are passing the health checks. However, customers are reporting that the site is not responding. There could be several reasons for this:
A. The HTTP health checking system is misreporting due to latency in inter-instance metadata synchronization: This is not likely the cause because the health check system relies on HTTP responses from the instances, not inter-instance metadata synchronization.
B. The health check in place is not sufficiently evaluating the application function: It is possible that the health check is not correctly evaluating the application function, and instances may be reporting as healthy even though the application is not functioning correctly. For example, the health check may be looking for a simple response from the application, but the application itself may be experiencing issues that prevent it from responding correctly.
C. The application is returning a positive health check too quickly for the AWS Management Console to respond: This is unlikely as the AWS Management Console is not involved in the health check process. The ELB is responsible for evaluating the health of the instances based on the HTTP responses it receives.
D. Latency in DNS resolution is interfering with Amazon EC2 metadata retrieval: This is a possibility. When the ELB performs health checks, it needs to retrieve the metadata of the backend instances from the EC2 API. If there is latency in DNS resolution, this could cause delays in metadata retrieval, which in turn could delay the health check process.
In summary, the most likely cause of the issue is B or D. It is possible that the health check is not correctly evaluating the application function, or there may be latency in DNS resolution that is interfering with metadata retrieval, causing the ELB to report instances as healthy even though the application is not functioning correctly.