DNSのTTLとは?
DNSには各ドメインに対する運用方法を記述したZONEファイルが格納されています。そこにはTTL(Time To Live)というものを指定する記述があります。
TTL(Time To Live)とは、一旦DNS経由でドメイン名の名前を解決(ドメイン名とIPアドレスを結びつけること)した場合、その情報をキャッシュしておく時間(数値は秒)のことです。86440と指定されていれば、それは24時間のことです。3600なら1時間、604800なら1週間です。
DNSは少しでも負担を軽くするため、一旦名前→IPアドレスを変換して解決したドメイン名は、そのIP情報を一定期間キャッシュしておきます。
TTL(Time To Live)がどの程度生きているかは、ZONEファイルの記述内容や、アクセスした人の環境により異なります。
DNSの切り替えタイミングは指定できるか?
DNSは切り替え申請した時点で瞬時に切り替わるわけではありませんし、環境によってTTL(Time To Live)の期間もまちまちですので、切り替えが有効になった後も、サーバAでは新サーバーにアクセスできているのに、サーバBからは旧サーバーにアクセスしてしまうという状況がある程度続きます。
ドメインに対するDNSの変更や、すでに登録してあるDNSのIPを変更する場合、変更申請をしてから、ルートレジストリに変更が反映されるまでに通常24時間程度かかります。
したがって、DNS変更によってドメインの運用サーバーを引っ越しをさせる場合、できれば1週間は、新旧どちらのサーバーにも同じデータを残しておき、両方アクセス可能な状態を保つことが望まれます。メールも、最低1週間は旧サーバーに取りこぼしがないか確認する必要があります。
特に、独自登録したネームサーバーのIPそのものを変更すると、旧DNSのIPを記憶している環境が多数残りますので、非常に大きな影響が出ます。
これに対応するため、よくやるのは古いサーバに来たリクエストを、強制的に新しいページに転送させるような処理であったり、あるいは新旧両方のWebサーバに同じコンテンツを載せておきます。
Webサイトのページに対するリクエストであればこのような処理を行うことで、特に大きな問題は起こりません。
DNSの切り替え後、メールが届いたり届かなかったりするのは何故?
DNSの切り替えを行いますと、旧DNSの設定情報と新DNSの設定情報がインターネット上に混在している状態となり、旧DNSの設定情報が参照された場合は旧メールサーバにメールが送信されます。
このため、新メールサーバのメールのみを受信する設定をしている場合は、一部のメールが受信できない等の問題が発生します。
回避するために、利用しているメールソフトにて、新旧両方のメールサーバからメールを受信する設定の両方行う等必要がある。