ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3990241 DNSの疑問。ゾーンファイル書換えの伝播時間は??
質問者:hakase-chan 以前、
http://oshiete1.goo.ne.jp/qa3855700.html
という質問をさせて頂きました。

要は、“プライマリDNSのゾーンファイルを書き換えた時に、
その情報が世界的に有効になるまでにはどのくらいの時間がかかるのか??”
という事です。

上記質問の回答では
-----
“世界のDNSキャッシュサーバが持っているのは、あるドメインのDNSがドコドコか”
という情報だけで、ゾーンファイルまではキャッシュで持っていない。
すなわち、毎回そのドメインのプライマリDNSもしくはセカンダリDNSまで
問い合わせに行っている
-----
という回答を頂きました。

が、その後色々調べていくうちに
やはりゾーン情報もどこかにキャッシュで持っているのでは、と思い始めました。

実際のところはどうなんでしょうか。

また、キャッシュでゾーン情報を持たれていたとして、
予めそのドメインのゾーンファイルに「TTLを86400」「refreshを600」として記載していた場合、
ゾーンファイルの変更が世界的に伝播されるまでにはどのくらいの時間が掛かりますでしょうか。

宜しくお願いいたします!!
困り度:
  • すぐに回答を!
質問投稿日時:
08/05/01 17:43
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.3 一番大事なところを忘れていました。

> >やはりゾーン情報もどこかにキャッシュで持っているのでは、と思い始めました。
> >実際のところはどうなんでしょうか。
> の質問と
> >ゾーンファイルの変更が世界的に伝播されるまでにはどのくらいの時間が掛かりますでしょうか。
> の質問と合わせてご回答頂けると大変助かります。

やっぱり 2 〜 3 日というのが妥当なところじゃないでしょうか。

キャッシュサーバが BIND 8 の場合、NS レコードのキャッシュ("管理DNSのキャッシュ")の設定は上位サーバの設定しか見ないそうです。これは「やばい仕様バグ」なのですが、もう致し方ないです。(BIND 9 では変更されています)

すると、上位サーバはキャッシュを長く設定するでしょうから 1 日以上余裕をとりましょう。

その上に自分の TTL も含めて考えれば 2 〜 3 日は妥当でしょう。
回答者:kmihara
種類:回答
どんな人:専門家
自信:自信あり
回答日時:
08/05/01 21:19
参考URL: http://jprs.jp/tech/material/IW2002-DNS-DAY-morishita.pdf
この回答へのお礼ご丁寧に誠にありがとうございました!
やはり安全の為、2〜3日は伝播の時間を見ておくのが必要ですね。
しっかりと学ぶいい機会になりました。

回答

ANo.2 > このアナウンスにあるような“管理DNSのキャッシュ”と、
> 今回の私の質問であるゾーンファイルに書かれたTTLによる“ゾーン情報のキャッシュ”とは
> 同じキャッシュと言ってもキャッシュのされ方等、全く別のものと考えて宜しいでしょうか??

“管理DNSのキャッシュ”は上位サーバも設定していることが話を複雑にしています。

Q. 自分の DNS サーバでキャッシュ時間を短くしても、上位サーバがキャッシュ時間を長く設定したら、どうなるでしょう?

A. (参考 URL 1つ目の p.33 から p.35 を確認お願いします。問い合わせてくる DNS サーバによって動作が違うらしいので頭が痛いです)

> 基本的にTTLよりRefreshの方が短く設定されているかと思います。
> (=TTLでキャッシュしている情報よりRefresh時間が来て
> プライマリDNSから引っ張ってきた情報の方が確かな情報という事。)
>
> そう考えるとTTLがなぜ必要なのかよく分かりません。。。

最近は、Refresh をあまり使わなくていいです。

BIND は Notify (追加した都度連絡)ができますし、djbdns は Refresh を見ません。

というのも参考 PDF の受け売りなんですが(苦笑)。

> -----
> $TTL 3600
> 900 ; Refresh
> 7200 ; Retry
> 1814400 ; Expire
> 600 ) ; Minimum
> -----
> という感じです。
> ちょっと間隔が短いですかね??

最近では TTL が短すぎると、負荷だけでなく、セキュリティの問題も出てきますから注意をお願いします。(参照 URL の2つ目。資料の例にある TTL 30 秒はさすがにまずいと思います)
回答者:kmihara
種類:回答
どんな人:専門家
自信:自信あり
回答日時:
08/05/01 20:58
参考URL: http://jprs.jp/tech/material/IW2002-DNS-DAY-morishita.pdf​, 
http://jprs.jp/tech/material/iw2006-DNS-DAY-minda-04.pdf
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.1 サーバが BIND 9 だったなら、$TTL をどのくらいに設定しましたか?

参考 URL は 2002 年の資料ですが、.jp ドメインを管理している日本レジストリサービスが提供しているものです。この PDF の p.8 から p.11 が、キャッシュの有効時間の定義を解説しています。

DNS の設定をするときは、次のサイトの一連の資料を読むことをお勧めします。
「DNS関連技術情報」
http://jprs.jp/tech/
回答者:kmihara
種類:回答
どんな人:専門家
自信:自信あり
回答日時:
08/05/01 18:08
参考URL: http://jprs.jp/tech/material/IW2002-DNS-DAY-morishita.pdf
この回答への補足すいません、更に質問なのですが、
一応DNSの更新手順としては、
----
セカンダリDNSがゾーンファイルに記載されたRefresh時間が来ると、
プライマリDNSに問い合わせをして、同じゾーンファイルの
シリアル番号を見て数が増えてたら内容をコピーしていく
----
というものだと思うのですが、
基本的にTTLよりRefreshの方が短く設定されているかと思います。
(=TTLでキャッシュしている情報よりRefresh時間が来て
プライマリDNSから引っ張ってきた情報の方が確かな情報という事。)

そう考えるとTTLがなぜ必要なのかよく分かりません。。。
そのDNSに問い合わせに来た時点で負荷が掛かっているわけですから、
情報をキャッシュさせておいても負荷分散に繋がっているようにも思えません。。。

何の為に必要なんでしょうか??
この回答へのお礼ご回答ありがとうございます。
-----
$TTL 3600
900 ; Refresh
7200 ; Retry
1814400 ; Expire
600 ) ; Minimum
-----
という感じです。
ちょっと間隔が短いですかね??

ちなみに、あるドメインのプライマリ/セカンダリDNSを変更した時に
管理元のレジストラのサイトでは「変更が世界的に伝播されるまでに3日程度掛かります」と
アナウンスされましたが、
このアナウンスにあるような“管理DNSのキャッシュ”と、
今回の私の質問であるゾーンファイルに書かれたTTLによる“ゾーン情報のキャッシュ”とは
同じキャッシュと言ってもキャッシュのされ方等、全く別のものと考えて宜しいでしょうか??

>やはりゾーン情報もどこかにキャッシュで持っているのでは、と思い始めました。
>実際のところはどうなんでしょうか。
の質問と
>ゾーンファイルの変更が世界的に伝播されるまでにはどのくらいの時間が掛かりますでしょうか。
の質問と合わせてご回答頂けると大変助かります。