Aレコード、CNAME、ALIAS、ANAMEは、ドメインをWebサイトの配信先へ向ける時によく出てくるDNS設定です。
一言でいうと
AレコードはIPアドレスへ向け、CNAMEは別のホスト名へ向け、ALIAS/ANAMEはapexドメインでCNAMEのように使うための事業者独自機能です。
まず比較
| 種類 | 向ける先 | 標準DNSか | よく使う場面 |
|---|---|---|---|
| A | IPv4アドレス | 標準 | example.com をIPへ向ける |
| AAAA | IPv6アドレス | 標準 | IPv6対応 |
| CNAME | 別のホスト名 | 標準 | www.example.com をホスティング先へ向ける |
| ALIAS | 別のホスト名のような指定 | 事業者独自 | apexドメインをホスティング先へ向ける |
| ANAME | 別のホスト名のような指定 | 事業者独自 | ALIASと似た用途 |
Aレコード
Aレコードは、ドメイン名をIPv4アドレスへ向けます。
example.com. A 203.0.113.10
固定IPのサーバーへ向ける場合にわかりやすい設定です。ただし、ホスティングサービスによってはIPアドレスではなくCNAMEを指定するよう案内されることがあります。
CNAME
CNAMEは、ある名前を別のホスト名へ向ける別名レコードです。
www.example.com. CNAME example-hosting.example.net.
ホスティングサービスが配信先ホスト名を提示する場合、www などのサブドメインにはCNAMEを使うことが多いです。
apexドメインではCNAMEに注意
example.com のようなルート部分を apexドメイン、またはルートドメインと呼ぶことがあります。
DNSのルール上、apexドメインにはSOAやNSなど重要なレコードが必要です。そのため、標準的にはapexドメインへCNAMEを置けません。
example.com. CNAME example-hosting.example.net. # 避ける
ALIAS / ANAME
ALIASやANAMEは、DNS事業者が提供する独自機能です。利用者にはCNAMEのように見えますが、DNS事業者側で最終的にA/AAAAのような回答に変換します。
| 利点 | 注意 |
|---|---|
| apexドメインをホスティング先へ向けやすい | 標準DNSレコードではなく事業者依存 |
| IP変更をDNS事業者側が追従できる | 移行時に同じ機能があるとは限らない |
ALIASやANAMEは便利ですが、DNSの標準レコード名ではなく、提供事業者ごとの機能として理解します。
使い分けの目安
| やりたいこと | よく使う設定 |
|---|---|
www.example.com をホスティング先へ向ける | CNAME |
example.com を固定IPへ向ける | A / AAAA |
example.com をCNAME指定のホスティングへ向ける | ALIAS / ANAME / 事業者指定のA |
| メールを使う | MX、TXTも必要 |
よくある誤解
| 誤解 | 実際 |
|---|---|
| CNAMEはどこにでも置ける | apexドメインでは制約があります |
| ALIASは標準DNSレコード | 多くの場合、DNS事業者の独自機能です |
| AとCNAMEは同じ | IPへ向けるか、別名へ向けるかが違います |
| DNS設定は1行だけで全部終わる | www、apex、メール、所有確認などで複数必要です |
まとめ
AレコードはIPv4アドレス、AAAAはIPv6アドレス、CNAMEは別のホスト名へ向けます。apexドメインをホスティング先へ向ける時は、Aレコード、ALIAS、ANAME、またはサービス指定の設定を確認します。
参考リソース
- RFC 1035: Domain Names - Implementation and Specification
- Cloudflare: DNS record types
- DNSimple: ALIAS Records