Je gère plusieurs sites Web qui ont actuellement la configuration DNS suivante:
example.com - A Record - Production Server IP
test.example.com - A Record - Test Server IP
www.example.com - CNAME - example.com
beta.example.com - CNAME - test.example.com
dev.example.com - CNAME - test.example.com
Est-ce une utilisation appropriée des enregistrements CNAME? J'ai regardé en ligne et je n'ai pas trouvé de réponse claire. Certaines personnes affirment que les enregistrements CNAME sont mauvais (ils ne savent pas pourquoi, cependant) et proposent la configuration suivante:
example.com - A Record - Production Server IP
test.example.com - A Record - Test Server IP
www.example.com - A Record - Production Server IP
beta.example.com - A Record - Test Server IP
dev.example.com - A Record - Test Server IP
Laquelle de celles-ci est la meilleure approche (et pourquoi)?
Remarque: Les sous-domaines ne nécessitent pas leurs propres enregistrements MX, ce n'est donc pas un problème ici.
Oui, c'est une utilisation appropriée des CNAME. Dans les discussions auxquelles j'ai participé, les arguments ont tendance à ressembler à ceci:
Contre les CNAME:
En faveur des CNAME:
Après avoir essayé deux méthodes différentes pour le faire, j'ai maintenant un style préféré personnel. C'est:
Je trouve que cette configuration fonctionne bien. Il maintient les recherches DNS supplémentaires pour le CNAMES vers le bas; et si un serveur tombe en panne, je peux toujours changer le DNS public assez rapidement.
Voici un exemple (improvisé) dans la syntaxe BIND:
;name ttl class rr value
server01 30m IN A 192.168.0.3
server02 30m IN A 192.168.0.4
webmail 24h IN CNAME server01
extranet 24h IN CNAME server02
ftp 24h IN CNAME server02
Oui, c'est approprié.
Mes meilleures pratiques, que de nombreuses personnes partagent, consistent à créer un enregistrement 1 A pour chaque IP de serveur; et utiliser CNAMES pour autre chose.
Un exemple courant serait:
server1.example.com. IN A 192.168.0.1
server2.example.com. IN A 192.168.5.2
www IN CNAME server1
ftp IN CNAME server1
beta IN CNAME server2