3秒でわかる
IPアドレスの代わりにサーバーを指すための人が読める名前。覚えやすさに加えて、移転しても同じ住所を使い続けられるようにするための仕組みです。
もう少し詳しく
どういうものか
ドメイン名は、インターネット上のサーバーを指すための人が読める名前です。example.com のように点で区切られ、右から順に階層が下りてきます。末尾の com や jp がトップレベルドメイン、その左が登録者の選んだ名前、さらに左に www や api といったサブドメインが付きます。
ブラウザがドメイン名を受け取ると、DNS の仕組みを使って対応する IP アドレスを問い合わせ、その結果に対して接続します。名前と住所を分けているのがこの構造の要点です。
なぜ必要か
覚えやすさだけが理由ではありません。IP アドレスは、サーバーを別の設備へ移したり、事業者を乗り換えたりすると変わります。利用者や取引先に配ったのが IP アドレスだったら、その都度全員に伝え直すことになります。名前を挟んでおけば、変わったときに書き換えるのは DNS の一行だけで済みます。負荷分散のために複数台へ振り分けたり、地域ごとに近いサーバーへ返したりできるのも、この間接参照のおかげです。
具体例
主なレコードの種類は次の通りです。
| 種類 | 役割 |
|---|---|
| A | 名前を IPv4 アドレスに対応させる |
| AAAA | 名前を IPv6 アドレスに対応させる |
| CNAME | 別の名前への別名を張る |
| MX | メールの宛先サーバーを指す |
| TXT | 所有証明や SPF などの文字列を置く |
コマンドで実際に引いて確かめられます。
# どの IP に解決されるか
dig +short example.com A
# 別名がどこに向いているか
dig +short www.example.com CNAME
# メールの宛先
dig +short example.com MXつまずきやすいところ
設定を変えたのに反映されない、という相談のほとんどはキャッシュです。DNS の応答は TTL の秒数だけ各所に保持されるため、移転を予定しているなら、作業の数日前に TTL を短くしておくと切り替えが速くなります。
もう一つは、ドメインの直下(apex と呼ばれる example.com そのもの)に CNAME を設定できないという制約です。ここには A レコードを置くか、事業者が用意する ALIAS 相当の機能を使います。更新の失念も実害が大きく、期限が切れると Web もメールも同時に止まります。自動更新の設定と、登録先の連絡先メールが今も読めるかの確認を定期的に行います。
覚え方
ドメイン名は「引っ越しても変わらない転送先付きの住所」と考えると、IP アドレスとの役割分担が掴めます。建物の場所が IP アドレス、表札が名前です。表札を残したまま建物を移せるので、利用者は移転を意識せずに同じ URL を使い続けられます。
なお、サブドメイン(api.example.com)とサブディレクトリ(example.com/api)は別物です。前者は DNS の設定が必要で証明書も別扱いになり、後者はサーバー内部の振り分けだけで済みます。