Amazon julkaisi eilen varsin näppärän DNS Failover -ominaisuuden Route 53 -palveluunsa. Failover-ominaisuus tarkoittaa, että DNS-palvelimeen voidaan liittää "terveystarkastuksia". Route 53 vastaa sitten nimikyselyihin sen mukaan, ovatko web-palvelut kunnossa vai ei. Tässä lyhyt esimerkki.

Oma blogini saattaisi olla alkujaan määritelty tällä tavoin Route 53:een:

Name:                         kfalck.net
Type:                         A - IPv4 address
Alias:                        No
TTL:                          300
Value:                        178.251.154.87
Routing Policy:               Simple

Toteuttaakseni sille DNS Failoverin lisäisin ensin Route 53:een uuden Health Checkin:

Protocol:                     HTTP
IP Address:                   178.251.154.87
Port:                         80
Host Name:                    kfalck.net
Path:                         /

Tämän jälkeen alkuperäinen DNS-tietue muokattaisiin osaksi Primary-ryhmää ja sen TTL pudotettaisiin 60:een, jotta nimi on siirrettävissä kohtalaisessa ajassa osoittamaan toiseen IP:hen:

Name:                         kfalck.net
Type:                         A - IPv4 address
Alias:                        No
TTL:                          60
Value:                        178.251.154.87
Routing Policy:               Failover
Failover Record Type:         Primary
Set ID:                       Primary
Associate with Health Check:  Yes
Health Check to Associate:    http://178.251.154.87:80/[kfalck.net]

Nyt Route 53 osaisi tehdä terveystarkastuksen web-palvelimelle ja käyttäisi oletuksena Primary-ryhmää.

Sitten lisättäisiin vielä Secondary-ryhmän tietue, joka osoittaa toisella palvelimella olevalle virhesivustolle:

Name:                         kfalck.net
Type:                         A - IPv4 address
Alias:                        No
TTL:                          60
Value:                        192.0.43.10
Routing Policy:               Failover
Failover Record Type:         Secondary
Set ID:                       Secondary
Associate with Health Check:  No

Kun Secondary-tietue on luotu, Route 53 rupeaa vaihtamaan automaattisesti DNS:n osoittamaan siihen Primary-tietueen terveystarkastauksen epäonnistuessa. Tässä tapauksessa en lisännyt Secondarylle omaa terveystarkastusta, koska muita palvelimia ei enää ole käytettävissä.

Jos Secondarylle kuitenkin määrittelee oman tarkastuksen, ja sekä Primary että Secondary ovat yhtä aikaa epäkunnossa, niin Route 53 käyttää oletuksena Primary-osoitetta. Tämä voi olla epätarkoituksenmukaista siinä tapauksessa, että Secondary-palvelin palauttaa tahallaan 503-virheilmoituksia, jolloin Route 53 tulkitsee sen olevan aina epäkunnossa.