Cours Aws

7.79 Enregistrement DNS TTL

Le TTL (Time To Live) est la durée de vie d'un enregistrement DNS. Lorsqu'un navigateur résout mon-application.mon-domaine.com via Route 53, AWS lui renvoie l'adresse IP correspondante et un TTL. Le navigateur conserve cette association nom/IP pendant la durée du TTL (par exemple 300 secondes). Une fois ce délai écoulé, une nouvelle requête DNS est effectuée pour rafraîchir l'enregistrement.

TTL élevé vs TTL faible

Un TTL élevé (par exemple 24 heures) limite le nombre de requêtes vers Route 53 — ce qui est utile car AWS facture à la requête. Inconvénient : si l'IP change, les clients peuvent recevoir une adresse obsolète pendant toute la durée du TTL. Un TTL faible (par exemple 60 secondes) garantit une propagation rapide des changements, mais augmente le nombre de requêtes DNS et donc le coût. Le choix dépend de la fréquence des changements d'IP et du budget.

  • TTL élevé : moins de requêtes, moins cher, mais risque de cache obsolète
  • TTL faible : enregistrements toujours frais, propagation rapide, plus de requêtes
  • Valeurs typiques : 60 s pour environnements dynamiques, 3600 à 86400 s pour DNS stables

Démonstration

Dans Route 53, nous créons un enregistrement ttl-demo.mon-domaine.com pointant vers l'IP de la machine Irlande, avec un TTL de 60 secondes. Après vérification que l'enregistrement est actif (test depuis un navigateur), nous modifions l'IP vers la machine de Francfort. Avant les 60 secondes, la commande nslookup ttl-demo.mon-domaine.com renvoie encore l'IP d'Irlande. Après les 60 secondes, la même commande renvoie l'IP de Francfort : le cache a été invalidé et l'enregistrement mis à jour.

nslookup ttl-demo.mon-domaine.com

En résumé

Le TTL (Time To Live) est un paramètre DNS qui définit la durée pendant laquelle une adresse IP reste en cache sur le navigateur client. Quand un TTL élevé (24h) réduit le trafic DNS mais laisse les enregistrements obsolètes longtemps, un TTL faible (60s) garantit que les changements d'IP sont détectés rapidement. Le cours montre un exemple pratique dans AWS Route 53 où modifier le TTL à 60 secondes permet de changer l'adresse IP d'une machine, puis vérifie la mise à jour avec la commande `nslookup`.

Points clés

  • TTL (Time To Live) = durée de vie d'un enregistrement DNS en cache sur le navigateur client
  • TTL élevé (ex: 24h) = moins de requêtes DNS mais enregistrements potentiellement obsolètes longtemps
  • TTL faible (ex: 60s) = mises à jour fréquentes et rapides de l'adresse IP, davantage de requêtes DNS
  • Route 53 expose une interface pour modifier le TTL de chaque enregistrement DNS
  • Après expiration du TTL, une nouvelle requête DNS rafraîchit automatiquement l'adresse IP en cache
  • La vérification se fait avec `nslookup` pour confirmer que l'enregistrement a bien été mis à jour après l'expiration du TTL

Questions fréquentes

Pourquoi choisir un TTL faible plutôt qu'un TTL élevé ?

Un TTL faible (60 secondes) garantit que tout changement d'adresse IP est reflété rapidement chez les utilisateurs, limitant les interruptions de service lors de migrations. Un TTL élevé (24h) réduit le coût en requêtes DNS mais prolonge l'obsolescence des enregistrements en cas de changement.

Qu'est-ce qui se passe quand le TTL d'un enregistrement DNS expire ?

Une fois le TTL écoulé, le navigateur ne peut plus utiliser l'adresse IP en cache et doit envoyer une nouvelle requête DNS au serveur (Route 53) pour récupérer l'adresse IP actuelle, qui est alors mise à jour en cache pour la durée du nouveau TTL.

Comment vérifier que la modification du TTL a pris effet ?

Utilisez la commande `nslookup nomdedomaine.com` pour vérifier l'adresse IP associée à l'enregistrement DNS. Attendez l'expiration du ancien TTL, puis réexécutez la commande pour confirmer que la nouvelle adresse IP est renvoyée.