Wat is DNS-TTL? Time To Live uitgelegd

De TTL (Time To Live) is een veld in elk DNS-record dat resolvers vertelt hoelang ze het record in de cache mogen houden voordat ze een verse kopie bij de autoritatieve naamserver ophalen. De TTL bepaalt direct hoe snel DNS-wijzigingen zich over het internet verspreiden.

Een korte TTL tegenover een langeTTL 300TTL 36001 h
Een korte TTL wordt steeds opnieuw opgehaald en verandert snel; een lange wordt één keer opgehaald en verandert traag.

Hoe TTL werkt

Wanneer een resolver een DNS-record voor het eerst opzoekt, bewaart hij het resultaat het aantal seconden dat de TTL aangeeft. In die periode wordt elke query op hetzelfde record uit de cache bediend — er gaat geen DNS-query naar je naamserver.

example.com.  3600  IN  A  203.0.113.1
              ^^^^
              TTL = 3600 seconds = 1 hour

Na 3600 seconden gooit de resolver zijn gecachte kopie weg en bevraagt hij de autoritatieve naamserver opnieuw voor een vers record.

TTL-waarden en hun effect

TTLDurationUse Case
601 minuteTijdens een actieve migratie of failovertests
3005 minutesRecords die af en toe veranderen (handig bij het plannen van migraties)
36001 hourGebruikelijke standaardwaarde — balans tussen actualiteit en prestaties
8640024 hoursStabiele records zoals NS en MX, die zelden veranderen
6048007 daysSOA-records en andere zeer stabiele gegevens

TTL vóór een DNS-migratie

De klassieke techniek bij het plannen van een DNS-wijziging (bijvoorbeeld verhuizen naar een nieuwe server):

  1. 48+ uur ervoor: Verlaag je TTL naar 300 seconden
  2. Wacht tot de oude hoge TTL overal is verlopen
  3. Voer de DNS-wijziging door (bijvoorbeeld het IP van het A-record bijwerken)
  4. Wacht 5 minuten tot de nieuwe TTL is gepropageerd
  5. Zet de TTL na bevestiging dat alles werkt weer op 3600 of hoger

Dit beperkt de downtime, omdat de caches na de wijziging snel verversen.

Minimale SOA-TTL

Het SOA-record (Start of Authority) bevat een minimale TTL die geldt voor negatieve antwoorden (de cache van "dit record bestaat niet"). Vraag je een niet-bestaand record op, dan bewaart de resolver het "niet gevonden"-resultaat gedurende die tijd.

Afwegingen bij TTL

Low TTLHigh TTL
Wijzigingen propageren snelWijzigingen propageren langzamer
Meer DNS-query's naar je serverMinder DNS-query's (betere prestaties)
Snellere failover en herstelMoeilijker om records snel te wijzigen
Iets hogere DNS-latentie voor gebruikersBetere caching — sneller voor gebruikers

Aanbevolen TTL-waarden per recordtype

Record TypeAanbevolen TTLReason
A / AAAA3600 (1h)Kan tijdens servermigraties veranderen
CNAME3600 (1h)Stabiel, maar kan veranderen bij een CDN-wissel
MX3600–86400Mailservers veranderen zelden
TXT (SPF/DMARC)3600Het beleid moet af en toe worden bijgewerkt
NS86400 (24h)Zeer stabiel — verandert alleen bij het wisselen van DNS-provider
SOA86400Verandert zelden

Controleer je huidige TTL-waarden

Probeer het op je domein

Zie de theorie in de praktijk — voer DNS-lookup uit voor je eigen domein.