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の設定を変更したばっかりにサーバーダウンになるようでは洒落にならない。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です