LoginSignup
1
0

AレコードとCNAMEレコード使い分けと注意点

Posted at

Aレコードとは

ホスト名とIPアドレスを直接関連付けるために使用する。
Aレコードにホスト名とIPアドレスを記載することで、WEBサイトのドメイン名とWEBサーバのIPアドレスのマッピングが可能となる。

所謂名前解決と呼ばれるものである。
IPv4ではAレコード、IPv6ではAAAAレコードと使用するレコードが異なる。
クライアントから対象のWEBサーバのIPアドレスに接続するためには、Aレコードに記載したホスト名を指定する。

NAME CLASS RDATA
1 example.com. IN A 192.0.2.1

CNAMEレコードとは

DNSレコードの1つ。ドメインの別名を接続先のドメイン名に関連付けるために使用する。
別名を複数設定することができ、それらを接続先のドメインにリダイレクトできる。あらかじめAレコードを設定する必要がある。

NAME CLASS RDATA
1 example.com. IN A 192.0.2.1
2 rep1example.com. IN CNAME example.com.
3 rep2example.com. IN CNAME example.com.

CNAMEレコードを使用するメリット

サーバ更改などでホスト名を変更するとき切り替えが容易になる。
Aレコード(ホスト名)を直接指定すると、接続元でホスト名を記載したプログラムや設定ファイルを全て改修しなければならない。
CNAMEレコードを使用することで、接続元で記載している別名をそのまま使用でき、Aレコードのホスト名やCNAMEレコードのホスト名を変更することで対応できる。

注意点

CNAMEレコードで指定したドメインに対して、MX(メール交換)レコードやNS(ネームサーバ)レコードで同じドメインを指定することはセキュリティの観点から避けるべき。
例えば1つの物理サーバでWEBサイト、DNS、メールを運用するとき、以下のようにレコード間で同じドメインを指定することがある。

良くない例

NAME CLASS RDATA
1 example.com. IN NS dns.example.com.
2 example.com. IN MX 10 mail.example.com.
3 dns.example.com. IN A 192.0.1.2
4 mail.example.com. IN CNAME dns.example.com.
5 rep1example.com. IN CNAME dns.example.com.

上記の良くない例だと、外部のDNSから対象ホストのIPアドレスを検索できない可能性があり、トラブルの元となる。
以下のように、MXやNSに設定するホスト名に対し、AレコードでIPアドレスを設定することでトラブルを防げる。

良い例

NAME CLASS RDATA
1 example.com. IN NS dns.example.com.
2 example.com. IN MX 10 mail.example.com.
3 dns.example.com. IN A 192.0.1.2
4 mail.example.com. IN A 192.0.1.2
5 rep1example.com. IN CNAME mail.example.com.

参考文献

AレコードとCNAMEレコード
CNAMEレコードの注意点

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0