AレコードとCNAMEレコードの違い

  • 215
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

お恥ずかしながら全部Aレコードにしてました。が、ちょっと調べてみてやっとわかったのでwメモ。

参考URL

http://ascii.jp/elem/000/000/458/458858/
http://d.hatena.ne.jp/japanrock_pg/20090410/1239355230

ドメイン名とIPの関係

ドメイン名:IPアドレス = 1:n

digコマンドで私のドメイン makei.nu を調べてみると

~
[pharaohkj]$ dig makei.nu
 略 
;; ANSWER SECTION:
makei.nu.       1800    IN  A   49.212.145.XX

makei.nu = 49.212.145.XX とわかる。が実は

「ドメイン:IPアドレス」 は 「1:1」 ではない。dig
google.comを調べてみる。

~
[pharaohkj]$ dig google.com
略
;; ANSWER SECTION:
google.com.     2   IN  A   173.194.117.230
google.com.     2   IN  A   173.194.117.227
google.com.     2   IN  A   173.194.117.238
google.com.     2   IN  A   173.194.117.231
google.com.     2   IN  A   173.194.117.233
google.com.     2   IN  A   173.194.117.228
google.com.     2   IN  A   173.194.117.224
google.com.     2   IN  A   173.194.117.229
google.com.     2   IN  A   173.194.117.232
google.com.     2   IN  A   173.194.117.225
google.com.     2   IN  A   173.194.117.226

つまり、 ドメイン名:IPアドレス = 1:n

IPアドレス:ドメイン名 = 1:n

それじゃあその逆は?というと次はdig11ya.net を調べてみるとVirtualHostnameベースで運用しているので、IPアドレス1つにいろんな名前がついている。

~
[pharaohkj]$ dig 11ya.net
略
;; ANSWER SECTION:
11ya.net.       120 IN  A   49.212.145.XX

つまり、 IPアドレス:ドメイン名 = 1:n

Aレコード

Aレコードはドメイン名と対応するIPアドレスを ドメイン名:IPアドレス = 1:n で定義する。
同じIPと別ドメイン名を並べて定義すれば IPアドレス:ドメイン名 = 1:n できる。

CNAMEレコード

CNAMEレコードはすでにAレコードで定義されてるドメイン名と別名を定義する。なのでここは ドメイン名:参照ドメイン名 を書くことで IPアドレス:ドメイン名 = 1:n を定義することができる。

だから違いは

Aレコードは本来のドメイン名とIPの関係を定義。CNAMEはそれの別名をつけることができる。