- ベストアンサー
DNSゾーンファイル書換えの伝播時間は?
- プライマリDNSのゾーンファイルを書き換えた場合、その情報が世界的に有効になるまでにはどのくらいの時間がかかるのか調べました。
- 世界のDNSキャッシュサーバはあるドメインのDNSがどこにあるかの情報しか持っておらず、ゾーンファイルまではキャッシュで持っていないことがわかりました。
- しかし、一部のDNSキャッシュサーバがゾーン情報もキャッシュしていることがあるため、ゾーンファイルの変更が世界的に伝播されるまでには少なくともTTLの時間がかかると考えられます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
一番大事なところを忘れていました。 > >やはりゾーン情報もどこかにキャッシュで持っているのでは、と思い始めました。 > >実際のところはどうなんでしょうか。 > の質問と > >ゾーンファイルの変更が世界的に伝播されるまでにはどのくらいの時間が掛かりますでしょうか。 > の質問と合わせてご回答頂けると大変助かります。 やっぱり 2 ~ 3 日というのが妥当なところじゃないでしょうか。 キャッシュサーバが BIND 8 の場合、NS レコードのキャッシュ("管理DNSのキャッシュ")の設定は上位サーバの設定しか見ないそうです。これは「やばい仕様バグ」なのですが、もう致し方ないです。(BIND 9 では変更されています) すると、上位サーバはキャッシュを長く設定するでしょうから 1 日以上余裕をとりましょう。 その上に自分の TTL も含めて考えれば 2 ~ 3 日は妥当でしょう。
その他の回答 (2)
- kmihara
- ベストアンサー率50% (3/6)
> このアナウンスにあるような“管理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
- ベストアンサー率50% (3/6)
サーバが BIND 9 だったなら、$TTL をどのくらいに設定しましたか? 参考 URL は 2002 年の資料ですが、.jp ドメインを管理している日本レジストリサービスが提供しているものです。この PDF の p.8 から p.11 が、キャッシュの有効時間の定義を解説しています。 DNS の設定をするときは、次のサイトの一連の資料を読むことをお勧めします。 「DNS関連技術情報」 http://jprs.jp/tech/
お礼
ご回答ありがとうございます。 ----- $TTL 3600 900 ; Refresh 7200 ; Retry 1814400 ; Expire 600 ) ; Minimum ----- という感じです。 ちょっと間隔が短いですかね?? ちなみに、あるドメインのプライマリ/セカンダリDNSを変更した時に 管理元のレジストラのサイトでは「変更が世界的に伝播されるまでに3日程度掛かります」と アナウンスされましたが、 このアナウンスにあるような“管理DNSのキャッシュ”と、 今回の私の質問であるゾーンファイルに書かれたTTLによる“ゾーン情報のキャッシュ”とは 同じキャッシュと言ってもキャッシュのされ方等、全く別のものと考えて宜しいでしょうか?? >やはりゾーン情報もどこかにキャッシュで持っているのでは、と思い始めました。 >実際のところはどうなんでしょうか。 の質問と >ゾーンファイルの変更が世界的に伝播されるまでにはどのくらいの時間が掛かりますでしょうか。 の質問と合わせてご回答頂けると大変助かります。
補足
すいません、更に質問なのですが、 一応DNSの更新手順としては、 ---- セカンダリDNSがゾーンファイルに記載されたRefresh時間が来ると、 プライマリDNSに問い合わせをして、同じゾーンファイルの シリアル番号を見て数が増えてたら内容をコピーしていく ---- というものだと思うのですが、 基本的にTTLよりRefreshの方が短く設定されているかと思います。 (=TTLでキャッシュしている情報よりRefresh時間が来て プライマリDNSから引っ張ってきた情報の方が確かな情報という事。) そう考えるとTTLがなぜ必要なのかよく分かりません。。。 そのDNSに問い合わせに来た時点で負荷が掛かっているわけですから、 情報をキャッシュさせておいても負荷分散に繋がっているようにも思えません。。。 何の為に必要なんでしょうか??
お礼
ご丁寧に誠にありがとうございました! やはり安全の為、2~3日は伝播の時間を見ておくのが必要ですね。 しっかりと学ぶいい機会になりました。