Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> サーバー関連 -> サーバー移行時に、DNSの反映待ちをしないで済む方法

サーバー移行時に、DNSの反映待ちをしないで済む方法

この記事は、経験則的に書いているので、時と場合によっては異なるかも知れません。

サーバー移行時に、よく制作会社に言われるのが、DNSの浸透までに1〜3日かかるので、その間、旧サーバーを閲覧される事があるかも知れません、的な事です。

それで、実際のところ、DNSを変更してから反映されるまでの期間は、経験的には3〜6時間くらいが平均かな〜?といった具合でしょうか。

ただし、DNSが完全に浸透しきるまでにはもっと時間がかかり、3日後くらいにも、依然として旧サーバーと新サーバーを行ったり来たりしてしまう、というケースも、無きにしもあらずです。

一体何が、DNSの浸透を遅くしているのか?

ここから、本題に入りましょう。
一体何がいけないのか。

それは、「DNSレコードの書き換え」です。

え・・・?当たり前じゃん。って声が聞こえてきそうですが、要するに、DNSレコードの書き換えに、時間を食うんですよ。DNSサーバーのキャッシュが更新されるのに時間がかかりますからね。

DNSレコードを事前に書き換えておけば、浸透待ちは発生しない!(キリッ!)

そこで、DNSレコードを事前に書き換えておけば良いのでは??という発想が浮かびます。

従来の方法(浸透待ちが発生する方法):
サーバー移行時に、DNSレコードを、移行後のサーバーのIPアドレスに書き換える

改善策(浸透待ちが発生しない方法):
サーバー移行前と、移行後のネームサーバーを別々に設定する。
簡単な例だと、移行前は、ns1.value-domain.comを使用し、移行後は、ns1.xserver.jpを使用する。
移行の前に事前に(3〜4時間程度前までに?)、ns1.xserver.jp上でDNSの設定を行って、DNSキャッシュが更新された事を確認しておく。
それで、移行する時は、DNSの更新はせずに、ネームサーバーの変更のみにとどめる。(ns1.value-domain.comを、ns1.xserver.jpに書き換える、など)

上記の方法をストレートに説明すると、要するに、サーバー移行時のドメイン切り替えの対応を、DNSの書き換えではなく、「ネームサーバー」の書き換えで対応すれば、DNSの反映待ちをしないで済むのです。

当たり前のような気がしますが、移行後のネームサーバーで、すでにDNSが浸透しきった状態で、ネームサーバーを切り替えるので、反映待ちは発生しない!ということですな。

実は、Value Domainで管理しているドメインをさくらのVPSで運用していて、それをXServerに移行する際に、DNSの書き換えではなく、ネームサーバーの変更で対応したのですが、その時に、DNS浸透待ちが異常に少ないような??という気がしたのです。

その後、何件か同じ事を繰り返しましたが、今の所、やはりDNSの浸透待ちが発生しません。ネームサーバー変更の5分後には、新しいサーバーが参照されていました。

というわけで、結論。


DNSの書き換え:浸透待ちに時間がかかる
ネームサーバーの書き換え:あまり時間がかからない

※ネットで探しても、こういう情報が出なかったので、絶対正しい!とは断言しません。 2016/2/26追記:お名前.comだと、すぐには反映されませんでした。体感で20分くらい。まあ、それでも良い方か。

エックスサーバーの情報について

参考までに、この記事で書いたサーバーの情報を記載しておきます。
エックスサーバー
https://www.xserver.ne.jp/
高速、安定性が高く、自動バックアップまで搭載されている優れもののサーバー。独自のネームサーバーを持っており、DNS切り替えを、ネームサーバー切り替えで対応することで、DNS浸透待ちを回避出来るという、裏技があります。
価格も、月額1000円程度と、かなりお手頃。

おまけ:本番移行する前に、本番のドメインで移行後の動作を確認する方法

おまけの記事です。
例えば、yourname.comというドメインで運用しているサイトを、さくらのレンタルサーバーから、XServerに移行する予定だとしましょう。
この時に、あらかじめ旧サーバーから新サーバーにデータを移して、テスト用のドメインで動作確認を行ない、問題なければサーバー移行するような流れになる事が多いと思います。

しかし、そこで問題となってくるのは、テスト用のドメインで動作確認をするために、PHPのソースコードを必要に応じて編集したり、色々と面倒な編集作業をしなければならないケースがあることです。

しかも、その状態でサーバー移行して、「しまった、テスト用の設定のままだった」となってしまい、サーバー移行後にトラブルになってしまう可能性もあります。

これを解決するためには、動作テストの段階から、本番のドメイン名で動作確認を行なっておけば、全てが丸く収まります。
これを実現するためには、動作確認を行うローカルのPCにて、hostsファイルの設定を行なっておけばオッケーです。

Windowsの場合:
メモ帳などで、「C:/Windows/system32/drivers/etc/hosts」あたりを開く

Macの場合:
ターミナルで「sudo vi /etc/hosts」

その後、hostsファイルを編集して、
111.111.111.111 yourname.com
のような感じで、新しいサーバーのIPアドレスと、本番のドメイン名を記述し、保存すれば設定完了。
上記の、hostsファイルの設定をしておけば、Internet Explorer、Edge、Safariなど、どんなブラウザから閲覧しても、そのPCで閲覧する限りは、新しいサーバーでサイトを閲覧する事ができます。

古いサーバーでサイトを閲覧したい場合は、先ほどのhostsファイルへの記述を削除すればオッケーです。

このようにすれば、ネームサーバーを切り替える前に、自分だけが事前に、ネームサーバー切り替え後の動作確認をすることができます。

ただし、このままでは、自分しか新しいサーバーを閲覧していないことになるので、最終的には、ネームサーバーを切り替えなければ、サーバー移行は完了した事になりませんので、ご注意を。
この記事の最終更新日:2017/12/09
最初に記事を書いた日:2016/02/25

この記事をシェアする

このエントリーをはてなブックマークに追加

関連記事

資料室のトップに戻る
Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> サーバー関連 -> サーバー移行時に、DNSの反映待ちをしないで済む方法
▲Top English