Un enregistrement CNAME (Canonical NAME) est un type d'enregistrement de ressource DNS qui pointe un nom d'hôte vers un autre. Quand un résolveur rencontre un CNAME, il redémarre immédiatement la recherche en utilisant le nom cible au lieu de l'alias.
Fonctionnement
Si vous interrogez www.example.com et qu'il possède un enregistrement CNAME pointant vers example.com, le résolveur récupère le CNAME, puis interroge example.com pour trouver son enregistrement A ou son enregistrement AAAA et retourne l'adresse IP. L'alias lui-même ne contient jamais directement une adresse IP—le résolveur doit toujours suivre le pointeur.
Contraintes principales
Un CNAME ne peut pas coexister avec d'autres types d'enregistrements au même nom. Vous ne pouvez pas avoir à la fois un CNAME et un enregistrement MX, un enregistrement TXT, ou un autre enregistrement A sur le même nom d'hôte. C'est pourquoi vous ne pouvez pas placer un CNAME à l'apex du domaine (le domaine nu comme example.com)—l'apex doit contenir des enregistrements NS et un enregistrement SOA, rendant un CNAME là impossible.
Exemple
www.example.com. CNAME example.com.
Une recherche pour www.example.com retourne ce CNAME; le résolveur interroge ensuite example.com pour ses enregistrements A/AAAA afin de trouver l'IP réelle.
Quand c'est important
Les CNAME sont utiles pour créer des alias de sous-domaines vers une seule cible, mais évitez de chaîner les CNAME (alias pointant vers un autre alias) car cela ajoute de la latence. Si vous avez besoin d'un comportement de type alias à l'apex de votre domaine, utilisez une solution spécifique au fournisseur comme un enregistrement ALIAS ou ANAME, qui ne fait pas partie de la norme DNS.
WarningNe placez jamais un CNAME à l'apex de la zone (example.com) — il entre en conflit avec les enregistrements SOA et NS requis. Utilisez plutôt un enregistrement A/AAAA, ou l'ALIAS/ANAME de votre fournisseur.