独自ドメインの登録・変更が反映されるまでの時間についてざっくり解説します!

ドメインを取得した業者のHPを見ると、独自ドメインの登録やネームサーバーの変更が反映されるまで数時間から数日かかると書いてあります。
すぐにでもサイトを運営したいのに、いつまでたっても反映されなくて、イライラすることありますよね。

そこで今回は、

・どうしてこんなに反映時間の幅があるのか。
・すぐにでも反映させる方法はないのか。
・浸透というと怒られる!

の3点について、ざっくりとお伝えします。

独自ドメインの反映に時間がかかる理由

独自ドメインの反映に時間がかかる理由は大きく分けて、次の二つ。

●TLDへの登録・更新に時間がかかる
●DNSキャッシュサーバーの更新に時間がかかる

それぞれ簡単に解説します。

理由1:TLDへの登録・更新に時間がかかる

TLDとはトップレベルドメイン(Top Level Domain)の略で、「.com」や「.jp」のことです。
例えば「affi-sapo.com」ならTLDは、「.com」になります。

このTLDが管理するデータベースに、ドメインの情報を登録するまでの時間がかかります。

TLDとレジストリ

TLDは「ICANN」という組織が管理していますが、個々の管理・運営はICANNが委託した組織・企業が行っています。
例えば「com」はベリサイン(Verisign, Inc.)。「jp」は株式会社日本レジストリサービス(JPRS)です。
このようなICANNから委託された組織を「レジストリ」と呼びます。

私たちが取得したドメインの情報は、これらのレジストリが管理するサーバーのデータベースに登録されます。
ただし直接情報が渡されるわけではありません。
私たちとレジストリとの間には、いくつかの組織が介在しているのです。

レジストリ・レジストラ・リセラの関係

レジストラとリセラ

レジストリへの登録申請は、ICANNまたは各レジストリが認定した組織・企業が受け持っています。
この組織をレジストラと呼びます。なおjpドメインを管理しているJPRSでは指定事業者と呼んでいます。

さらに「リセラ」や「再販事業者」「登録代行業者」「代理店」と呼ばれる企業組織が、レジストラと一般ユーザの仲立ちをしています。
なおレジストラとリセラが同一組織のケースもあります。

このように複数の組織を経由するため、情報の伝達に時間がかかります。
大手のリセラやレジストラはスムーズに処理をおこなっていますが、小さな企業などではシステムの不備や不具合などに対応できず大幅に遅延したり、場合によっては申請が行われないなどのケースが考えられます。

TLD側の反映も時間がかかる

またTLDで受理したドメイン情報についても、すぐに反映されるわけではありません。
タイミングはTLDによって異なりますが、ある一定の周期で反映処理をおこなっています。

例えばcomドメインは数分間隔で反映処理をおこなっています。
しかしjpドメインは、2006年4月までは午前5時に反映処理をおこなっていました。
つまり5時以降に申請されたドメイン情報は、一日待たないと有効にならなかったのです。
現在では15分程度で更新されるようになり、短時間でWebサイトの公開ができるようになっています。

反映間隔はTLDごとに決められているため、安いという理由で取得したドメインが、以前のjpのように長時間待たないといけないケースがあるかもしれません。
このような理由から、リセラのHPなどでは、独自ドメインの登録やネームサーバーの変更が反映されるまで数時間から数日かかると書いてあるのです。

理由2:DNSキャッシュサーバーの更新に時間がかかる

二つ目の理由は、ネームサーバーなどの情報変更が反映されるまでの時間についてです。

DNSサーバーは大きく分けて、ドメインの情報を持つDNS権威サーバーと、権威サーバーを再帰的に再帰的に参照することでドメイン名前解決(IPアドレスの取得)をおこなうDNSフルサービスリゾルバが存在します。

再帰的にドメイン名前解決
DNSサーバーについては、次の記事を参考にしてみてください。

名前解決は時間がかかります。
そのためDNSフルサービスリゾルバからすると、同じドメインを短時間に何度も調べるのは効率がよくありません。
権威サーバーからすると、同じサーバーから同じ内容の問い合わせを何度も受けるのは大きな負担です。

