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

この記事をシェアする

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

関連記事

Meteoric Streamについて

管理人

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