AAAAレコードとは — Cloudflareの設定画面に知らないAAAAがある場合の確認手順と、設定が必要かどうかの判断基準
TL;DR
AAAAレコードはドメインをIPv6アドレスに対応させるレコードです。Cloudflareのプロキシ(オレンジ雲)がONの場合、AAAAはCloudflareが自動管理するため触らなくて大丈夫です。レンタルサーバーでIPv4のみ利用中であれば、AAAAは設定しないのが正解です。
CloudflareのDNS設定画面に、自分で入れた覚えのないAAAAレコードが並んでいる。消していいのか、触らないほうがいいのか、判断がつかないまま画面を閉じてしまう。DNSは設定を間違えるとサイトが表示されなくなるため、確信のないまま手を出しにくい場所です。
この記事は、まず「このAAAAを消してよいか」に答えます。あわせて「レンタルサーバーでIPv6対応は必要か」も扱います。レンタルサーバーを使っている場合とCloudflareのプロキシを使っている場合とでは、「やること」と「触らなくてよいもの」が異なります。設定の判断基準、確認手順、よくある誤設定のリスクをまとめます。
Aレコード・CNAME・MXなど他のレコードの役割から確認したい場合は、DNSレコードとは何か が入口になります。
Cloudflareの設定画面に、自分で設定していないAAAAレコードがあります。消してよいですか?
Cloudflareのプロキシ(オレンジ雲)がONのレコードのAAAAは、Cloudflareが自動的に追加・管理しています。触らないのが正解です。削除してもすぐ戻ってくる場合があります。
CloudflareがAAAAを自動追加する仕組み
Cloudflareは、プロキシ(オレンジ雲)を有効にしたドメインに対して、Cloudflare自身のIPv6アドレスをAAAAに自動設定します。このIPv6アドレスはCloudflareのエニーキャストアドレス(世界中のCloudflareサーバーが共有する住所)であり、あなたが管理するものではありません。
プロキシが有効な状態では、訪問者とCloudflareの間の通信はCloudflareが受け持ちます。オリジンサーバー(自社のサーバー)がIPv4のみの構成であっても、訪問者はIPv6でCloudflareに到達できます。CloudflareがIPv4とIPv6の橋渡しをしているため、AAAAはCloudflareに任せておけば足ります。
| 状態 | AAAAの中身 | 対応 |
|---|---|---|
| プロキシON(オレンジ雲) | CloudflareのIPv6(自動管理) | 触らない |
| DNS-only(グレー雲) | 自社サーバーのIPv6、またはCloudflareが残した値 | 後述の手順で確認 |
| 自分で設定したAAAAがある(DNS-only) | 自社のIPv6アドレス | そのままでよい |
プロキシをDNS-onlyに切り替えた後の注意
プロキシを途中でDNS-only(グレー雲)に切り替えた場合、Cloudflareが自動追加したAAAAが残ったままになることがあります。このとき、AAAAに設定されているIPv6アドレスはCloudflareのアドレスであり、自社サーバーのIPv6ではありません。
DNS-onlyに切り替えた後でAAAAにCloudflareのアドレスが残っている場合、訪問者のブラウザはIPv6でCloudflareのIPに接続を試みますが、Cloudflareのプロキシ機能はOFFのため接続が成立しません。後述の「誤ったIPv6アドレスを入れた場合」と同じく、表示が遅くなるか接続できなくなります。
この状態を解消するには、Cloudflareが追加したAAAAを削除するか、DNS-onlyのまま使うならAAAAを空にします。どちらのAAAAが「自分で設定したもの」かを確認する手順は後述します。
AAAAレコードを設定しないと、サイトに問題がありますか?
サーバーがIPv4のみ対応している場合、AAAAレコードを設定しなくてもサイトは問題なく動きます。AAAAを設定しないことで損をすることはありません。
IPv4だけのサーバーでAAAAは必要か
AAAAが設定されていなければ、ブラウザはIPv4(Aレコード)で接続します。IPv6での接続を試みる前提がないため、表示に影響はありません。
「AAAAを設定しないと損をする、ということはない」——これが判断の軸です。設定する前に確認すべきは、サーバー側にIPv6アドレスが存在するかどうかです。IPv6アドレスがない状態でAAAAを設定しても動作しないだけでなく、後述する理由で表示が遅くなるリスクがあります。
レンタルサーバー(共用サーバー)を使っている場合は?
レンタルサーバーの多くはIPv4のみ対応しています。代表的な国内レンタルサーバー(さくらインターネット共用プラン、ロリポップ、エックスサーバー等)では、追加設定なしではIPv6アドレスが発行されません。
確認手順:
- サーバーの管理画面にログインする
- 「ドメイン設定」または「サーバー情報」の画面を開く
- IPv6アドレスの項目を探す
- IPv6アドレスが表示されていなければ、AAAAは設定しない
ホスティング会社から「IPv6対応のご案内」というメールが届いても、設定を急ぐ必要はありません。サーバー側でIPv6が有効になっていない限り、AAAAに何かを設定しても機能しないためです。
AAAAを設定した方がよいのはどんな場合か?
次のいずれかに当てはまる場合は、AAAAを設定することで効果があります。
- VPSや専用サーバーで、サーバー会社からIPv6アドレスが発行されている
- 社内ネットワークなど、IPv6のみで通信する環境からのアクセスを受け付ける必要がある
- Cloudflareのプロキシ(オレンジ雲)をOFFにした状態で、IPv6対応を維持したい
これらに当てはまらない場合、AAAAは設定しなくて問題ありません。
AレコードとCNAMEレコードの使い分けについてはCNAMEレコードとAレコードの違いも参照してください。
AAAAレコードに誤ったIPv6アドレスを入れるとどうなりますか?
AAAAに存在しないIPv6アドレスが設定されていると、ブラウザはIPv6で接続を試み、タイムアウト後にIPv4(Aレコード)にフォールバックします。サイトは表示されますが、表示までに数秒の遅延が生じます。
AとAAAAが両方ある場合の接続順序
AとAAAAが両方設定されている場合、ブラウザはIPv6を優先して接続を試みます。これはRFC 8305「Happy Eyeballs Version 2」と呼ばれる仕様に基づく動作です(出典: RFC 8305 — rfc-editor.org/rfc/rfc8305)。IPv6とIPv4の両方を並行して試し、先に繋がった方を使う仕組みですが、IPv6に無効なアドレスが設定されているとIPv6の接続試行が失敗するため、余計な待ち時間が発生します。
AAAAに存在しないIPv6アドレスが設定されている場合、次の流れが起きます。
- ブラウザがIPv6(AAAAのアドレス)への接続を試みる
- 接続先が存在しないためタイムアウトになる(2〜10秒程度かかる場合がある)
- IPv4(Aレコード)へフォールバックして接続する
- サイトは表示されるが、表示まで数秒の遅延が生じる
「壊れる」ではなく「遅くなる」という問題です。しかし訪問者が数秒待つことになるため、実務上は無視できないリスクです。
「設定しない」の方が「誤って設定する」より安全
AAAAを設定するかどうか迷っている場合、サーバーのIPv6アドレスが確認できない段階では、AAAAは空のままにしておく方が安全です。誤ったIPv6アドレスを入れるとサイト表示が遅くなります。AAAAを空のままにしても、サイトはIPv4で問題なく表示されます。
AAAAレコードをnslookupで確認する方法
Windowsのコマンドプロンプトで
nslookup -type=AAAA 自分のドメインを実行します。何も返ってこなければAAAAは設定されていません。
Windowsでの確認手順
コマンドプロンプト(またはPowerShell)を開き、次のコマンドを実行します。example.com の部分を確認したいドメインに置き換えてください。
nslookup -type=AAAA example.com
出力パターン別の読み方:
AAAAが設定されている場合:
Server: dns.example.net
Address: 192.168.1.1
Non-authoritative answer:
example.com AAAA IPv6 address = 2606:4700:3034::ac43:caf5
AAAAが設定されていない場合(DNSにAAAAレコードなし):
Server: dns.example.net
Address: 192.168.1.1
*** dns.example.net can't find example.com: Non-existent domain
または、Aレコードのみある場合は次のように返ります(AAAAの行がない):
Server: dns.example.net
Address: 192.168.1.1
Non-authoritative answer:
example.com internet address = 203.0.113.10
CloudflareのIPv6かどうかを見分ける
Cloudflareのプロキシが有効な場合、返ってくるIPv6アドレスは 2606:4700:: または 2606:4700: で始まります。これはCloudflare自身のエニーキャストアドレスです。
確認した結果が 2606:4700:: 始まりであれば、Cloudflareが管理しているAAAAであり、あなたが設定したものではありません。この状態でプロキシがONであれば、触らなくて問題ありません。
DNS-onlyに切り替えた後でも 2606:4700:: で始まるAAAAが残っている場合は、Cloudflareが自動追加したAAAAが残存しています。このAAAAは削除してください。
macOS・Linuxでの確認
macOSまたはLinuxでは dig コマンドを使います。
dig -t AAAA example.com +short
AAAAが設定されている場合はIPv6アドレスが、設定されていない場合は何も返りません。
TTLと反映待ちの仕組みについてはDNSのTTLと反映待ちも参照してください。
AAAAレコードの設定手順(IPv6アドレスがある場合)
サーバーにIPv6アドレスが発行されており、AAAAを設定する必要がある場合の手順です。
CloudflareでAAAAを設定する手順
- Cloudflareの管理画面にログインする
- 対象ドメインを選択し、左メニューから「DNS」→「レコード」を開く
- 「レコードを追加」ボタンをクリックする
- 「タイプ」を「AAAA」に設定する
- 「名前」にレコードを設定するホスト名を入力する(ドメインのルートに設定する場合は
@、wwwに設定する場合はwww) - 「IPv6アドレス」にサーバーから発行されたIPv6アドレスを入力する
- プロキシの設定(オレンジ雲 / グレー雲)を選択する
- 「保存」をクリックする
IPv6アドレスの入力形式
IPv6アドレスは 2001:db8:85a3::8a2e:370:7334 のような形式で入力します(コロン区切りの16進数)。サーバーの管理画面やホスティング会社のメールに記載されているアドレスをそのままコピーして貼り付けてください。
入力を間違えた場合の結果は2つに分かれます。IPv4アドレス(203.0.113.10 のような数字4つ区切り)を貼り付けた場合は、AAAAがIPv6形式しか受け付けないため保存時にエラーになり、公開されません。一方、形式としては正しいが実在しないIPv6アドレスを入れた場合はエラーにならず、そのまま保存されて表示が遅くなります。注意すべきは後者です。
まとめ
状況別の判断フローを整理します。
Cloudflareプロキシ(オレンジ雲)がON: AAAAはCloudflareが自動管理。触らない。削除してもすぐ戻ってくる場合がある。
CloudflareをDNS-onlyに切り替えた後:
nslookupで現在のAAAAを確認する。2606:4700:: で始まるアドレスが返ってくる場合はCloudflareの残存アドレスなので削除する。
レンタルサーバー利用中でIPv6アドレスが発行されていない: AAAAは設定しない。設定してもエラーになるか、誤ったIPv6を指定した場合は表示が遅くなる。
サーバーにIPv6アドレスが発行されている: 発行されたIPv6アドレスをAAAAに設定する。
AAAAレコードは、設定するかどうかを自分で選べます。サーバーがIPv6に対応していない、Cloudflareのプロキシが有効になっている、という状況なら、AAAAレコードは触らないのが正解です。分からないまま設定して壊すより、分かってから判断する方が安全です。
CloudflareやDNS設定まわりで判断に詰まった場合は、メールでご相談ください。