この記事は約4分で読めます。
本文は約2257文字です
ネームサーバー切り替え時のダウンタイム・DNS浸透時間を無くす方法
サーバー移転などでネームサーバーを切り替える場合、問題となるのがDNS浸透時間です。
DNSが世界中に浸透してサイトの表示が切り替わり、安定するまで1日程度(最大72時間)かかると言われます。
実は、DNS浸透時間と言われているのは、DNSキャッシュサーバーがキャッシュを保持している時間(TTL)で決まっています。
このTTLを短くすることで、DNS浸透時間を限界まで短くすることができます。
この記事ではこの特性を利用して、ネームサーバー切り替え時のDNS浸透時間を短くする方法をご説明します。
この記事の内容
よく知られたDNS浸透時間を短縮する方法
サーバー移転時のDNS浸透時間を短くする手順は検索するとすぐに見つかります。
- 移転元と移転先のサイトの内容を同じ(コピー)にする
- 移転元のDNSレコードのTTLを書き換える
- TTLを短くする(120秒)
- 1日程度待つ
- 移転元のDNSレコードを書き換える
- 移転先のDNSレコードと同じにする
- ネームーサーバーを切り替える
この手順では、④の時点で移転元のネームサーバーのままで移転先のサーバーにあるサイトが表示されるようになります。⑤は最終的に移転元のネームサーバーを使わなくするための処置です。
DNS浸透時間を無くすネームサーバー切り替え手順
STEP
移転元⇒移転先にサーバーの内容をコピーする
移転元のサイトのデータを移転先にコピーする。
ファイル一式やDBを移転先のサイトにコピーします。
サイトの表示が正常に行えることを、hostsファイルでIPアドレスを変更して確認する
STEP
移転元のDNSレコードのTTLを書き換える
- DNSキャッシュサーバーのキャッシュ時間を短くするため、TTL値を変更する
- TTL値は数分程度(120秒ぐらい)の設定にする
STEP
DNSキャッシュサーバーのTTL値が更新されるのを待つ
- TTL値が1日(86400秒)となっていることが多いので、DNSキャッシュサーバーのキャッシュ期限が切れるのを待つ。
- 1日程でキャッシュの期限が切れてDNSキャッシュサーバーのキャッシュが更新されるとTTL値も更新される
TTL値が更新されたかどうかは↓のサイトで確認できる。
STEP
移転先⇒移転元にDNSレコードをコピーする
- 移転元のDNSレコードを移転先のDNSレコードと同じように設定する
- NSレコードも移転先と同じにする(NSレコードが変更できない場合はそのまま)
- TTL値が短くなっているので、DNSキャッシュサーバーのキャッシュがすぐに更新される
STEP
ネームサーバーを切り替える
- TTL値が短いためネームサーバーはすぐに切り替わります。
- DNSレコードが同一なのでネームサーバー切り替えの影響は見えません。
ConoHa WING⇒Xserverへのサーバー移転時の実際の作業
STEP
ConoHa WINGのDNSレコードのTTL値を360に変更
- ConoHa WINGのDNSレコードのTTL値は全て3600(6時間)だった
- ConoHa WINGのDNSレコードを編集し、TTL値をすべて360(6分)にした。
- NSレコードはTTLを変更できないので、そのまま。
STEP
一日程度時間を空ける
- DNSキャッシュサーバーのTTL値が更新されるのを待つ
- 一日程度放置しておく
STEP
Xserverにドメインを追加
- ドメインを追加
- SSL化を実行(ネームサーバーを切り替えずにSSL化する)
- WordPressインストール
STEP
ConoHa⇒Xserverにサイトデータをコピーする
- 移転プラグインなどを使用してサイトデータをコピーする
- hostsファイルを編集して移転先のサイトの表示を確認する
STEP
ConoHaのDNSレコードを書き換える
- XserverのDNSレコードの内容と同じようにConoHaのDNSレコードを書き換える
- ConoHaは、NSレコードが書き換えられなかった。
STEP
ドメインのネームサーバーを切り替える
ドメインのネームサーバー設定をXserverのネームサーバーに切り替える
STEP
数分でXserverのサイトに切り替わった
- Aレコードは一瞬でXserverになった。
- NSレコードを書き換えていないので不安だったが、ほぼ一瞬でXserver側のネームサーバーに切り替わった。
まとめ
DNS浸透時間というのは、DNSキャッシュサーバーのキャッシュ保持時間(TTL)のことです。
キャッシュサーバーのTTL時間が短くなれば、DNSはすぐに切り替わります。
そのためには、移転元のDNSレコードのTTL時間を短く設定し、現在のキャッシュ保持時間(TTL時間)経過を待ち、キャッシュ更新のタイミングでDNSキャッシュサーバーのキャッシュ保持時間は短いTTL値に置き換わります。
コメントを閉じる
コメント