AAAAレコード -- IPv6アドレスマッピング
DNS AAAAレコードがドメイン名をIPv6アドレスにマッピングする仕組みを解説します。IPv6のフォーマット、デュアルスタック設定、移行戦略を理解しましょう。
Zone File Entry
example.com. IN AAAA 2001:0db8:85a3::8a2e:0370:7334
詳細な説明
AAAAレコードとは?
AAAAレコード(「クワッドA」レコードとも呼ばれます)は、ドメイン名をIPv6アドレスにマッピングします。Aレコードと同じ目的を果たしますが、32ビットのIPv4アドレス空間ではなく、128ビットのIPv6アドレス空間に対応しています。
BINDゾーンファイルの構文
; 完全なIPv6アドレス
example.com. 3600 IN AAAA 2001:0db8:85a3:0000:0000:8a2e:0370:7334
; 短縮IPv6(連続するゼログループを::で置換)
example.com. 3600 IN AAAA 2001:db8:85a3::8a2e:370:7334
; サブドメイン
www 3600 IN AAAA 2001:db8:85a3::8a2e:370:7334
IPv6アドレスは、コロンで区切られた4桁の16進数グループを8つ使用します。グループ内の先頭のゼロは省略でき、連続するオールゼログループの1箇所を::で置き換えることができます。
デュアルスタック設定
現代のほとんどのデプロイメントでは、同じドメインにAレコードとAAAAレコードの両方を持つデュアルスタックネットワークを使用します。クライアントのOSとネットワークが使用するプロトコルを決定します:
example.com. 3600 IN A 203.0.113.50
example.com. 3600 IN AAAA 2001:db8:85a3::8a2e:370:7334
最新のブラウザはHappy Eyeballsアルゴリズム(RFC 8305)を実装しており、IPv4とIPv6の接続を並行してレースさせ、最初に成功した方を使用します。これにより、ネットワークの能力に関係なく、訪問者は常に最速の接続を取得できます。
IPv6が重要な理由
IPv4アドレス空間は枯渇しています。地域インターネットレジストリは利用可能な全ブロックを割り当て済みです。IPv6は約3.4 x 10^38のアドレスを提供し、アドレス不足の問題を恒久的に解決します。多くのモバイルキャリアやISPは、デフォルトでIPv6アドレスを割り当てています。
AAAAレコードを追加することで、IPv6のみのクライアントからのアクセスを保証し、IPv6ルーティングを優先するネットワーク上のユーザーのパフォーマンスを向上させることができます。
バリデーションルール
AAAAレコードの値は有効な128ビットIPv6アドレスでなければなりません。一般的なフォーマットルール:
- コロンで区切られた1〜4桁の16進数グループを8つ
- 連続するオールゼログループの1箇所を
::で置き換え可能 - 標準的なパブリックDNSのAAAAレコードでは、IPv4マップ表記(
::ffff:192.0.2.1)を使用しない
トラブルシューティング
AAAAレコードが存在するがサーバーがIPv6でリッスンしていない場合、IPv6を使用する訪問者はIPv4にフォールバックするまで接続タイムアウトを経験します。AAAAレコードを公開する前に、サーバーがそのIPv6アドレスで到達可能であることを必ず確認してください。
ユースケース
AレコードとともにAAAAレコードを追加して、WebサイトやサービスのIPv6接続を有効にし、IPv6のみやデュアルスタックのネットワーク上のクライアントからの到達性を確保します。