QA@IT
この質問・回答は、@ITの旧掲示板からインポートされたものです。

DNSの設定が反映するまで時間

Webサーバの移転のために、IPアドレスが変更になります。
URLは従来と変わりませんので、DNS上の正引の設定は
・ホスト名を従来のまま
・IPアドレスは、旧アドレス → 新アドレスに変更
とするつもりです。
ところでDNSを変更後、これが世の中に反映するには いったいどれくらいの時間がかかるのでしょうか?
つまりDNS変更後、どれくらい経てば世間のユーザが新しいサーバを見てくれるか?という意味です。

以前にDNS自体を引っ越した時や、新規にドメインを取得して登録した時には、(DNS設定値の伝播遅延の関係で)完全に世の中に行き渡るには1週間くらいかかると聞きました。
それで「DNS関連の変更を行った場合、その反映には最長で1週間くらいのかかるもの」と考えておったのですが・・・
上記のように、単にDNSの設定を変更しただけでも、そのような時間を要するのでしょうか? また、この場合に遅延にはどのような要因があるのでしょうか?

質問者:Desmo

回答

DNSの設定にはTTL(Time To Live)と言うキャッシュの生存時間があります。
大体86400秒(1日)に設定されている事が多いですが。

つまり1回キャッシュされるとキャッシュで解決出来ない場合を除いて
次に他のDNSに問い合わせに行くのは1日後になります。

つまり手元のDNSの設定を変更してもすぐには反映されません

http://intnet.cc/dns.htm#TTL

と言う事になります。

これも参考に
http://www.atmarkit.co.jp/fnetwork/rensai/dns02/dns01.html

#40秒間違えてたので修正


Inspired Ambitious
ISMS Assistant Auditor

[ メッセージ編集済み 編集者: NAO 編集日時 2006-05-19 16:11 ]

[ メッセージ編集済み 編集者: NAO 編集日時 2006-05-19 16:17 ]
[ メッセージ編集済み 編集者: NAO 編集日時 2006-05-19 16:23 ]

投稿者:NAO

編集 履歴 (0)

NAOさんの書き込み (2006-05-19 16:07) より:

大体86440秒(1日)に設定されている事が多いですが。

3600x24=86400の気がしますが?

投稿者:末記人

編集 履歴 (0)

未記入さんの書き込み (2006-05-19 16:15) より:

引用:
NAOさんの書き込み (2006-05-19 16:07) より:

大体86440秒(1日)に設定されている事が多いですが。

3600x24=86400の気がしますが?

でした m(__)m

_________________Inspired Ambitious
ISMS Assistant Auditor

投稿者:NAO

編集 履歴 (0)

変更予定があるレコードのTTLを事前に短くしておき、
変更後に通常の値に戻すと比較的スムーズに移行できます。

投稿者:koji

編集 履歴 (0)

Desmoさんの書き込み (2006-05-19 15:49) より:

ところでDNSを変更後、これが世の中に反映するには いったいどれくらいの時間がかかるのでしょうか?

皆さん説明されていますが、各DNSサーバー がキャッシュを書き換えるタイミングなので、その DNSサーバーが持っているゾーンファイルのキャッシュの生存時間(TTL)がどうなっているのか?によるんですよね。

うちのサーバーのキャリア変更したとき、グローバルIPが変わったんですが、その
時は、kojiさんの言うやり方で変更しましたね。
ただ DNS の問合せが多くなっちゃうので、24時間→6時間→3時間と、少しずつ短くするのが良いかもしれません。

投稿者:R・田中一郎

編集 履歴 (0)

Webサーバの移転のために、IPアドレスが変更になります。

URLは従来と変わりませんので、DNS上の正引の設定は

・ホスト名を従来のまま

・IPアドレスは、旧アドレス → 新アドレスに変更

とするつもりです。

ところでDNSを変更後、これが世の中に反映するには いったいどれくらいの時間がかかるのでしょうか?

他の方が回答されているように新しい Web サーバの IP アドレスを返すレコードの TTL を小さくすれば解決します。例えば、TTL を 30 に設定すれば、最長 30 秒で伝播するでしょう。くれぐれも、デフォルト TTL、特に NS レコードの TTL は変更しないようにしてください (ルートサーバに対する攻撃になってしまいます)。

以前にDNS自体を引っ越した時や、新規にドメインを取得して登録した時には、(DNS 設定値の伝播遅延の関係で) 完全に世の中に行き渡るには1週間くらいかかると聞きました。

HTTP で、サーバ側が MIME タイプを text/plain に設定して返したファイルをテキスト・ドキュメントとして扱ってくれないブラウザがこの世の中に存在するように、必ずしもサーバ側がお願いしたことに従ってくれるクライアントばかりとは限りません。ただ、それはクライアント側の問題なので無視してしまいましょう。

投稿者:あんとれ

編集 履歴 (0)

みなさん、丁寧なご回答を頂き本当にありがとうございます。
結論としては、
「DNSの設定変更の反映に要する時間はTTLで決まる」
という理解で良いのですね。

またDNSの仕組みは以下のような解釈で合ってますでしょうか?

  1. クライアントは名前解決(正引き)の際に、リゾルバと呼ばれる機能を持ったDNSに問合せを行う
  2. リゾルバは、ルート・ネーム・サーバから順に情報を集め、最終的には目的にドメインのIP情報をクライアントに返す。
  3. そのリゾルバが持つIP情報は一定期間キャッシュされる。
  4. そのキャッシュの更新期間は、対象となるドメインの情報を持つDNSに設定されたTTLで決定する

私が最初に書いた「DNS設定値の伝播遅延の関係で1週間くらいかかる」というのは、あくまでも
・DNS自体を引っ越した時 や
・新規にドメインを取得して登録した時
等の話であって、今回のように単に「WebサーバのIPアドレスが変更になる」だけであれば、それほどの時間は要しない(理論的にはTTLの設定時間内に全世界に行き渡る)と考えて良いですか?

重複した質問もありますが、どうか宜しくお願いします。

投稿者:Desmo

編集 履歴 (0)

Desmoさんの書き込み (2006-05-22 14:28) より:

結論としては、

「DNSの設定変更の反映に要する時間はTTLで決まる」

という理解で良いのですね。

現実のネットワーク環境では、途中に何段かDNSの問い合わせ結果のキャッシュ(DNSキャッシュサーバやネームリゾルバのキャッシュなど)が入っているので、それぞれの段階で、レコード取得時からTTL時間だけレコードがキャッシュされます(TTL時間を無視するような実装でなければ、の話ですが)。そのため、

「DNSの設定変更の反映に要する時間は、TTLとキャッシュの構成で決まる」

となると思います。レコードの伝達に最大1週間程度かかるというのは、そのようなさまざまな構成をも考慮した、非常に現実的な値だと思います(TTLを十分小さくするなどの、正しい措置が行われている場合)。

投稿者:Uchikoshi

編集 履歴 (0)

他には「コンテンツサーバの構成」というのもあると思います。

「マスターサーバでの更新がスレーブサーバに反映するまでの間は
キャッシュサーバが変更前の情報を取得してしまう可能性がある」

# 最近ではDNS Notifyなどの技術があるので、
# ほとんど問題にはならないかもしれません。

投稿者:koji

編集 履歴 (0)

多数の助言ありがとうございました。お陰でよく理解できました。
それから、今回はWebの移転については TTLの変更を行うことにしました。
現行で24時間になっていますので、最終的には3時間まで短くして対応する予定です。
大変勉強になりました。ありがとうございました。

投稿者:Desmo

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。