Les enregistrements CNAME expliques
Comprenez le fonctionnement des enregistrements CNAME, leurs limitations et quand les utiliser. Inclut des exemples pour le tableau de bord et l'API DNScale.
Un enregistrement CNAME (Canonical Name) cree un alias d'un nom de domaine vers un autre. Au lieu de pointer vers une adresse IP, un CNAME pointe vers un autre nom de domaine, qui est ensuite resolu pour obtenir l'adresse IP finale.
Comment fonctionnent les enregistrements CNAME
Lorsqu'un resolveur DNS rencontre un enregistrement CNAME, il suit l'alias pour trouver l'adresse IP reelle :
blog.example.com. 3600 CNAME example.com.
example.com. 3600 A 192.0.2.1Flux de requete :
- Le client demande
blog.example.com - Le DNS renvoie un CNAME pointant vers
example.com - Le DNS resout ensuite
example.comen192.0.2.1 - Le client se connecte a
192.0.2.1
Cas d'utilisation courants
Alias de sous-domaines
Pointer plusieurs sous-domaines vers la meme destination :
www.example.com. 3600 CNAME example.com.
blog.example.com. 3600 CNAME example.com.
shop.example.com. 3600 CNAME example.com.Integration CDN
Pointer votre domaine vers un fournisseur CDN :
www.example.com. 3600 CNAME d1234.cloudfront.net.
static.example.com. 3600 CNAME example.b-cdn.net.Integration de services cloud
Pointer des sous-domaines vers des plateformes cloud :
app.example.com. 3600 CNAME myapp.herokuapp.com.
docs.example.com. 3600 CNAME example.gitbook.io.Verification de services e-mail
De nombreux services de messagerie necessitent des enregistrements CNAME :
em1234.example.com. 3600 CNAME u1234.wl.sendgrid.net.Format de l'enregistrement
| Champ | Description | Exemple |
|---|---|---|
| Nom | Sous-domaine a aliaser | www, blog, api |
| Type | Type d'enregistrement | CNAME |
| Contenu | Nom de domaine cible | example.com. |
| TTL | Duree de vie (secondes) | 3600 |
Limitations importantes
1. Impossible a utiliser a la racine du domaine
Les enregistrements CNAME ne peuvent pas etre utilises au domaine racine (apex) :
# NOT ALLOWED
example.com. CNAME other.com.
# ALLOWED
www.example.com. CNAME other.com.Pour les domaines apex, utilisez plutot les enregistrements ALIAS.
2. Doit etre le seul enregistrement a ce nom
Un CNAME ne peut pas coexister avec d'autres types d'enregistrements au meme nom :
# NOT ALLOWED - conflit avec CNAME
www.example.com. CNAME example.com.
www.example.com. TXT "verification=abc123"
# ALLOWED - CNAME est le seul enregistrement
www.example.com. CNAME example.com.3. Ajoute de la latence de recherche
Chaque CNAME introduit une recherche DNS supplementaire, ce qui peut augmenter la latence. Pour les applications critiques en termes de performance, envisagez d'utiliser directement des enregistrements A/AAAA.
Ajouter un enregistrement CNAME
Via le tableau de bord
- Accedez a votre zone dans le tableau de bord DNScale
- Cliquez sur Add Record
- Configurez l'enregistrement :
- Name : Saisissez le sous-domaine (ex.
www,blog) - Type : Selectionnez
CNAME - Value : Saisissez le nom de domaine cible
- TTL : Definissez la duree de mise en cache (par defaut : 3600)
- Name : Saisissez le sous-domaine (ex.
- Cliquez sur Create Record
Via l'API
Creer un enregistrement CNAME :
curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "www",
"type": "CNAME",
"content": "example.com",
"ttl": 3600
}'Pointer un sous-domaine vers un CDN :
curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "cdn",
"type": "CNAME",
"content": "d1234567.cloudfront.net",
"ttl": 3600
}'Reponse de l'API :
{
"status": "success",
"data": {
"message": "Record created successfully",
"record": {
"id": "encoded-record-id",
"name": "www.example.com.",
"type": "CNAME",
"content": "example.com.",
"ttl": 3600,
"disabled": false
}
}
}Bonnes pratiques
-
Utilisez le point final - Le domaine cible devrait techniquement se terminer par un point (ex.
example.com.), bien que DNScale le gere automatiquement -
Verifiez les conflits - Assurez-vous qu'aucun autre enregistrement n'existe au nom du CNAME
-
Reflechissez au TTL - Utilisez des TTL plus courts si la cible peut changer (ex. lors de migrations CDN)
-
N'enchainez pas trop de CNAME - Bien que le DNS autorise les chaines de CNAME, elles ajoutent de la latence et de la complexite
-
Utilisez ALIAS pour l'apex - Si vous avez besoin d'un comportement de type CNAME au domaine racine, utilisez les enregistrements ALIAS
CNAME vs ALIAS vs enregistrement A
| Caracteristique | CNAME | ALIAS | A |
|---|---|---|---|
| Pointe vers | Nom de domaine | Nom de domaine | Adresse IP |
| Fonctionne a l'apex | Non | Oui | Oui |
| Peut coexister avec d'autres enregistrements | Non | Oui | Oui |
| Recherche DNS supplementaire | Oui | Non (resolu au niveau autoritaire) | Non |
Tester les enregistrements CNAME
Verifiez votre enregistrement CNAME avec dig :
dig CNAME www.example.com
# Suivre la chaine pour obtenir l'IP finale
dig +trace www.example.comTypes d'enregistrements associes
- A - Correspondance IPv4 directe
- AAAA - Correspondance IPv6 directe
- ALIAS - Comportement de type CNAME pour les domaines apex
Conclusion
Les enregistrements CNAME sont inestimables pour simplifier la gestion DNS, en particulier lors de l'integration avec des services tiers. Comprendre leurs limitations — notamment concernant les domaines apex et la coexistence des enregistrements — vous aide a faire le bon choix entre CNAME, ALIAS et les enregistrements A/AAAA directs.