そこで、名前解決した結果を一時的にDNSフルサービスリゾルバ内に保存しておき、名前解決要求がきたら保存した内容を返信することで、負担を軽減しているのです。
この保存した情報をキャッシュと呼び、キャッシュを持っているサーバーをDNSキャッシュサーバーと呼びます。
なおキャッシュは、パソコン内や設定によっては中継するルータなどでも保存されます。

名前解決時に取得されるドメイン情報には、TTL(Time To Live)というキャッシュを保存しておくべき時間が含まれています。
そして保存してからTTLを超えたドメイン情報は破棄され、再度、再帰的に名前解決がおこなわれます。

DNSキャッシュ期限内はキャッシュから。期限切れは権威サーバーから

実はこの仕組みが、ネームサーバーなどの情報変更が反映されるまで時間がかかる原因となっているのです。

TTLが経過するまで情報が更新されない

DNSキャッシュサーバーはドメイン名の問い合わせに対して、TTLが経過されるまでキャッシュの内容を返信します。
つまりこの間にドメインの情報を変更しても、キャッシュサーバーは新しい内容を返さないのです。

DNSキャッシュ TTL

そのため、スマホやパソコンが新しいWebページを表示するのはTTL経過後になります。

ただしDNSキャッシュサーバーは世界中に無数に存在しています。
その中には、ドメイン情報が更新される直前にキャッシュしているサーバーがあるかもしれません。
このケースを考慮すると、全てのDNSキャッシュが廃棄されて新しいドメイン情報に置き換わるまでTTLで指定した時間がかかることになります。

なおドメイン情報が変更されるまで、理由1で紹介したTLDでの反映時間がプラスされます。
そのためネームサーバーなどの情報変更は、ドメインの新規登録よりも時間がかかるのです。

登録前のドメインもキャッシュされる

実は登録されてないドメイン情報も、「ドメインが存在していない」という情報がサーバーでキャッシュされます。
このキャッシュのことを「ネガティブキャッシュ」と呼びます。

ネガティブキャッシュにもTTLが設定されており、TLDにドメインが登録されてもTTLが経過するまで新しい情報を取得することができません。
つまりドメインが登録されたか確認しているとネガティブキャッシュされ、その分Webサイトを確認するまでの時間がかかってしまうのです。

ドメイン更新後にすぐに作業する方法

Webサイトのサーバー移転などでネームサーバーの更新後にブラウザで確認しようとしても、以前のサーバーにアクセスされます。
移転後のサイトに不具合がある可能性があるので、意外と致命的だったりします。

この場合は、コンピューターのhostsというファイルを書き換えることで、ドメインのIPアドレスを強制的に変更できます。

僕が運営する他のサイトで編集方法を紹介しているので、そちらを参考にしてください。

実際にはドメインのネームサーバーを変更する前に、上の方法でサイトの確認をおこなったほうがいいです。

確認が終わったらhostsの内容を必ず元に戻しておきましょう。
後でやろうとすると、絶対に忘れますよ。

ドメインの浸透待ちというと怒られる件について

ドメインの情報変更が反映されることに対して、「浸透する」という言葉が使われています。
DNSに詳しい人は、この言葉に違和感を感じたり、時には「浸透言うな!」と怒り出したりします。

ドメイン情報変更後に、その情報が世界中に染みわたっていくイメージから浸透という言葉が使われているようですが、実際にはそのような現象はおきていないのです。

DNSは浸透ではない

ドメイン情報が更新されたことを、TLDからDNSキャッシュサーバーに通知する機能はありません。
そのためTTLが経過して名前解決を行ったときに、変更されたことがわかるのです。

また名前解決をおこなうのは、そのドメインについて問い合わせが行われた時です。
TTLが経過しても、問い合わせがなければキャッシュ更新されないのです。

DNSは調べた結果を返すだけ

つまり、勝手に情報が浸透していくのではないのです。

※Google Public DNSは、期限切れのキャッシュを自動で更新しているようですが、あくまで独自仕様です。

では浸透と言わずに、なんと言えばいいのでしょうか?

・・・わかりません。
僕的にはどうでもよかったりします。