« findの結果をtarで固める | メイン | ゾーン転送のチェック »

DNSの変更を早く伝播させるか方法

DNSの変更を早く伝播させるか方法

違うホスティングサーバーにドメインを移行したりするときには、DNS情報が早く切り替わったほうがメールが旧サーバーと新サーバーにばらばらに届いたりする時間を短くできる。さて、DNSの変更をできる限り早く伝播させるにはどうしたらよいか?

キーポイントは、TTLとSOAレコードのRefreshにある。TTLについては、DNSのTTLで記載をしているが、SOAレコードのTTLではなく、$TTLの値を変更しておかなければならない。この時間は、セカンダリDNSを除くDNSサーバーがDNS情報に対する問い合わせ結果を保持している時間となる。

$TTLをいくら変更しても、DNSがプライマリDNSサーバーを参照するか、セカンダリDNSを参照するかまでは制御できないので、セカンダリDNSの情報をいかにはやく更新するかもポイントになる。(プライマリDNSの情報が更新されても、セカンダリDNSの情報が更新されず、その古いDNS情報を全世界のDNSサーバーのうちの一部が参照しているからだ)

@IT SOAレコードには何が記述されている?にもあるが、セカンダリDNSが定期的にプライマリDNSからデータを更新し続けることができてさえいれば、その更新間隔は、Refresh値に基づく。SOAレコードのTTLはDNS情報がないということを保持している時間でしかない。

まとまると、引越しをするにあたって必要なのは、$TTLとSOAレコードのRefresh値を短くすればするだけ良い。しかしながら、$TTLを短くしすぎると更新負荷が急激に上がる。ただ、SOAレコードのRefresh間隔は短くしておいてもゾーン情報のコピーがされるセカンダリサーバーの数が限られているので、さほど負荷は上がらない。(自分の管理していないサーバーで勝手にゾーン情報をコピーしているようなサーバーがなければの話だが。。。)

たとえば、$TTLを1800秒、Refresh値を600秒とかにしたらどうだろうか?もし変更したらしばらくはサーバーの負荷をチェックしておいたほうがDNSの設定を変更したばっかりにサーバーダウンになるようでは洒落にならない。



トラックバック

トラックバックは本サイトの紹介(リンクがあれば可)があるものに限り受付いたします。このエントリーのトラックバックURLは以下のとおりです。

http://blog.development-network.net/mt/mt-tb.cgi/680

コメントを投稿