October 28, 2016

サーバーを移転した、その顛末

●ふー。実はこの一週間くらいをかけて、当サイトのサーバーを移転した。デジタル引越しを完了して、すでにここは新サーバー。アドレス(URL)は変わらないので、ご覧になっている方々から見れば、なにひとつ変更はない。サーバー移転はこれで3回目で、前回はすんなりできたような記憶が残っているのだが、久々にやってみると冷や汗をかく瞬間もあったりして、案外プレッシャーになっていた。
●今回は同じホスティングサービス内でサービスプランが変わっただけなので、本来やることは単純。1. 旧サーバーにあるデータをごっそり新サーバーにコピーする。 2. サーバーが引っ越したよという通知を届けてDNSサーバーの情報を更新してもらう。これでおしまい。の、はずだったんだけど……。以下、詳しい方から見れば素人丸出しの話で恥ずかしいんだけど、備忘録も兼ねて記しておこう。
●まず1。FTPで大量のファイルをダウンロードすることになるのだが、さっそくここでつまづいた。FTPクライアントの問題なのか、一度に大量のファイルを落とそうとするとエラーになってしまう。ググったところ、暗号化周りの処理でもたつくらしいということで、一時的に暗号化オプションを外してみたらダウンロードできた。続いて新サーバーにこれをまるごとアップロード。この時点で、新旧ふたつのサーバーにそれぞれまったく同じCLASSICAというサイトができたわけだ。といってもclassicajapan.comというドメイン名に割り振られているのは旧サーバーなので、新サーバーへのアクセスはワタシ自身以外にゼロ。だれも知らないもうひとつのCLASSICAがひっそりと誕生(笑)。こちらの新サーバーへはIPアドレス(または仮のドメイン)でアクセスする。
●で、ここではたと困ったのが、新サーバー側でこのブログを作成するMovabletypeの動作確認をするにはどうしたらいいのか、という点。丸ごと同じものをコピーしたのだから、Movabletype側の各種設定ファイルなどにはサイトパスがclassicajapan.comで記録されている。そのままでは旧サーバーにあるCGIにアクセスしようとしてしまうので、もちろん動作しない。なのでこれを新サーバーのIPアドレスに書き換えて動作確認をすることにした。サーバーに置いてあるconfigファイルも対応が必要だよなーとか思い出して、必要と思われる個所を書き換えたのだが、これがなにかと神経を使う。つまり完全にclassicajapan.comという記述を新サーバーのIPアドレスに書き換えてしまうと、生成されるHTMLページ内のリンク先なんかもIPアドレスで出ちゃう。これを後からもとに戻さなきゃならないのは煩雑でイヤだなーと思い、ケースバイケースで綱渡り的に個別対応。微妙に心配だったが、でもなんとか動作確認はできた。
●で、次に手順2はドメインの変更申請。申請自体は簡単なんだけど、ホスティングサービス側でドメイン設定作業を完了し、なおかつDNSが浸透するまでの間、旧サーバーと新サーバーの両方を並行運用しなければならない。これが手間。ホスティングサービス側の作業完了時刻があらかじめわからないのでヤキモキしていたのだが、申請の翌々日、東京文化会館に出かけて「ナクソス島のアリアドネ」の開幕直前になって、設定が完了した旨のメールが届いた。すぐにはなにもできないので(個人サイトだから担当者はワタシしかいない)、終演後に帰宅してから、旧サーバーの子ドメインwww.classicajapan.comを削除し、続けて新サーバーに子ドメインwww.classicajapan.comを登録。これで、サーバーは移行できたはずなので、新サーバー側のMovabletypeの設定を戻してやらなければいけないのだが、そうはいってもここでDNS浸透待ちが発生する。インターネットの仕組上そうなってしまうのだが、変更作業が終わってもclassicajapan.comへのアクセスが一斉に新サーバーに向かうわけではない。利用者側の使うDNSによって、旧サーバーにたどり着く人もいれば、新サーバにたどり着く人もいる。DNSの浸透には最大3日ほどかかるということになっている(実際にはそんなにかからないのは前回も体験済みだが)。で、まあ一晩待てばいいだろうということで、その日は寝た。
●で、翌日、さてどうなっているかなと思い、メインPCからclassicajapan.comへアクセスしてみると、旧サーバーのほうにつながってしまう。むむ。別ルートで試してみようと思い、携帯端末から4G回線経由でアクセスすると、そちらは無事に新サーバーにつながった。さて、どうしようか。メインPCから新サーバー側のMovabletypeの設定を戻してブログを更新したいのだが、classicajapan.comが旧サーバーにつながってしまうのではエラーが出るばかり。これは新サーバーにつながるのを待つしかないんだっけ。いやいや、でももう一晩経ってるんだけど?
●で、ここからが割とトンチンカンな気もするのだが、まず自分のPCのネットワークの設定をいじってDNSサーバーを変更してみようと思いついた。TCP/IPのプロパティを開き、「DNSサーバーのアドレスを自動的に取得する」になっているのを、Google等の公開DNSサーバーに変更してみた。そっちだと新サーバーにつないでくれるんじゃないかなーと期待して。でもやっぱり旧サーバーにつながってしまう。えー、なんか変だなー。で、コマンドプロンプトを立ち上げてnslookupコマンドでclassicajapan.comのIPアドレスを引っ張ってみると、ちゃんと新サーバーのほうが出る。ここに至って、ようやくローカルマシン側にDNSの「キャッシュ」みたいなものが残ってるんじゃないかと気がついた。ブラウザが怪しいと思い、ChromeにあるDNSのキャッシュ(そんなのがあったんだ)をクリアしてみた。ところがそれでも旧サーバーにつながってしまう。うーん、うーん、どうしてなんだろう。ほかにもDNSのキャッシュってどっかにあるの? はっ。もしやWindowsにあるとか?? PCを再起動した。あっさり新サーバーにつながってくれた。ドテッーーー!
●そんなわけで、新サーバー側のMovabletypeで一時的にIPアドレスで指定したおいた設定を全部classicajapan.comに戻してやると、無事にブログが更新できるようになった。もしそこでエラーが出るとドツボにハマるところだったので、ちゃんと動いてくれて安堵。で、旧サーバーの並行運用を続けるべきかどうか一瞬迷ったのだが、やるとなると旧サーバー側の設定変更などがいろいろと面倒。新サーバーと旧サーバーのアクセス数を比較してみたところ、その時点ですでに5対1くらいで新サーバー側へのアクセス数が多くなっていたので、これはもう旧サーバーは放置でいいんじゃないかと思い、並行運用は止めることに。そのあとしばらく時間が経ってからもう一度確認したら、10対1くらいになっていたので、もう大丈夫だろう。昨日のエントリーからは新サーバー側だけで更新している。
●新サーバーは動作が軽快で吉。少なくとも今のところは。

このブログ記事について

ショップ