AAAAレコードとは — Cloudflareの設定画面に知らないAAAAがある場合の確認手順と、設定が必要かどうかの判断基準

初級InfraDB編集部

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アドレスが発行されません。

確認手順:

  1. サーバーの管理画面にログインする
  2. 「ドメイン設定」または「サーバー情報」の画面を開く
  3. IPv6アドレスの項目を探す
  4. 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アドレスが設定されている場合、次の流れが起きます。

  1. ブラウザがIPv6(AAAAのアドレス)への接続を試みる
  2. 接続先が存在しないためタイムアウトになる(2〜10秒程度かかる場合がある)
  3. IPv4(Aレコード)へフォールバックして接続する
  4. サイトは表示されるが、表示まで数秒の遅延が生じる

「壊れる」ではなく「遅くなる」という問題です。しかし訪問者が数秒待つことになるため、実務上は無視できないリスクです。

「設定しない」の方が「誤って設定する」より安全

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を設定する手順

  1. Cloudflareの管理画面にログインする
  2. 対象ドメインを選択し、左メニューから「DNS」→「レコード」を開く
  3. 「レコードを追加」ボタンをクリックする
  4. 「タイプ」を「AAAA」に設定する
  5. 「名前」にレコードを設定するホスト名を入力する(ドメインのルートに設定する場合は @www に設定する場合は www
  6. 「IPv6アドレス」にサーバーから発行されたIPv6アドレスを入力する
  7. プロキシの設定(オレンジ雲 / グレー雲)を選択する
  8. 「保存」をクリックする

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設定まわりで判断に詰まった場合は、メールでご相談ください

DNSAAAAIPv6Cloudflare

関連記事

ネットワーク・DNSCNAMEレコードとAレコードの違い — SaaSに『CNAMEを設定してください』と言われたときDNS管理画面の何処に入れるかネットワーク・DNSDNS TTLとは — 設定を変えたのに古いサイトが見えると言われる理由と、あと何分待てばいいかの調べ方ネットワーク・DNSCloudflareのプロキシ(オレンジ雲)オンオフの選び方
記事一覧に戻る