Découvrez PostScale -- API e-mail pour l'envoi transactionnel, la réception et les adresses masquées. PostScale

    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.1

    Flux de requete :

    1. Le client demande blog.example.com
    2. Le DNS renvoie un CNAME pointant vers example.com
    3. Le DNS resout ensuite example.com en 192.0.2.1
    4. 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

    ChampDescriptionExemple
    NomSous-domaine a aliaserwww, blog, api
    TypeType d'enregistrementCNAME
    ContenuNom de domaine cibleexample.com.
    TTLDuree 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

    1. Accedez a votre zone dans le tableau de bord DNScale
    2. Cliquez sur Add Record
    3. 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)
    4. 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

    1. Utilisez le point final - Le domaine cible devrait techniquement se terminer par un point (ex. example.com.), bien que DNScale le gere automatiquement

    2. Verifiez les conflits - Assurez-vous qu'aucun autre enregistrement n'existe au nom du CNAME

    3. Reflechissez au TTL - Utilisez des TTL plus courts si la cible peut changer (ex. lors de migrations CDN)

    4. N'enchainez pas trop de CNAME - Bien que le DNS autorise les chaines de CNAME, elles ajoutent de la latence et de la complexite

    5. 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

    CaracteristiqueCNAMEALIASA
    Pointe versNom de domaineNom de domaineAdresse IP
    Fonctionne a l'apexNonOuiOui
    Peut coexister avec d'autres enregistrementsNonOuiOui
    Recherche DNS supplementaireOuiNon (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.com

    Types 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.