通常、多くのサービスを1台のサーバで提供している場合には、
下記のようなレコード指定をゾーンで行います。
host1 IN A 192.168.10.10 (1)
www IN A 192.168.10.10 (2)
ftp IN A 192.168.10.10 (3)
上記の場合には、サーバが故障した場合に、3つとも変更する
必要が出てきます。しかし、下記のようにCNAMEにより別名
登録をおこなっておくと、変更する箇所は(1)だけで済みます。
host1 IN A 192.168.10.10 (1)
www IN CNAME host1.example.jp (2)
ftp IN CNAME host1.example.jp (3)
CNAMEは便利ですが、小規模なサイトであれば、CNAMEよりも複数のAレコードを用いた方が問い合わせの負荷を減らすことができます。あるクライアントがwww.example.jpを問い合わせてきたとき、それがCNAMEの場合はいったん正規のホスト名(この場合はhost1.example.jp)を調べ、その後正規ホストのIPアドレスをクライアントに返します。つまり、ゾーンファイルを2回参照することになります。もし、www.example.jpをAレコードで定義していれば、ゾーンファイルの参照は1回で済みます。
(注意事項)
www IN CNAME host1.example.jp
www IN CNAME host2.example.jp
host1 IN A 192.168.10.10
host2 IN A 192.168.10.11
上記のように2つのCNAMEの登録は、旧BINDでは行われておりまし
たが、現在のバージョンではこの記述は認められていないので注意が必要です。このゾーンファイルは、BIND 9.2.1ではエラーとなります。ほかにも、CNAMEには次のような制限があります。
・資源レコードにCNAMEを使うことはできない
IN NS dns.example.jp.
dns IN CNAME host1.example.jp.
host1 IN A 192.168.10.10