「DNSが全世界に伝播・浸透するまで72時間かかる」
こんな根も葉もない話に踊らされてくだらない時間を過ごしてしまったので、ここにいろいろと書いておきます。
今どきDNSサーバを自前で立てているケースも多くないのかもしれませんが、DNSサーバのIPアドレスを帰る時の参考にでもしてみてください。
DNS伝播・浸透のウソ
DNS伝搬にかかる時間
今回の事例は、上記のようにインターネット回線の業者を切り替えるパターンでご紹介します。
インターネット回線を切り替える例は、上記のように業者を切り替えたり、PPPoE回線を取りやめ新しい回線にしたりといろんなケースがあるでしょう。
いずれにしろ回線を切り替える場合、グローバルIPアドレスが変わるのは避けられないケースが多い。
そこで出てくる問題がDNSの伝播。
グローバルIPアドレスは、ルータやFWの設定を変更すればすぐに終わりますが、DNSサーバやWEBサーバの名前解決はこちらの作業だけですぐには切り替わってくれません。
DNSサーバのIPアドレスはこれですよ!とDNSという仕組みで世界中に教えていますが、そのIPアドレスが変わりましたよ!という伝達をしなければイケません。
そのDNSの情報を変更するには、DNSサーバのZONEファイルというファイルに書かれたDNSサーバのIPアドレス情報を変更して、DNSサービスを再起動する必要があります。
ns1 IN A 業者AのIPアドレス
ns1 IN A 業者BのIPアドレス
基本的にはコレだけでDNSサーバのIPアドレス変更情報は、世界中に伝わり徐々に新しいIPアドレスの情報が浸透していきます。
この浸透時間が早めるために必要なのがTTLです。
TTLは、簡単に言えば世界中に点在するDNSキャッシュサーバのキャッシュ保存時間を制御すると考えて下さい。
TTLがデフォルトの86400であれば、1日キャッシュを保存しておいてくださいね。という意味です。
ですので、出来るだけ早く新しいIPアドレスへの変更を世界中に伝えたいのなら、TTLの時間を事前に早くしておけばイイだけってコト。
TTLがデフォルトではなく、1分とか3分とか5分とか予め短い時間に設定されているのであれば、伝播・浸透時間なんて考慮する必要はないってことなんですね。
なのに「いやDNSの伝播・浸透には72時間かかりますよ!」とワケのわからんことを言いだす人がいるからややこしくなるんです。
JPNICとかルートサーバとか
グローバルIPアドレスを切り替える時、DNSの伝播・浸透はどれくらいかかるのか?
本当の真実が知りたくて、数名のベテランエンジニアに助言を仰ぎました。
すると返ってきた答えはこんなんでした。
- JPNICの登録に72時間かかる
- ルートサーバに伝わるまで72時間かかる
- DNSが世界中に伝わるまで10日間かかる
- Whoisに登録するのに1週間くらいかかる
- TTLを短くしとけばいいけどDNSサーバを2つ立てておいた方がイイ
- 1週間くらい余裕を見ておいた方がイイ
そこそこ有名な企業にいるベテランエンジニアですらこんな回答ばかりなんです。
みんなあいまいな知識で日々仕事をしているということが手に取るようにわかります。
そもそもJPNICとかWhoisと実際に名前解決をするDNSとは直接関係はありません。
WEBブラウザから該当のページにたどり着くためにDNSという仕組みが使われていますが、別にWhoisに登録されてなくたってWEBページをみることは可能ですし、ご存知の方ならIPアドレスを直接入力すればアクセスできることもわかるはず。
ベテランエンジニアの老害とも思われる無駄な知識のせいで、作業時間がドンドン遅延してしまうこともあるんです。
まとめ
結局のところ自前でDNSを立てていて、グローバルIPアドレスを引っ越したいというとき、浸透時間を早めたいのなら事前にTTLを短くしとけばいいってコトです。
3分なら3分にしておけば、DNS変更後長くても10分から30分後には新しいIPアドレスでの通信が再開しています。
JPNICだとかの情報も変えたいのなら事前でもいいし後でもイイ。てかいつでもいいんです。
目的がグローバルIPアドレスを変更することによるDNSの切り替えなら、TTLを短くしとけばそれだけで終わりってコト。ただそれだけ。
未経験からインフラエンジニアになる!プロ推奨スクール【厳選3校】