
こんにちは、みもれっとです。自己紹介以降、初投稿となります。
ドメイン管理会社を別の会社へ移管したい、といったことがあるかも知れません。
その際によく「DNSサーバの移行」が必要となるケースがあります。
(ドメイン管理会社が提供しているDNSサーバを利用していた場合、など)
このDNSサーバ(ネームサーバ)の移行時の注意点について、
けっこう基本的なところですが意外と見落としやすい部分を記載しておきます。
その前にまず、基本的な「DNSレコード」の変更について簡単に説明しましょう!
通常、DNSのレコード変更については、
親となるDNSサーバ(以下【権威DNSサーバ】と呼びます)へ変更を加えます。
また、各レコードごとに「TTL」という数値で、周期時間を設定します。
TTLの単位は「秒」です。
DNSサーバは世の中にたくさん存在しますが
権威DNSサーバ以外のDNSサーバは、
権威DNSサーバへ周期的に変更がないかを確認します。
例えば、あるレコードのTTL値が「3600秒」になっている場合、
3600秒(=1時間)おきに更新確認が行われます。
Webサーバやメールサーバの移行等で、
レコードを変更する必要がある時は、
事前にTTL値を「300秒」などに短くしておくと、
レコード変更時に待ち時間が少なく済みます。
※レコードの変更と同時にTTLを短くしてもダメです!
何故なら、周りの他のDNSサーバはその時点では「3600秒」と認識しているので
次回更新までは、3600秒おきに更新確認するからです。
TTL値を必要以上に短くすると、
更新頻度が無駄に高くなり負荷が大きくなるので、
特段の事情がなければ3600秒以上にしておくことが望ましいですね。
では、DNSレコードではなく、
権威DNSサーバを別のサーバへ変更する場合はどのような挙動になるのでしょう・・・?
権威DNSサーバの場所は、
ドメイン管理会社が「今の権威DNSサーバはこれだよ!」と全世界にあるDNSサーバへ、
公開情報として流しています。(NSレコード という種類になります)
各DNSサーバはそれを見て
「あ、このサーバへ最新情報を見に行けばいいんだな~」と判断して
更新を確認しに行くわけです。
権威DNSサーバを変更する時は、
ドメイン管理会社が流しているNSレコードを変更するのですが
NSレコードを変更する頻度は少ないため、
TTLの値は長めに設定されています。(おおむね、8時間~72時間であるケースが多いです)
そのため、
権威DNSサーバとDNSレコードを一度に変更しようとすると
全世界のDNSレコードが切り替わるまで、
最長72時間も待たされるハメになります!
DNSレコード変更でWebサーバやメールサーバの切り替えを伴う場合、
これは死活問題です。
なので、時間のかかる「権威DNSサーバの変更」を事前に済ませておくのがベターです。
もちろん「古い権威DNSサーバ」と「新しい権威DNSサーバ」のレコードの内容は、
完全に一致させておきます。
DNSレコードが一致していると、いつ何時、
参照先の権威DNSサーバが切り替わってもユーザ側の挙動は同じになりますね。
充分な時間をおき、
全世界のDNSサーバが「新しい権威DNSサーバ」を参照するようになった後
DNSレコードの変更を行うと、
あらかじめ設定されたTTLの時間以内に更新されるのです。
以上、DNSサーバ移行時の注意点でした!