DNS移設って?
あまり頻繁には発生しないけど、DNSサーバを変更するときに(特に外部業者に委託しているケースとかで)起きるやつ。
オンプレからクラウドに持っていくときも起きるのかな。
いずれにせよ、自分のドメインの名前解決を行うサーバが変更される事。もっというと、権威DNSサーバの変更の事。
色々なところで、色々な人が、似たようなことを書いていると思うけど、
移設前権威DNSサーバのNSレコード更新だけは忘れるな!!
目次
1.DNSの概要
2.引っ越しの手順
3.まとめ
1.DNSの概要
DNSには大きく2種類ある。
・権威DNSサーバ(Authoritative DNS)
・DNSキャッシュサーバ(resolveするから「リゾルバ」とも呼ぶ)
※日本語のせいで分かりにくいという説もある。俺もそう思う。
1-1 権威DNSサーバ?
「偉いDNSサーバ」くらいの意味。
そのドメインのIPアドレスを管理しているサーバのこと。
「URLをIPアドレスに変換する機能」を有したサーバ。
自分の管理下にあるサーバのURLとIPアドレスの対応表を持っているイメージ。
で、ユーザ側がそのURLにアクセスしに来た時に、IPアドレスを答えてあげるのがお仕事。
<例> 持っている対応表
URL(FQDN) | IPアドレス |
---|---|
web1.hoge.co.jp | 333.1.2.3 |
web2.hoge.co.jp | 333.3.2.1 |
問合せ:web1.hoge.co.jpのIPアドレス教えてください
回 答:IPアドレスは333.1.2.3です
1-2 DNSキャッシュサーバ(リゾルバ)
「でも同じ企業なのに、毎回自分で問い合わせにいくのって非効率じゃない?」
って考えがあるのかは知らんけど、問い合わせに行く専用のサーバがいる。それがリゾルバ。(resolve(解決)してくれる人)
「どうせ専用なんだったら、しょっちゅう開くURLのIPとかは一時保存しといたほうが早くね?」という訳で、DNSのデータを一時保存(キャッシュ)してる。
だからDNSキャッシュサーバとも呼ばれる。
移設のステップ
①移設元権威DNSサーバと移設先権威DNSサーバのレコード状態を同じにしておく
②移設元権威DNSサーバのNSレコードを移設先権威DNSサーバに向けておく
③親の権威DNSサーバーで、移設先を指し示す
④TTLが切れるまで並行運用して、TTLが切れたら(古いDNSが使われなくなったら)古い方を捨てる
ポイントは②のステップ。多分①と③、④は対応してくれるはず。
(①はどうかな…同期してるのが一番いいんだけど…。)
②を行わないとどうなる?
例えば以下のケースがあったとする
移設前の権威DNSサーバ:ns1.hoge.co.jp
移設後の権威DNSサーバ:ns1new.hoge.co.jp
まず移設前の状態で"web1.hoge.co.jp"名前解決すると、DNSキャッシュサーバ的には以下の状態になる
※TTL(Time To Live)とは、「どれくらいの間、その情報を保存するか」という数値。
名前解決結果:web1.hoge.co.jp 333.1.2.3 TTL:300秒
回答元 :ns1.hoge.co.jp TTL:3600秒
当然、この状態で切替を行ったとしても、上記のキャッシュは残ったままになる。
問題なのはこの後。例えば400秒後に再度名前解決したとすると、
キャッシュに回答元の情報を持っている為に、また古いサーバに聞きに行く。
場合によっては回答元のTTLが最新化されるから、一生新しいほうに向かない。
3.まとめ
ざっくりと、DNSの概要と移設の大まかな流れ、その背景を書きました。
DNS周りのことも考える必要はあると思うけれど、何かの参考になれば。