Webまわりのトラブルでよく登場するのが「DNS」という言葉です。「DNSの設定を変えてください」「DNSの反映に時間がかかります」と言われても、いまひとつピンと来ない、という方も多いのではないでしょうか。
本記事では、DNSの役割と仕組みを、できるだけ平易な言葉で解説します。
DNSは「インターネットの電話帳」
DNS(Domain Name System)は、ドメイン名とIPアドレスを結びつける仕組みです。よく「インターネットの電話帳」にたとえられます。
たとえば、あなたが niigata-web.net というドメイン名をブラウザに入力したとします。コンピューターは、このドメイン名のままではWebサイトに辿り着けません。実際の通信に必要なのは「IPアドレス」と呼ばれる数字の住所(例:203.0.113.42)です。
そこでブラウザは、まずDNSに対して「niigata-web.net のIPアドレスは何ですか?」と問い合わせます。DNSは電話帳のように記録を引いて、対応するIPアドレスを返します。ブラウザはその答えに従って、正しいサーバーへとアクセスする、という仕組みです。
ネームサーバーとは
DNSの情報は、世界中の「ネームサーバー」と呼ばれるコンピューターに分散して管理されています。
あなたのドメインを契約しているレジストラ(お名前.com、ムームードメインなど)にも、ネームサーバーがあります。これを「権威ネームサーバー」と呼びます。あなたのドメインに関する正式な情報は、ここに記録されています。
利用者がドメインを使う時には、まず近くのキャッシュサーバー(プロバイダや公共DNSなど)に問い合わせ、そこに情報がなければ、より上位のサーバーへ問い合わせていく仕組みです。最終的には、権威ネームサーバーまで辿って、正しい情報を取得します。
主要なレコードの種類
DNSには、目的別に複数の「レコード」と呼ばれる種類があります。よく使うものを整理します。
Aレコード
ドメイン名とIPアドレスを直接結びつける、最も基本的なレコードです。niigata-web.net を 203.0.113.42 に対応させるなど。
CNAMEレコード
ドメイン名を別のドメイン名に紐づけるレコードです。www.example.com を example.com の別名として扱うなど、サブドメインのリダイレクト的な用途で使います。
MXレコード
メールの宛先サーバーを指定するレコードです。example.com 宛のメールを、どのメールサーバーに届けるかを記述します。
TXTレコード 任意のテキスト情報を記述できるレコードです。SPF・DKIM・DMARCといったメール認証の設定や、ドメイン所有確認などで使われます。
その他、NS(ネームサーバー)、SRV(サービス)、AAAA(IPv6用Aレコード)などがありますが、日常的に意識するのは上記4種類が中心です。
DNS変更が反映されるまでの時間
DNSの設定を変更しても、即座に世界中で切り替わるわけではありません。各キャッシュサーバーが古い情報を覚えている時間(TTL: Time To Live)が経過するまで、利用者ごとに見え方が変わります。
標準的なTTLは3600秒(1時間)や86400秒(24時間)です。サーバー移管などDNSを大きく変更する場合は、事前にTTLを300秒(5分)程度まで短くしておくと、切り替え時の混乱を抑えられます。
「DNS変更したのに、まだ反映されません」というのは、このキャッシュ機構の影響であることが多いです。場合によっては24〜48時間程度待つ必要があります。
まとめ
- DNSはドメイン名とIPアドレスを結びつける「インターネットの電話帳」
- ドメインを使うたびに、裏側でDNSへの問い合わせが行われている
- Aレコード・CNAME・MX・TXTが、よく扱う4種類のレコード
- DNS変更は世界中のキャッシュ反映に時間がかかる(TTLで調整可能)
DNS関連のお困りごとがあれば、お気軽にご相談ください。