Hoe stel ik Health Check in?

  DNS & Health Checks
Voor je aan deze tutorial begint heb je een aantal dingen nodig:

  • Twee instances met hierop een werkende, draaiende webserver.
  • Een domeinnaam, bij voorkeur eentje die via ons geregistreerd is.

Voor ons voorbeeld hebben we twee Servers aangemaakt, geografisch gespreid over meerdere zones. Dit zijn web01-demo.auroradns.eu en web02-demo.auroradns.eu, beschikbaar via onderstaande IPv4 en IPv6 adressen:

web01-demo.auroradns.eu
IPv4: 185.107.213.44
IPv6: 2a00:f10:121:b00:40f:7eff:fe00:1b53

web02-demo.auroradns.eu
IPv4: 185.87.184.58
IPv6: 2a00:f10:400:2:485:3eff:fe00:1c2

Zorg er zelf in ieder geval voor dat je servers op poort 80 een webserver hebben draaien en deze poort in je firewall openstaat.

Stap 1: Maak een DNS zone aan

In dit voorbeeld gebruiken we de DNS zone demo.auroradns.eu. Via het controlepaneel kun je een zone eenvoudig aanmaken via de optie “DNS & Health Checks”

Let op: zorg er voor dat de nameserver (NS) records van deze zone naar de nameservers van Aurora DNS verwijzen. Deze adressen zijn:

  • ns001.auroradns.eu
  • ns002.auroradns.nl
  • ns003.auroradns.info

Stap 2: Maak health checks aan

Aurora DNS gebruikt health checks om constant te monitoren welke van je servers online zijn en als er een DNS verzoek komt zal hij alleen antwoorden met de IP adressen van de online hosts. Voor iedere server die deel is van je cluster moet je dus een health check aanmaken.

In dit voorbeeld werken we met een HTTP check. Concreet zal Aurora DNS dus controleren op een goede werking (response) van de betreffende webservers om te bepalen of een IP als “gezond” gemarkeerd wordt.

De volledige health check voor web01-demo.auroradns.eu (een van de twee servers die we in deze tutorial gebruiken) staat hieronder weergegeven:

Hostname: web01-demo.auroradns.eu
IP-adres: 2a00:f10:121:b00:40f:7eff:fe00:1b53
Pad: /
Protocol: HTTP
Poort: 80
Treshold: 3
Interval: 10 seconden

Concreet controleert deze health check met een interval van 10 seconden of web01-demo.auroradns.eu antwoord op HTTP verzoeken op poort 80. Een vergelijkbare check zal je moeten inregelen voor alle servers die deel zijn van je cluster. Wij hebben er uiteindelijk twee gemaakt:

Stap 3: Maak DNS records aan en koppel health checks

Het uiteindelijke doel is dat de DNS response van demo.auroradns.eu alleen de IP adressen teruggeeft van de webservers die online zijn. In dit geval dus het IP adres van web01-demo.auroradns.eu of web02-demo.auroradns.eu. We gaan hiertoe A en AAAA records aanmaken binnen de DNS zone demo.auroradns.eu die verwijzen naar de IPv4 en IPv6 adressen van deze twee webservers.

Bij het aanmaken van de records selecteer je bij ieder record de bijbehorende healthcheck. Deze stap is cruciaal: hier zorg je ervoor dat Aurora DNS deze records wel of niet zal teruggeven, afhankelijk van het resultaat van de gekoppelde healthcheck.

Dat ziet er uiteindelijk als volgt uit:

Op het moment dat de screenshots gemaakt zijn stond web02-demo.auroradns.eu uit. De healthcheck staat daarom als “Failed” gemarkeerd en de records zijn hierdoor ook disabled.

In actie

Inmiddels heb je in voorgaande stappen wellicht al je eigen cluster in Aurora DNS ondergebracht. Voor de volledigheid hebben we bovenstaande tutorial ook werkend online staan!

Bezoek demo.auroradns.eu, een simpele webpagina met informatie over op welke van de twee webservers je terecht bent gekomen.

Afwisselend zullen de twee webservers beschikbaar zijn. Via een CRON stopt op web01-demo.auroradns.eu de webserver op de 30e minuut van het uur en start weer op de 55e minuut van het uur. Op web02-demo.auroradns.eu stopt de webserver op de 0e minuut van het uur en start de 25e minuut weer. Hiermee simuleren we dat de twee webservers om beurten uitvallen.

En nu het mooie: de demo pagina blijft beschikbaar omdat de healthcheck door heeft dat een van de twee webservers niet bereikbaar is en je niet naar deze locatie stuurt.