ドメインのネームサーバーを変更したり、DNSレコードを書き換えたりしたあと、
「設定は合っているはずなのに、まだ新しいサーバーが表示されない」
ということがあります。
DNSの変更は、設定した瞬間にインターネット全体へ反映されるわけではありません。
今回は、DNS変更がすぐに反映されない理由について解説します。
DNSとは?
DNSは「Domain Name System」の略で、ドメイン名とサーバーのIPアドレスを紐づける仕組みです。
たとえば、
「example.com」
というドメインにアクセスしたとき、DNSが
「このドメインは、このサーバーを見に行けばいい」
という情報を返しています。
そのため、サーバーを移転した場合などは、DNSの設定を書き換えることでアクセス先を新しいサーバーへ変更できます。
DNS変更がすぐ反映されない理由
主な理由は、DNS情報が世界中のDNSサーバーにキャッシュされているためです。
DNSでは、毎回すべての情報を最初から問い合わせているわけではありません。
一度取得したDNS情報を一定時間保存しておき、その情報を再利用します。
これを「DNSキャッシュ」と呼びます。
たとえば、以前の設定で
「example.com → 旧サーバー」
という情報が保存されている場合、DNS設定を
「example.com → 新サーバー」
へ変更しても、キャッシュが残っている間は旧サーバーへアクセスされることがあります。
キャッシュの有効期限が切れると、新しいDNS情報が取得されるようになります。
TTLが関係している
DNSキャッシュがどのくらい保存されるかを決める値として「TTL」があります。
TTLは「Time To Live」の略です。
DNSレコードごとに、
「この情報を何秒間キャッシュしてよいか」
という時間が設定されています。
TTLが長く設定されている場合、新しいDNS情報へ切り替わるまで時間がかかることがあります。
反対に、TTLが短ければ比較的早く新しい情報が取得されます。
ただし、DNSを変更したあとからTTLを短くしても、すでに古い情報がキャッシュされている場合は、そのキャッシュが切れるまで待つ必要があります。
利用している回線によって表示が違うこともある
DNSの反映途中では、
自宅のWi-Fiでは新サイトが表示される
スマートフォンの4G・5Gでは旧サイトが表示される
別のパソコンではまだ切り替わっていない
といったこともあります。
これは、それぞれ利用しているDNSサーバーやキャッシュの状態が違うためです。
そのため、
「自分のパソコンでは切り替わったから、DNS変更が完全に終わった」
とは限りません。
反対に、自分の環境だけ古いキャッシュが残っている可能性もあります。
ネームサーバー変更は特に時間がかかることがある
AレコードなどのDNSレコード変更だけでなく、ネームサーバーそのものを変更した場合も、反映まで時間がかかることがあります。
たとえば、
CloudflareからXserverへ戻す
ドメイン管理会社のDNSからレンタルサーバーのDNSへ変更する
サーバー移転に伴いネームサーバーを変更する
といったケースです。
ネームサーバーを変更すると、
「このドメインのDNS情報をどのDNSサーバーに問い合わせるのか」
という部分から切り替わります。
そのため、環境によってはしばらく旧DNSと新DNSが混在することがあります。
反映にはどのくらいかかる?
DNSの変更内容やTTL、利用しているDNSサーバーによって異なりますが、数分〜数時間程度で切り替わることもあれば、完全に反映されるまで24〜72時間程度かかる場合もあります。
そのため、DNSを変更した直後にサイトが表示されなくても、必ずしも設定ミスとは限りません。
まずは少し時間を置いて確認することが大切です。
DNS変更中に起こりやすいこと
DNSの切り替え途中では、アクセスするタイミングや環境によって接続先が変わることがあります。
そのため、
新サイトが表示される人と旧サイトが表示される人がいる
メールが旧サーバーと新サーバーのどちらかに届く
SSL証明書のエラーが一時的に表示される
サイトが表示されたり表示されなかったりする
といった現象が起こる可能性があります。
特にサーバー移転時は、DNSを変更したからといってすぐに旧サーバーを削除しない方が安全です。
DNSの切り替えが完了するまで、旧サーバーも残しておくことでアクセスできなくなるリスクを減らせます。
ブラウザのキャッシュとは別物
DNSキャッシュとブラウザキャッシュは別のものです。
ブラウザのキャッシュを削除しても、DNSキャッシュが残っていれば接続先が変わらないことがあります。
逆に、DNSは新しいサーバーへ切り替わっていても、ブラウザに古いページのデータが残っていることで、以前のサイトが表示されているように見えることもあります。
そのため、DNS変更後に確認するときは、
シークレットモードで確認する
別の端末から確認する
Wi-Fiとスマートフォン回線を切り替えて確認する
といった方法も有効です。
DNS変更前に気をつけたいこと
サーバー移転などでDNSを変更する場合は、先に新しいサーバー側の準備を完了させておくことが重要です。
たとえば、
Webサイトのデータを移行する
データベースを移行する
メールアカウントを作成する
SSLの設定を確認する
DNSレコードを確認する
といった作業です。
新サーバーの準備ができていない状態でDNSだけ変更してしまうと、新サーバーへ接続されたユーザーがサイトを閲覧できなくなる可能性があります。
DNSは「最後に切り替えるもの」と考えておくと安全です。
まとめ
DNS変更がすぐに反映されない主な理由は、DNS情報がさまざまな場所にキャッシュされているためです。
設定自体が正しくても、古いDNS情報が残っている間は旧サーバーへ接続されることがあります。
そのため、DNS変更後にすぐ切り替わらなかったとしても、慌てて何度も設定を変更する必要はありません。
設定内容を確認したうえで、まずは一定時間待ってみましょう。
また、サーバー移転の場合はDNSの反映途中でもサイトやメールを利用できるよう、旧サーバーをすぐに削除しないことも重要です。
DNSは目に見えにくい仕組みですが、「設定変更=即時反映ではない」と覚えておくだけでも、サーバー移転時のトラブルをかなり減らすことができます。