現在、次のDNS構成を持つ複数のWebサイトを管理しています。
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
これはCNAMEレコードの適切な使用ですか?オンラインで調べましたが、明確な答えは見つかりませんでした。一部の人々は、CNAMEレコードが悪いと主張し(しかし、なぜそうなのかは明確ではありません)、次の設定を提案します。
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
これらのうちどれがより良いアプローチですか(そしてその理由)?
注:サブドメインは独自のMXレコードを必要としないため、ここでは問題になりません。
はい、それはCNAMEの適切な使用法です。私が参加してきた議論では、議論は次のようになる傾向があります。
CNAMEに対して:
CNAMEを支持して:
これを行うためにいくつかの方法を試した後、個人的なお気に入りのスタイルができました。それは:
この設定はうまく機能していることがわかりました。 CNAMESの余分なDNSルックアップがダウンしたままになります。サーバーがクラッシュした場合でも、パブリックDNSをかなり速く変更できます。
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
はい、それは適切です。
多くの人が共有する私のベストプラクティスは、サーバーIPごとに1 Aレコードを作成することです。それ以外にはCNAMESを使用します。
一般的な例は次のとおりです。
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