Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

So, when using AWS ELB, there's a health check url we use to ping db server / check out bound connection, etc.

If there are unhealthy instances, they are removed. But if the db server is down, our web server is designed to continue function to the best of its ability. (Design for failure).

These 2 concepts seems to conflict each other? If a single server is not health, it'd be removed. If all server is affected, we want to keep them online.

How to solve this dilemma?

share|improve this question
Why are you pinging your db server for a health check? Instrument your health check so that it checks your app servers and so that it fails if your app servers aren't able to get a response from your database. –  EEAA Jun 24 '14 at 2:43
@EEAA that's what I'm doing and what i mean –  Sleeper Smith Jun 24 '14 at 3:24
You said that you're pinging your db server for your health check. You should not be doing that. –  EEAA Jun 24 '14 at 3:35
@EEAA i meant from the web server. The webserver test it's connection to the dB server. If the web server can't see the dB server, it goes off line –  Sleeper Smith Jun 24 '14 at 7:03

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.