Domain IP Lookup

ほぼすべてのゾーンで出会うレコード

Aホスト名をIPv4アドレスに対応付け
AAAAホスト名をIPv6アドレスに対応付け
CNAMEホスト名を別のホスト名に対応付け
MXドメインをメールサーバーに優先度順で対応付け
TXTドメインを任意のテキストに対応付け。SPF、DKIM、所有確認など
NSドメインを応答するネームサーバーに対応付け
DNSの基礎

CNAMEとAレコードの違いと使い分け

読了時間:3分

どちらのレコードも、ホスト名をどこかに向けます。違いは 何を 指すかにあります。そしてその違いが、IPアドレスが変わったときに設定を正しく保つ責任を誰が負うかを決めます。

AレコードCNAMEレコード
指す先IPアドレス別のホスト名
例93.184.216.34myapp.herokudns.com
追加の問い合わせ不要。それが最終的な答え必要。指す先も解決する
ルートで使えるか使える使えない(後述)
同じ名前にほかのレコードを置けるか置ける置けない。単独でなければならない
IPが変わったときの更新自分で編集する必要がある自動で追従する

判断基準は1つの質問だけ

重要なポイント

IPアドレスを自分で管理していて、変わらないと分かっていますか。その場合はAレコードを使います。他者が運用するサービスを指す場合はCNAMEを使います。そうすれば、相手側のアドレス変更でサイトが止まることはありません。

ほとんどの方にとって、判断はこれだけです。この記事の残りは、実際に問題を引き起こしやすい細部の話です。

CNAMEが解決される仕組み

CNAMEは Canonical Name(正規名)の略です。「この名前は別名なので、代わりにあちらの名前を調べてください」という意味になります。

CNAMEと、最終的にたどり着くレコード
shop.example.com.    3600    IN    CNAME    stores.myshopify.com.
stores.myshopify.com. 300    IN    A        23.227.38.65

shop.example.com を問い合わせたリゾルバーは、まずCNAMEを受け取り、次に stores.myshopify.com を解決して、23.227.38.65 を返します。問い合わせは1回ではなく2回になりますが、増えるのは数ミリ秒で、ほとんどの場合キャッシュされます。

利点は、Shopifyが新しいアドレスに移行するとき、Shopify側でAレコードを1つ変更するだけで、あなたのドメインも自動的に追従することです。Aレコードの場合は、自分で気づいて編集するまで、サイトが止まってしまいます。

ルートドメインの制限

これはDNSで最もよくあるつまずきの1つです。そしてこれはプロトコル上のルールであり、お使いのプロバイダーの制約ではありません。

ホスト名しか提供しないホスティング(myapp.herokuapp.com など)で、ルートに問題が生じるのはこのためです。解決策は3つあります。

  1. ALIAS / ANAME / CNAMEフラット化

    多くのDNSプロバイダーは、ルートでCNAMEのように振る舞う独自のレコードタイプを提供しています。プロバイダー自身が指す先を解決し、得られたIPを通常の A レコードとして返すため、プロトコルのルールには違反しません。Cloudflareではこれを「CNAMEフラット化」、Route 53では「エイリアスレコード」と呼びます。

  2. ルートをwwwにリダイレクトする

    ルートを小さなリダイレクトサービスに向け、CNAMEは www に置きます。シンプルで、どのプロバイダーでも使えますが、訪問者にとってはホップが1回増えます。

  3. Aレコードを使い、保守の手間を受け入れる

    プロバイダーが安定したIPを公開し、静的であると明記しているなら、ルートにAレコードを置いて問題ありません。安定性が保証されているかどうかは必ず確認してください。多くのプロバイダーは、保証していないと明言しています。

CNAMEは単独でなければならない

名前にCNAMEがある場合、ほかには何も置けません。A も MX も TXT も不可です。

無効な例(このようにしないでください)
mail.example.com.    IN    CNAME    ghs.googlehosted.com.
mail.example.com.    IN    TXT      "v=spf1 include:_spf.google.com ~all"

このような設定を最初から拒否するプロバイダーもあります。さらに厄介なのは、受け付けたうえで予測できない動作をするプロバイダーもあることです。ある名前に TXT レコードが必要なら、その名前をCNAMEにすることはできません。

それぞれが適しているケース

Aレコードを使うケース

  • ルートドメイン。ほぼすべての場合で該当します。
  • 静的IPで運用しているサーバー。VPS、専用サーバー、予約済みのクラウドアドレスなどです。
  • 同じ名前にほかのレコードも置く必要がある場合。
  • アドレスに解決される必要がある MX の指す先。

CNAMEを使うケース

  • マネージドプラットフォーム(Shopify、Heroku、Netlify、Vercel)を指すサブドメイン。
  • ルートまたはホスティング先のホスト名を指す www。
  • プロバイダーから作成を求められるドメイン所有確認用のサブドメイン。
  • 基盤となるIPを自分で管理できない、あらゆるもの。

現在の設定を確認する

名前がCNAMEかどうか、どこへつながるかを確認する
dig +short www.example.com CNAME
dig +short www.example.com A

検索ツール なら、任意のドメインの A、AAAA、CNAME レコードをまとめて確認できます。そのため、本来は共存してはいけない両方のレコードを持つ名前も、簡単に見つけられます。

ドメインの公開DNSアドレスを調べたい場合は、Domain IP Lookupツールをお試しください。

このテーマの無料ツール

よくある質問

関連記事

ほぼすべてのゾーンで出会うレコード

Aホスト名をIPv4アドレスに対応付け
AAAAホスト名をIPv6アドレスに対応付け
CNAMEホスト名を別のホスト名に対応付け
MXドメインをメールサーバーに優先度順で対応付け
TXTドメインを任意のテキストに対応付け。SPF、DKIM、所有確認など
NSドメインを応答するネームサーバーに対応付け
DNSの基礎

DNS Aレコードとは?AAAAが必要になる場面

ドメインを実際にサーバーへ向けるレコードです。その構造、対となるAAAAレコード、サイトが最も壊れやすい4つの間違いを解説します。

読了時間:3分

ほぼすべてのゾーンで出会うレコード

Aホスト名をIPv4アドレスに対応付け
AAAAホスト名をIPv6アドレスに対応付け
CNAMEホスト名を別のホスト名に対応付け
MXドメインをメールサーバーに優先度順で対応付け
TXTドメインを任意のテキストに対応付け。SPF、DKIM、所有確認など
NSドメインを応答するネームサーバーに対応付け
DNSの基礎

DNSレコードタイプ徹底解説:完全リファレンス

知っておくべきレコードタイプのすべてについて、役割、書式、そして陥りがちな間違いを、1つのリファレンスページにまとめました。

読了時間:4分

再帰的なDNS検索を1ホップずつ見る

ブラウザー

example.comを要求

リゾルバー

ISP / 1.1.1.1

ルート + TLD

.comの管理元は?

権威サーバー

正式な回答

この連鎖の各ホップはそれ自体がDNS検索で、結果はその後キャッシュされます

DNSの基礎

ネームサーバーとは?ドメイン委任の仕組み

どのプロバイダーがDNSを管理するかを決める、たった1つの設定です。レコードを編集しても反映されないことがある理由でもあります。

読了時間:3分