DNS-複数のAレコードまたは1つのAレコードと多数のCNAMEですか?


29

「www」というWebサーバーがあるとします。www.example.comは、そのマシンのIPアドレスに解決されます。次に、webmail.example.comのような仮想ホストとそれらのDNSレコードを作成します。

「ウェブメール」の場合、wwwのIPアドレスを使用してAレコードを入力する必要がありますか、それともwwwに対してCNAMEを実行する必要がありますか?

よりクリーンな、より堅牢なものは何ですか?いい?

回答:


26

この質問には2つの代替ビューがあり、最終的には永遠に議論されるものです。私は自分の意見を述べるつもりはありません(私は自分自身が破れているので)が、それぞれの方法での一般的な議論は通常次のとおりです:

  • 物理マシンのAレコードを定義し、それらのマシンにCNAMEサービスを定義する必要があります。これにより、何が何であるかがかなり明確になり、番号を付け直す必要がある場合、変更するレコードは多くありません。マシンのレコードだけです。その一方で、DNSルックアップの負荷が多少増加し、「補助」IP(SSL vhostを考えてください)はこのモデルにうまく収まりません。

  • 「正規名」(CNAME)の文字通りの意味は、同じ名前の厳密なエイリアスを定義することです(と考えmailてくださいsmtp)。同じマシンで複数のサービスを実行している場合、DNSの負荷を減らし、一部のサービス(NSレコード、およびそれほどではないがMXレコード)は、実際にはCNAMEの処理に感心していません。したがって、とにかくそれらのサービスを異なる方法で処理する必要がある場合は、すべてに対して同様に行うことができます。


12
MXをCNAMEにポイントすることで、実際にDNSサーバーを真剣に破壊/オーバーロードできます。私は今なぜ理由を説明することはできませんが、古いメールサーバー(そこにはたくさんあります)はMXがCNAMEを指しているのを見て、それを処理する方法を知らず、見続けて大きなストレスをかけますDNS上で、最終的にはメールがどこにも届かない。MXをCNAMEに指定しないでください。今まで。
マークヘンダーソン

3
私はFarseekerに同意します。それがうまくいくとしてもMXをCNAMEに向けないでください。完全な詳細が必要な場合は、ウィキペディア(MXレコードの検索)またはRFC 2181(セクション10.3)をご覧ください。
ブノワ

ワンブルに+1。その答えは私の見解も表しています。Farseekerに+1。MXレコードは例外です。Beootのリファレンスについては、Wikipediaを技術的なリファレンスとして使用しないでください。エラーや不正確さが多すぎるためです。ほとんどすべての人がRFCを引用するのが好きですが、RFCは標準ではなく、単に標準の提案の前兆にすぎないことを覚えておく必要があります。
ジョンガーデニアーズ

ブノワの名前のつづりを間違えて申し訳ありません。それは私がベッドにいた時間です。
ジョン・ガーデニアーズ

私は常にcnamesを使用しました。私の同僚は、複数のレコードのアプローチを取りました。cnameが優れているもう1つの理由は、どのレコードがptrレコードを取得するかを簡単に決定できるようにすることです。私はこれについて3人目の同僚からビールを獲得しました。
dmourati

12

CNAMEを使用すると、DNSサーバーでの検索が事実上2倍になります。要求がCNAMEにマッピングされると、CNAMEのAレコードを検索する必要があります。

ただし、CNAMEが存在する理由があります。これにより、DNSの管理が非常に簡単になります。また、1日に数万の解決を行わない限り、問題にはなりません。


12

ここでは、CNAMEがDNS負荷を増加させることを示唆しています。これは私に興味を起こさせました。Wiresharkを起動し、CNAMEのリクエストを検査しました。少なくとも私たちの環境では、結果は1つのレコードで返されました。ここでは、Knuthの格言を思い起こさせます。「早すぎる最適化はすべての悪の根源です」。

私はCNAMEが好きですが、主にそれらの心理的効果のためです。彼らは(例えば私のような)人々にサービス名からサーバー名を切り離すことを奨励しています。

私たちの環境には、不透明なサーバー名に添付されたいくつかのSSL証明書があります(これはやめました)。ここではCNAMEの方がはるかに優れています。サーバー名とサービスが密接に結びついているサービスの移行を行ったすべての場所で頭痛の種です。CNAMEは明確な概念上の分離線を提供します。


これにはさらに投票が必要です。通常、CNAMEレコードでは、結果が単一の応答にバンドルされるため、必要な往復回数は増えません。
ニック

4

私の意見では、仮想ホストがwww.someotherdomain.comである場合、独自のDNSレコードのセットを持つ別個のドメインとして扱います(後で分割する必要がある場合は簡単になります)。ただし、ブログが .example.comの場合は、CNAMEを使用します。

ただ私の個人的な好み。



2

CNAMEを使用すると、パーソナルコンピューターやインターネット接続ではなく、DNSシステムの負荷が増加します。ここの何人かの人々は彼らが答えたときにその区別をしなかったと思います。

たとえば、主要な高トラフィックレコード(@およびwww)にAレコードを使用します。プライマリレコードの同じIPに常にマップされるセカンダリレコードにCNAMEを使用します。たとえば、「www.site.com」と常に同じIPに解決されるドメイン「member.site.com」がある場合、ここでは便宜上CNAMEを使用できますが、Aレコードを使用できる場合、それはより速く解決します。


ありがとう、私は答えを明確に見つけましたが、あなたのコメントは理解するのがより簡単です:)
カルニ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.