Aller au contenu
English
Cloud medium

DNS managé : zones, records, failover et routage intelligent

9 min de lecture

Le DNS est le seul composant de votre infrastructure dont une erreur met des heures à se corriger, quoi que vous fassiez. Partout ailleurs, un mauvais réglage se répare et l'effet est immédiat. Ici, des caches que vous ne contrôlez pas continuent de servir l'ancienne valeur jusqu'à expiration. Cette page explique comment tenir une zone, préparer une bascule sans coupure, et pourquoi la redondance du DNS est la première à mettre en place.

  • Tenir une zone DNS et choisir le bon type d'enregistrement.
  • Régler les durées de vie pour pouvoir basculer sans attendre un jour.
  • Préparer une migration en trois temps, sans coupure visible.
  • Comprendre ce qu'un basculement automatique peut faire, et ce qu'il ne peut pas.
  • Éviter la panne DNS qui rend tout le reste inutile.

La leçon sur l'adressage et la résolution de noms, dont cette page reprend les notions de TTL et de types d'enregistrements.

Une zone DNS est l'ensemble des enregistrements d'un domaine, tenus par des serveurs qui « font autorité » sur lui. Faire autorité signifie que leur réponse est la vérité, par opposition aux résolveurs qui ne font que relayer et mettre en cache.

Le point le plus important tient dans la délégation : votre registraire, celui chez qui vous avez acheté le domaine, indique quels serveurs font autorité. Tant que cette délégation pointe ailleurs, la plus belle zone du monde ne sera jamais consultée.

Fenêtre de terminal
dig +short NS stephane-robert.info

Cette commande répond par les serveurs qui font autorité. Si vous venez de migrer votre DNS et que la réponse cite encore l'ancien hébergeur, vous tenez l'explication de ce qui « ne prend pas ».

Les types courants ont été vus dans la première leçon. Deux d'entre eux méritent un avertissement, parce qu'ils causent des pannes régulières.

Un CNAME ne peut pas cohabiter avec un autre enregistrement sur le même nom. C'est une règle du protocole, pas une limitation de fournisseur. La conséquence pratique est bien connue : vous ne pouvez pas mettre un CNAME sur la racine d'un domaine, exemple.fr, parce que celle-ci porte déjà des enregistrements NS et généralement MX.

C'est exactement le cas quand on veut faire pointer un domaine racine vers un répartiteur de charge, qui n'a qu'un nom. Les fournisseurs ont inventé pour cela des enregistrements non standards, souvent appelés ALIAS ou ANAME, qui se comportent comme un CNAME mais restent compatibles avec la racine. Si votre hébergeur DNS n'en propose pas, vous devrez résoudre l'adresse vous-même et tenir un enregistrement A, avec le risque qu'elle change.

Un enregistrement MX pointe vers un nom, jamais vers une adresse. Écrire une adresse IP dans un MX produit une configuration qui semble valide et que beaucoup de serveurs de messagerie refusent.

Le TTL décide du temps que met un changement à se propager, et il se règle avant, pas pendant. C'est la seule contrainte de cette page qui ne se rattrape pas : une fois qu'un cache a mémorisé une valeur avec un TTL d'un jour, personne ne peut le forcer à l'oublier.

D'où la méthode en trois temps, qui est la bonne pratique du métier.

  1. La veille, abaisser le TTL

    Passez l'enregistrement concerné à 300 secondes, et attendez au moins la durée de l'ancien TTL avant de continuer. Si l'ancien TTL était de 24 heures, il faut attendre 24 heures : c'est le temps que mettent les caches à apprendre la nouvelle valeur courte.

    Fenêtre de terminal
    dig +noall +answer www.exemple.fr

    Attendez que la valeur affichée soit bien tombée à 300.

  2. Le jour J, changer la valeur

    Modifiez l'enregistrement. Grâce au TTL court, la propagation prend cinq minutes au lieu d'un jour, et un retour en arrière est tout aussi rapide.

  3. Après validation, remonter le TTL

    Une fois la bascule confirmée, repassez à 3600 secondes ou plus. Un TTL court en permanence multiplie les requêtes vers vos serveurs et rallonge légèrement chaque première visite.

Certains services DNS surveillent une adresse et retirent l'enregistrement quand elle ne répond plus. C'est séduisant, et il faut comprendre ce que cela couvre réellement.

Cela fonctionne bien pour une bascule entre deux sites entiers, par exemple d'une région vers une autre après une panne majeure. Le délai de détection s'ajoute au TTL, donc comptez au minimum quelques minutes avant que le changement soit vu partout.

Cela ne remplace pas un répartiteur de charge. Le DNS répartit à la granularité du nom et à la vitesse des caches ; un répartiteur travaille à la requête et réagit en secondes. Utilisez le DNS pour choisir un site, le répartiteur pour choisir un serveur.

Une limite plus subtile mérite d'être connue : certains clients ignorent le TTL et gardent une résolution en mémoire tant que le processus tourne. Beaucoup de bibliothèques applicatives et de machines virtuelles Java sont dans ce cas. Un basculement DNS ne les atteindra pas, et il faudra redémarrer le processus.

Quand le DNS tombe, toutes vos applications tombent, même si les serveurs vont parfaitement bien. C'est le composant dont la panne a l'effet le plus large, et c'est aussi celui que l'on redonde le moins.

Trois mesures, par ordre d'efficacité :

  • Plusieurs serveurs faisant autorité, chez au moins deux opérateurs distincts. Tous les hébergeurs DNS sérieux en fournissent plusieurs, mais ils sont souvent sur la même infrastructure : la vraie redondance passe par deux fournisseurs.
  • Un TTL qui n'est pas trop court. Contre-intuitif, mais un TTL long fait que les caches continuent de répondre pendant une panne de vos serveurs de noms. Un TTL de cinq minutes en permanence transforme une panne DNS de dix minutes en panne totale.
  • Une surveillance du nom, pas seulement du serveur. Sondez la résolution depuis l'extérieur : c'est ce que vit un visiteur, et une zone supprimée par erreur ne se voit sur aucun tableau de bord d'infrastructure.
  • La délégation prime sur tout : si le registraire ne pointe pas vers vos serveurs, votre zone n'est jamais lue.
  • Un CNAME ne cohabite avec rien, donc pas sur la racine d'un domaine. Cherchez un enregistrement ALIAS ou ANAME chez votre hébergeur.
  • Un MX pointe vers un nom, jamais vers une adresse.
  • Baissez le TTL la veille, changez le jour J, remontez après validation. C'est la méthode de référence pour une bascule sans coupure.
  • La « propagation de 48 heures » n'existe pas : c'est d'abord l'expiration de votre propre TTL, auquel s'ajoutent les caches que vous ne maîtrisez pas.
  • Le basculement DNS choisit un site, un répartiteur choisit un serveur. Ils ne se remplacent pas.
  • Certains clients ignorent le TTL et gardent leur résolution jusqu'au redémarrage.
  • Redondez chez deux opérateurs. Le DNS est le composant dont la panne coupe tout le reste.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn