La différence entre un enregistrement ALIAS et un CNAME et quand les utiliser
28 février 2024
Temps de lecture : 3 min.

La principale différence entre un enregistrement CNAME et un enregistrement ALIAS ne se trouve pas dans le résultat (les deux pointent vers un autre enregistrement DNS) mais dans la manière dont ils résolvent l'enregistrement DNS cible lorsqu'ils sont interrogés. En raison de cette différence, l'un peut être utilisé en toute sécurité à l'extrémité de la zone (par exemple, pour un domaine nu comme exemple.com), tandis que l'autre non.

Commençons par le type d'enregistrement CNAME. Il pointe simplement un nom DNS, comme www.exemple.com, vers un autre nom DNS, comme lb.exemple.net. Cela indique au résolveur de rechercher la réponse au niveau du nom de référence pour tous les types d'enregistrements DNS (par exemple, A, AAAA, MX, NS, SOA, etc.). Cela peut entraîner une pénalité en termes de performances, car une recherche DNS supplémentaire doit être effectuée pour résoudre la cible (lb.exemple.net). Dans le cas où aucun des deux enregistrements n'a été interrogé auparavant par votre résolveur récursif, le délai est encore plus long, car la hiérarchie complète du DNS doit être parcourue pour chaque enregistrement :

  1. En tant que client DNS (ou résolveur local), vous interrogez votre résolveur récursif pour www.exemple.com.
  2. Votre résolveur récursif interroge le serveur de noms racine pour www.exemple.com.
  3. Le serveur de noms racine renvoie votre résolveur récursif vers le serveur faisant autorité pour le domaine de premier niveau (TLD) .com.
  4. Votre résolveur récursif interroge le serveur faisant autorité pour le TLD .com à propos de www.exemple.com.
  5. Le serveur faisant autorité pour le TLD .com renvoie votre résolveur récursif aux serveurs faisant autorité pour exemple.com.
  6. Votre résolveur récursif interroge les serveurs faisant autorité pour www.exemple.com et obtient comme réponse lb.exemple.net.
  7. Votre résolveur récursif met cette réponse en cache et vous la renvoie.
  8. Vous devez maintenant envoyer une seconde requête à votre résolveur récursif pour lb.exemple.net.
  9. Votre résolveur récursif interroge à nouveau le serveur de noms racine pour lb.exemple.net.
  10. Le serveur de noms racine renvoie votre résolveur récursif vers le serveur faisant autorité pour le TLD .net.
  11. Votre résolveur récursif interroge le serveur faisant autorité pour le TLD .net à propos de lb.exemple.net.
  12. Le serveur faisant autorité pour le TLD .net renvoie votre résolveur récursif aux serveurs faisant autorité pour exemple.net.
  13. Votre résolveur récursif interroge les serveurs faisant autorité pour lb.exemple.net et reçoit une adresse IP en réponse.
  14. Votre résolveur récursif met cette réponse en cache et vous la renvoie.

Chacune de ces étapes prend au minimum quelques millisecondes, et souvent plus, en fonction des conditions du réseau. Cela peut représenter un temps considérable passé à attendre la réponse finale et exploitable d'une adresse IP.

Dans le cas d'un enregistrement ALIAS, toutes les actions sont identiques à celles d'un CNAME, à la différence que le serveur faisant autorité pour exemple.com effectue les étapes six à treize à votre place et renvoie la réponse finale sous forme d'adresses IPv4 et IPv6. Cette méthode présente deux avantages et un inconvénient majeu :

Avantages

Vitesse de résolution plus rapide

Dans la plupart des cas, les serveurs faisant autorité pour exemple.com ont déjà la réponse en cache, ce qui leur permet de renvoyer la réponse très rapidement.

La réponse de l'ALIAS sera constituée d'enregistrements A et AAAA.Puisqu'un enregistrement ALIAS renvoie directement une ou plusieurs adresses IP, il peut être utilisé partout où un enregistrement A ou AAAA peut l'être, y compris à l'apex de la zone. Cela le rend plus flexible qu'un CNAME, qui ne peut pas être utilisé au sommet de la zone. La flexibilité de l'enregistrement ALIAS est nécessaire lorsque votre site est hébergé sur certains des CDN les plus populaires, qui exigent l'utilisation d'enregistrements CNAME pour que vos utilisateurs puissent y accéder via le domaine nu, tel que exemple.com.

Inconvénients

Perte des informations de géociblage

Comme c'est le serveur faisant autorité pour exemple.com qui émet les requêtes pour lb.exemple.net, toute fonctionnalité de routage intelligent sur l'enregistrement lb.exemple.net se basera sur l'emplacement de ce serveur, et non sur votre emplacement réel. L'option EDNS0 edns-client-subnet ne s'applique dans ce cas. Cela signifie que vous risquez d'être mal acheminé : par exemple, si vous êtes à New York et que le serveur faisant autorité pour exemple.com est en Californie, lb.exemple.net considérera que vous êtes en Californie et renverra une réponse sous-optimale pour votre situation géographique à New York. Cependant, si vous utilisez un fournisseur DNS disposant de serveurs répartis dans le monde entier, il est probable que le serveur DNS faisant autorité soit situé dans votre région, ce qui atténuera ce problème.

Il est important de noter que NS1 regroupe les enregistrements CNAME, à condition qu'ils soient tous gérés dans le système NS1. Les serveurs de noms NS1 font autorité à la fois pour l'enregistrement CNAME et pour l'enregistrement cible. Le regroupement signifie que le serveur de noms NS1 renverra la chaîne complète d'enregistrements, du CNAME à la réponse finale, en une seule réponse. Cela élimine toutes les étapes de recherche supplémentaires et vous permet d'utiliser des enregistrements CNAME, même dans une configuration imbriquée, sans pénalité de performance.

Encore mieux, NS1 prend en charge un type d'enregistrement unique appelé « Linked Record » (enregistrement lié). Il s'agit essentiellement d'un lien symbolique au sein de la plateforme, qui fonctionne comme un enregistrement ALIAS, mais avec une vitesse de résolution inférieure à la microseconde. Pour utiliser un enregistrement lié, il suffit de créer l'enregistrement cible comme vous le feriez habituellement (il peut être de n'importe quel type), puis de créer un second enregistrement qui pointe vers celui-ci et de sélectionner l'option « Linked Record ». Notez que les enregistrements liés peuvent traverser les frontières de domaine (zones) et même les frontières de compte au sein de NS1, offrant ainsi un moyen puissant d'organiser et d'optimiser la structure de vos enregistrements DNS.

Tableau de référence des enregistrements CNAME, ALIAS et liés
 CNAMEALIASEnregistrement lié
Utilisation à l'apex ?NonOuiOui (uniquement vers d'autres zones NS1)
Vitesse relative (TTFB)RapideLa rapiditéLa rapidité
Regroupe les réponsesOui (fonctionnalité exclusive à NS1 Connect)OuiOui
Faites défiler pour voir le tableau complet
Auteur
Terry Bernstein Senior Director of Product Management for NS1 Managed DNS