ほぼすべてのゾーンで出会うレコード
DNS Aレコードとは?AAAAが必要になる場面
Aレコードは、DNSゾーンのなかで最も影響の大きい1行です。ホスト名をIPv4アドレスに対応付けるもので、これが誤っていたり欠けていたりすると、ほかのすべてが完璧に設定されていても、サイトには到達できません。
Aは Address(アドレス)の略です。そのIPv6版がAAAAレコード(「クアッドA」と読みます)で、IPv6アドレスの大きさがIPv4アドレスの4倍であることに由来する名前です。
Aレコードの構造
example.com. 3600 IN A 93.184.216.34
www.example.com. 3600 IN A 93.184.216.34
example.com. 3600 IN AAAA 2606:2800:220:1::248左から順に読みます。
| フィールド | 値 | 意味 |
|---|---|---|
| 名前 | example.com. | このレコードが応答するホスト名です。ほとんどのコントロールパネルで、@ はドメイン単体を意味します。 |
| TTL | 3600 | リゾルバーがこのレコードをキャッシュしてよい秒数です。TTLをご覧ください。 |
| クラス | IN | インターネットです。ほかの値が必要になることはありません。 |
| タイプ | A | IPv4アドレスのレコードです。 |
| 値 | 93.184.216.34 | アドレスそのものです。実際のIPでなければならず、ホスト名は指定できません。 |
AとAAAAの違い
| Aレコード | AAAAレコード | |
|---|---|---|
| 指す先 | IPv4アドレス | IPv6アドレス |
| 値の例 | 93.184.216.34 | 2606:2800:220:1::248 |
| 必須か | 事実上は必須 | 強く推奨 |
| クライアントが使う場面 | IPv4で接続できるとき | IPv6で接続できるとき |
これらはどちらかを選ぶものではなく、両方を公開します。デュアルスタックのクライアントは、通常はIPv6を優先し、IPv4にフォールバックするため、両方があれば、すべての訪問者が利用できる経路を持てます。A レコードだけを公開すると、一部のモバイルネットワークに存在するIPv6のみのクライアントは、あなたのサイトにまったく到達できません。
1つの名前に複数のAレコード
1つのホスト名に、複数のAレコードを設定できます。リゾルバーはそのすべてを返し、通常は順序を入れ替えるため、トラフィックがサーバーに分散されます。典型的なDNSラウンドロビンです。
example.com. 300 IN A 93.184.216.34
example.com. 300 IN A 93.184.216.35
example.com. 300 IN A 93.184.216.36これは原始的な負荷分散です。DNSにはサーバーが正常かどうかが分からないため、停止したアドレスは、レコードを削除するまで返され続けます。より良い代替手段は、ドメインに複数のIPがある理由で解説しています。
サイトを壊す4つの間違い
wwwレコードを忘れるexample.comとwww.example.comは、別々のレコードが必要な、異なるホスト名です。片方だけを設定してもう片方を設定しないと、訪問者の半分が存在しない名前にたどり着いてしまいます。誤ったプロバイダーでレコードを編集する
NSレコードがホスティング先に委任されている場合、レジストラで編集したレコードは完全に無視されます。まず、どのネームサーバーが権威を持つかを確認してください。移行前にTTLを高いままにしておく
TTLが86400秒のAレコードを変更すると、最大24時間にわたってトラフィックが分かれることになります。移動する前日に、TTLを下げておいてください。
古いAレコードをCNAMEと並べて残す
1つの名前に、CNAMEとほかのレコードを両方持たせることはできません。多くのプロバイダーは、どちらかを黙って無視するため、一貫しない挙動になります。
ワイルドカード、サブドメイン、エイペックス
名前に関する3つの状況は頻繁に出てきますが、挙動が十分に異なるため、分けて考える価値があります。
エイペックス(ルート)のレコード
エイペックスは、サブドメインのないドメイン単体、つまり example.com です。ほとんどのコントロールパネルでは @ と書かれます。CNAMEではなく A レコードを使うことが多い、というより使わなければならない唯一の名前です。エイペックスには NS と SOA のレコードが必須であり、プロトコルは、CNAMEがそれらと共存することを禁じているからです。
サブドメインのレコード
すべてのサブドメインは、独自のレコードを必要とする独立した名前です。www、blog、shop、api は、エイペックスから何も継承しません。example.com に A レコードを設定しても、www.example.com にはまったく何の効果もありません。
ワイルドカードのレコード
ワイルドカードは、独自のレコードを持たないあらゆる名前に応答します。
*.example.com. 3600 IN A 93.184.216.34新規登録のたびにDNSを変更せずに、各顧客に their-name.example.com を提供するマルチテナントの製品に便利です。使う前に知っておくべき注意点が2つあります。
- 明示的なレコードが常に優先されます。
api.example.comに独自のAレコードがあれば、その名前ではワイルドカードは参照されません。 - ワイルドカードが対象にするのは1階層だけです。
*.example.comはfoo.example.comに一致しますが、foo.bar.example.comには一致しません。
Aレコードを確認する
dig +short example.com A
dig +short example.com AAAAあるいは、検索ツールで両方を一度に解決できます。A と AAAA を独立して問い合わせ、別々に一覧表示するため、IPv6が実際に設定されているかがすぐに分かります。
重要なポイント
Aレコードは、名前からIPv4への対応付けです。AAAAレコードは、名前からIPv6への対応付けです。どちらも指定するのは実際のアドレスであり、ホスト名ではありません。そして、両方を公開することで、誰にとってもサイトに到達できるようになります。
ドメインの公開DNSアドレスを調べたい場合は、Domain IP Lookupツールをお試しください。
このテーマの無料ツール
よくある質問
関連記事
ほぼすべてのゾーンで出会うレコード
CNAMEとAレコードの違いと使い分け
判断の分かれ目はただ1つ、IPアドレスを自分で管理しているか、他者が管理しているかです。誰もがつまずくルートドメインのルールも解説します。
ほぼすべてのゾーンで出会うレコード
DNSレコードタイプ徹底解説:完全リファレンス
知っておくべきレコードタイプのすべてについて、役割、書式、そして陥りがちな間違いを、1つのリファレンスページにまとめました。
TTLの実際の選び方
DNS TTLとは?最適な値の選び方
たった1つの数字が、変更が反映される速さと、発生するDNSトラフィックの量を左右します。意図して選ぶ方法を紹介します。