For a number of reasons I need to change the health check URL of a live site behind an ELB. The ELB is configured for health checks every 30 seconds, with a healthy threshold of 2 and unhealthy threshold of 2. I need to ensure I make this change with no outage. If I make the change to the health check URL, and assuming the URL checks successfully, will the instances stay healthy on the load balancer, or will they go out of service until they succeed 2 health checks (in 1 minute)?
Yes, you can. Just try the new URL in a "test Load Balancer" with one instance of the production Load Balancer. If it's ok (just wait until the new balancer registers the new instance and do the first health check), then change the production balancer to the new URL and it's done. No downtime at all (in a new health check, the instance conserves it's healthy state until there's fails in the new URL). I've try it myself.
I don't have the tools in front of me at the moment but here is how I would find out
Pop up a New Test ELB Create 2 files and a web server test1.html test2.html
Put the Web Server behind the ELB and point the health check at test1.html Use "elb-describe-instance-health elbName" to verify the health wait until it was healthy
Change the health check to test2.html repeat "elb-describe-instance-health elbName" a few times to check the health, making sure that it is checking for test2.html
Hope that helps
On 2 separate load balancers, in my finding, you can change the health check safely with no downtime (provided the new health check works of course).