コラム レンタルサーバーの移行方法とその注意点
優れたレンタルサーバーを見つけると嬉しい反面、サーバーの移行作業を思うと憂鬱な気持ちにもなってしまいます。ここでは初めての人にも全体の流れがわかるようにレンタルサーバーの詳しい移行方法と、見落としやすい注意点をまとめています。
サーバーの移行手順を確認する
- 準備・検討(1〜2週間)
- 新しいサーバーを決める
- 問題点を洗い出す
- スケジュールを検討する
- 新サーバーを契約する
- 実際に問題がないか試用期間でテストする
- 正式に契約(支払い)
- 新規サーバーの設定を行う メールアドレスの作成など
- 旧サーバーから新サーバーへデータを移行する(1〜2週間)
- サイトデータ・WordPress
- メールデータ
- 新サーバーでのサイト表示を確認する
- DNSの切り替え
- サイトの表示などのチェック
- 新旧メールサーバーをチェック
- 旧サーバーの解約
- 旧サーバーにメールが届かなくなってから(2〜3週間)
新しいサーバーが見つかった時の確認事項や準備
スペックなどを確認して良いサーバーが見つかったら、本当に移行できるかどうかを確認します。
- WordPressの「移行ツール」の有無や仕様を確認
- メールデータの移行方法を確認
- 実際に試用期間を利用してテストする
- 現行のサーバーにて必要な設定内容を洗い出し、新規サーバーと比較する
- 旧(現行)サーバーの表示速度を計測しておく
- 移行スケジュールを決める
WordPressを利用している場合
WordPressの移行を手作業で行うには、それなりの知識も必要で手間もかかります。事前に公式サイトを確認し、移行ツールや移行に関するマニュアルがあるかどうか確認しておきましょう。
移行ツールがあれば、移行自体はとても簡単です。ただこうしたツールはどのように処理しているのかわからないため、その後十分なチェックも必要になります。
また移行ツールの利用に関わらず、WordPressやPHP、MySQLなどのバージョンも確認が必要です。大きくバージョンが異なる場合は移行がかなり難しくなります。
もしカスタマイズやプラグインの利用によりWordPressのバージョンを変えられないという時は、移行ツールが使用できない、またはPHPのバージョンなどのせいで移行自体ができないという可能性も出てくるかもしれません。事前にしっかり確認しましょう。
メールデータの移行方法を検討
まずは必要なメールアドレスを確認します。
もしたくさんの社員分を作る場合、ほとんどのレンタルサーバーで一括登録が可能なので、メールアドレスの一覧となるCSVファイルの準備も必要です。新しいサーバーで必要なCSVの仕様を確認します。
ただメールの移行で一番の問題は過去に送受信したメールデータの移行です。
残念ながら、各社レンタルサーバーでメールデータの「移行ツール」を提供しているものはおそらくありません。サーバーへの負荷が大きいのかもしれません。個人個人が手作業で移行する方法を後述しますが、人数が多い場合はよい移行方法はないかもしれません。
ただもし、今回のサーバー移行をきっかけに、メールサーバーは「Google Workspace」を採用するという場合は解決方法があります。「データ移行サービス」というツールがありメールデータを簡単に移行できます。サイトを表示するウェブサーバーとメールサーバーを分けることは、リスク分散や将来のサーバー移行もしやすくなるなどメリットも多くあるので一度検討してみてください。
ウェブメールについての確認
レンタルサーバーの試用期間中はメールアカウントを作れない場合があります。そのためほとんどの場合、「ウェブメール」の仕様や使い勝手は契約するまでわかりません。実際にはウェブメールを使う機会はあまり多くありませんが、公式サイトのマニュアルなどを一応確認しておくとよいと思います。
最近は「Roundcube」というツールが使われていることが多いみたい。レイアウトも綺麗で使いやすいよ。
その他、かなり技術的なものですが「ローカル配送」についても確認しておくとDNSの設定漏れを防ぐことができます。ConoHa WINGはこのオンオフが操作できます。
ローカル配送とは
サーバーから送信されるメールが、本来のネームサーバーを参照せずにそのサーバー内のネームサーバーを参照するというものです。ほとんどの場合ネームサーバーはレンタルサーバーではなく、ドメイン管理会社のものを使用しているため、これを見落としていると特定の条件でサーバーからのメール送信に不具合が起こることがあります。
試用期間を利用してテストしてみる
正式に契約する前にレンタルサーバーの試用期間を利用してテストしましょう。ただテスト中の設定が残っていると後でトラブルが起こる可能性もあるため、本来の契約者としてではなく、一旦別のメールアドレスを使うなどしておく方が安全です。
試用期間中に確認すること
- 管理画面の使い勝手を確認する
- 現行サーバーの管理画面と比較して操作内容に違いや不足がないか
- リソースモニターやバックアップの復旧など緊急時の操作を確認
- 実際にサイトを移動して表示速度を計測する
ただしメール関連など試用期間中は操作できないこともあります。
具体的な設定や問題点を書き出す
およそ移行が決まったところで、現行サーバーの管理画面や、WordPressの管理画面を一から全て見直し、必要な設定内容を書き出しておくことをお勧めします。
管理画面の設定項目や問題点の洗い出しの例
- PHPのバージョンやphp.iniの内容(違いに問題がないか)
- データベースやそのバージョン(違いに問題がないか)
- MIME設定(新規サーバーで必要なものがないか)
- Cronの設定
- .htaccessの書き方(必要なモジュールがあるか)
- サイトの転送設定
- WAFの設定
- 各レンタルサーバーの高速化技術の新旧の比較
- レンタルサーバーが提供しているWebフォントの利用
- メール機能の確認(転送や迷惑メール設定)
- FTPの仕様を確認
管理画面は普段そこまで見ることはないから、初めの頃に設定したものは案外忘れてしまうんだよね。ここで見直しておくといいよ。
新しいサーバーへ移行できないケースに要注意
少し特殊な例ですが、移行先が関連するレンタルサーバーの場合、直接サイトの移行ができないということがあります。サービス内の仕組み上、同じドメインが登録できないことが理由です。もし同じ会社のレンタルサーバーへ移行する場合は注意して下さい。
この場合の対処方法は二つ考えられますが、どちらも問題はあります。どうしてもという場合は「2」になると思います。
- 一旦、旧サイトの設定を停止し、新しいサーバーを登録する
この場合、サイトが表示されない期間(ブランク)が発生するだけでなく、切り替え前のデータ移行ができないためブランクがその分長くなります。 - 一度全く別のサーバーへ移行し、再度本命のサーバーへ移行する
この場合は2回の引っ越しになるため、メールの移行などがあるとかなり大変な作業になります。
現行サーバーの表示速度を確認する
後で新旧のサーバーを比較するため、「PageSpeed Insights」や「GTmetrix」などを使い表示速度の評価を保存しておきましょう。
今はサイトの表示速度がとても大切。これを理由にサーバーを移行する人も多いはずだから、しっかり成果を確認できるようにしておこう。
全体の日程、スケジュールの立て方
スケジュールはおよそ下記の要素で決まると思います。
- 時間がかかる各種データの移行作業
- 旧サーバーの契約更新時期
- レンタルサーバーのサーバーメンテナンスを避ける
時間がかかる作業
データの移行作業は見積りがかなり難しいものになります。特にメールデータを移行する場合は思いのほか大きな作業になるかもしれません。
またWordPerssを手動で移行する場合、画像のリンク切れなどの不具合が起こることがあります。サイトの規模が大きい場合、そうした細かな修正にかなり時間を取られることになります。
データの移行作業については想定よりも長めに設定しておくと安心です。
サーバーの移行日と契約日
表面上は「4、DNSの切り替え」がサーバーの移行にあたるので、この日が「移行日」になります。
移行日を先に決定する必要がある場合は、データ移行にかかる期間を逆算し、新規サーバーの「2、契約日」を決めます。ただデータ移行作業の時間は読みづらいので、逆算が難しいということもあると思います。
その場合は「移行日」は一旦決めず、慎重に行うべきは「データ移行」なのでその目処が立ってから移行日を設定する方がよいと思います。
旧サーバーの契約更新時期が近すぎる場合
旧サーバーは、DNSを切り替え移行が完了した後も、2〜3週間は維持する必要があります。
これはDNSの切り替え後もメールが古いサーバーに届いてしまうことがあり、一般的には最低でも2週間は様子を見ます。その前に契約更新時期が来てしまう場合は、もう1ヶ月延長するなどご検討ください。
サーバーメンテナンスが重ならないか確認
一通りスケジュールがまとまったら、その期間中に新旧のレンタルサーバーにてサーバーメンテナンスがないかを確認しておきましょう。サーバーメンテナンスは通常深夜に行われますが朝までかかることもあります。影響としては再起動されるなどしサーバーが一時停止します。もし大量のデータをアップロードしている場合、途中で一瞬でも動かない時間帯があると必要なファイルが移行できていないなど結果的に大きなトラブルになるかもしれません。
DNSのTTLを変更する日程を検討する
サーバー移行(4、DNSの切り替え)の1週間ほど前までに、ネームサーバーにてTTL(キャッシュ時間)を操作しておくとスムースに移行できます。ただしドメイン管理会社などでTTLを操作できるネームサーバーはあまりありません。事前に確認しておきましょう。
平常時はセキュリティを踏まえ「86400(=24時間)」となっている場合があるようですが、サーバーを移行する1週間前に「3600(=1時間)」ほどとしておきましょう。これによって1時間以内にサーバーの移行が完了するということになります。
確認すると「ムームードメイン」「スタードメイン」「エックスサーバードメイン」ではTTLの操作はできず、いずれもTTLは「3600」のようです。変更はできませんが、移行する際も問題はないと思います。
万が一のトラブルをシミュレーションする
全体の移行方法が見えてきたら、その中で起こるトラブルについても考えておきます。下記のようなことも十分起こりうるので、いざという時は旧サーバーに戻せるようにすることも考えておきましょう。
- 移行したデータに不具合が見つかった
- 操作しているパソコンがフリーズした
- プロバイダーレベルでネットワーク障害
ここまで準備が終わったら、新規サーバーの正式な契約を行います。
新サーバーを契約する
一通りの確認で全て問題がなければ、スケジュールに沿って新規サーバーを契約します。契約の際、下記の点に注意しましょう。
- 契約に使用するメールアドレスは、そのサーバーで管理するメールアドレスとは別のもの(Gmailなど)を使う。移行中に重要なメールが届かなくなることを防ぎます。
- キャンペーンや自らのアフィリエイトを利用し申請することで、コストを下げる。
契約後まずはドメインとサイト設定を行う
契約後、新サーバーにドメインの設定を行いサイト領域を作成します。
併せて「SSL設定」ができるかどうかも確認しましょう。エックスサーバーの場合、旧サーバーに特定のディレクトリを作ることで事前に設定できるようになっています。
ただこの状態ではまだ、ドメインが旧サーバーに接続されているため、作成したサイトは閲覧できません。
「hosts」ファイルを操作して見えないはずの新サーバーを閲覧する
新しく作成したサイトを自分の環境でのみ閲覧する方法があります。PC内の下記の場所にある「hosts」というファイルを操作します。
- Windows C:\WINDOWS\system32\drivers\etc\hosts
- Mac /etc/hosts
内容は単純なテキストですが、ファイルは管理者権限でしか操作できないため、開き方に注意してください(操作方法はOSにもよるためここでは割愛します。「hosts 編集 mac」などで検索してみてください)。
hostsの記述例
203.0.113.0 example.com
(IPアドレス) (ドメイン名)
新しいサーバーのIPアドレスとドメイン名をhostsファイルに記述すると、自分の環境でのみこの対応表の通りにアクセスできるようになります。
この状態で新しいサーバーでの作業を行います。
注意点としては、新旧のサーバーに同時にアクセスできないことです。一方で作業を済ませた後で、「hosts」ファイルを書き換え、もう一方で作業をするというような形になります。
新サーバーを閲覧するその他の方法
- ブラウザ「Chrome」のプラグインの中に、hostsファイルと同じようにドメインの向きを変更するものがあります。ただし重要な操作のためサードパーティのツールを利用するのは少し抵抗があります。
- 新サーバーのドメインを一旦異なるものとし、二つのサーバーに同時にアクセスしながら、作業を行うという方法もあります。
後者について少し説明すると、例えばエックスサーバーでは、設定したドメインとは別に「動作確認URL」という別のドメインを設定できるようになっています。これにより別のサイトとして同時に操作できるようになります。
ただWordPressを利用している場合、作業が終わった後で下記のような操作が必要です。この直後は実際にDNSを切り替えるまで新サーバーを閲覧できなくなります。
- WordPress「設定」での「サイトURL」など
- WordPressの記事内の画像読み込みなどURLを全て書き換える(文字列置換用のプラグイン「Search Regex」など使用)
ConoHa WINGではこれらの処理も自動化されていて便利です。
FTPを使った静的ファイルの移行作業
HTMLで作られた静的なサイトの場合、単純にFTPソフトを使用してファイルを移動します。
この時PCにデータをダウンロードするため、同時にバックアップしていることにもなります。このデータは新サーバーにアップした後、圧縮するなどして保存しておくと安心です。
もしWordPressの自動移行ツールを使用する場合も、一応事前にFTPによるダウンロードをしておくとよいと思います。WordPressのユーザーが利用するディレクトリ「wp-content」をダウンロードしてください。画像が含まれるため、場合によってはかなり容量が大きく、時間がかかります。
WordPressの移行作業
WordPressの移行方法は下記のような方法があります。
- レンタルサーバーが用意する移行ツール【おすすめ】
- WordPressの移行用プラグイン
- データベース(MySQL)の移行から全て手動で移動
- WordPressのエクスポートファイルをインポート
上から下に行くほど作業が大変になります。
現在、ほとんどのレンタルサーバーにWordPressの移行ツールが含まれているので、これを使用する形が最も簡単で無難だと思います。
WordPress移行ツールの注意点
- 移行ツールのほとんどはWordPressのバージョンに制限があり、古いバージョンは対応していません。
- プラグインによる移行も含め、こうしたツールは処理内容がわからないので、移行が完了した後はサイト内を細かくチェックする必要があります。
- これはサイトの移行ではなく、あくまでもWordPressが管理している部分の移行なので、独自に設置したfavicon.icoや静的ページなどは手動で移動する必要があります。
実際にConoHa WINGの移行ツールをテストした際、このサイトが5分ほどで移行できました。大きなサイトでもおそらく30分もかからずに終わりそうです。移行後も特に問題は見当たりませんでした。
データベースの移行から全て手動で移動する場合
データベースの移行作業は完全にクローンを作るようなイメージです。そのため、新旧のサーバーでWordPressやPHP、MySQLのバージョンをある程度揃える必要があります。
- 旧サーバーのphpMyAdminなどからSQLファイルをダウンロード(エクスポート)し、新しいサーバーに同じデータベースを作ります。
- 新サーバーにWordPressのコアファイルをアップする
- 「wp-content」内のデータをFTPなどで移行します。
- WordPressの「wp-config.php」ファイルにDB名などを記載。
- サイトを確認し移行完了
この方法は一定の知識が必要ですが、自分が何をやっているのかがわかります。チェック作業も他に比べて少なく済むと思います。
古いWordPressからエクスポートファイルで移行する場合の注意点
旧WordPressのエクスポートファイルをダウンロードし、新しいWordPressにインポートする方法です。
バージョンなどの問題でここまでの方法が採用できなかった場合、このエクスポートファイルを使った移行になると思います。この方法であれば、かなり古いバージョンからも移行できるようです。
大まかな流れとしては下記のようになります。
- まずは新サーバーにWordPressをインストール。
- 必ず新WordPressの管理画面「設定>メディア」の画像サイズを事前に旧設定と揃える。
- エクスポートファイルをインポートします。その際「添付ファイルをダウンロードしてインポートする」にチェックを入れると、画像も同時に移行してくれます。
- インポート完了後、サイトをチェックします。
移行した後の記事内容を一括で書き換える
もし新旧のサーバーで「ドメイン」を変更したり、新規サーバーで初めて「SSL」に対応するという場合は、URLが変わってしまうため、記事内に直接記述された画像URLなどを書き換える必要があります。
これには記事内の文字列を置換するプラグイン「Search Regex」が便利です。名前の通り正規表現(Regex)が使えるのでどのような文字列でも比較的安全に処理できます。
移行後、WordPressの設定を全て確認する
移行した後は、新しいWordPressの管理画面を全て確認しましょう。その他「.htaccess」や「wp-config.php」を書き換えている場合も確認が必要です。
メールデータの移行方法
過去に送受信したメールデータはおそらく膨大な数になっているため、移行はとても大変です。今のところ、レンタルサーバーにメールデータの移行ツールは存在していないようです。
またPC上で動くサードパーティのツールもあるようですが、処理内容がわからないので大切なメールを他人に任せることになり、利用は避けた方が良さそうです。
IMAPを使い自らメールデータを移行する
- PC内のメールソフトにて新旧それぞれのメールサーバーに「IMAP」で接続。
- メールソフトの中で、旧サーバーから新サーバーのメールボックスにメールをドラッグ。
- 受信、送信、下書きなどフォルダごとに全て移動。
基本これだけです。
ただし一気に移動しようとすると、PCに負担がかかることもあります。安全のため少しずつ、100件、300件、500件と様子を見ながら移動してください。迷惑メールなど不要なメールはそのまま残しておいても構いません。解約と共に削除されます。
また「送信メール」を移動するため、接続は「IMAP」とすることが重要です。
注意点としては初めのうち、新サーバーには「送信」フォルダがありません。そのため一度新サーバーから自分宛てにメールを送信してください。まだ稼働していない状態ですがメール送信は可能です。
そもそもこの時点で新サーバーの方に接続できるのか疑問に思うかもしれませんが、IMAPやSMTPのホスト名は自分のドメインではありません。レンタルサーバー所有のものになっているため、どちらも問題なく接続できます。ただメール送信についてはSPFの設定前のため注意しましょう。
この作業は、もし一人の作業であれば、それなりに大変ですがあまり問題はありません。ただもし社員が大勢いる会社で全員にこの作業をさせるとなった場合、相当厳しいかもしれません。
もう一つのメールデータ移行方法
この方法はかなり限定的な対応になると思います。十分理解した上で検討してください。
もし新旧のメールサーバーが同じソフト(MTA)を使っているということがわかれば、FTPでメールディレクトリをそのまま移行するという方法もあるようです。ただ大人数のメールデータを移動するというのはセキュリティ上のリスクもあり、またよほどサーバーに詳しくないと全てのメールが正しく移行できているかわかりません。この方法は慎重に検討してください。確認できている範囲では、ファイルやディレクトリのパーミッション、またPC経由でのダウンロード・アップロード時にファイルが壊れる可能性がある点に注意が必要です。
事前に新サーバーでのサイトをチェックする
一通りデータの移行が終わったら、新サーバーでのサイト表示をチェックします。「hosts」ファイルを操作してしっかりと内容をチェックしてください。
問題がなければ、後はDNSを切り替えることで新サーバーにあるサイトを公開できます。
この時点で、移行日(=DNS切り替え日)が設定できるようになります。レンタルサーバー会社のサーバーメンテナンスがないか、再度確認しておくと安心です。
DNSの切り替え=新サーバーへの切り替え
DNSの切り替えというのは、ドメインが向く先を旧サーバーから新サーバーのIPアドレスへ書き換えるという作業を指します。表面上はこれがサイトの引越しにあたります。
ネームサーバー内の設定項目としては主に下記のようなものがあります。
- Aレコード:サイト
- MXレコード:メールサーバー
- TXTレコード:メールのSPFの指定など
ウェブサイトについては「A」レコードを操作しますが、同時にメール関連の「MX、TXT」レコードの操作も必要です。
TXTレコードで操作する「メールのSPF」というのは「ここに書かれたサーバーからメールを送信します。つまりこれ以外から送られたメールは迷惑メールの可能性があります」というアナウンスをするものです。もしサーバーの移行に問題があれば、DNSを戻すという可能性もあるので、このSPFはしばらくの間、新旧両方のサーバーを指定しておいてもよいと思います。
移行後に必要な作業とチェック項目
- サイトの表示チェック
- WordPressの管理画面から一通り操作確認
- メールの送受信(自分宛てに送るとメールの送受信が一度に確認できます)
- 新旧サーバーの表示速度の比較
万が一、致命的な問題がある場合
事前にシミュレーションしても、想定していない問題が起こる可能性は十分にあります。
そうなった場合は、DNSを戻すか、問題を解決するか、どちらが早いかを考えましょう。DNSを戻す場合も、改めて社内への周知が必要になったり、再スケジュールとなるため思いのほか大変です。
旧サーバーとの表示速度の比較
およそ移行が完了したら「PageSpeed Insights」や「GTmetrix」などを使い表示速度を確認します。その結果で旧サーバーと比較してみましょう。もし速度が遅くなっている場合は、サイトの移行方法に不備があるということも考えられます。原因やサイト内の違いを探してみてください。
DNSの浸透時間・プロパゲーション
DNSの切り替えは、ドメイン管理会社やレンタルサーバーが管理するネームサーバー(権威サーバー)を書き換える作業になります。
ただ実際にサイトの閲覧などに使われるのは、世界中に分散されたキャッシュサーバーです。それらサーバーに新しい情報が書き換えられるまで一定の時間がかかります。
正常なキャッシュサーバーであれば、指定した時間(TTL)で古いデータが削除され、新しい情報を取得しようとしますが、中には正常に動作しないサーバーもあるようです。
そのため自分がどのキャッシュサーバーを見ているかによって、DNSの反映が遅くなる場合があります。こうした遅延はこちら側からは手出しできない部分なので、基本的には正しい反映を待つしかありません。
ここで問題になるのがメールです。
上図の「NS=ネームサーバー」のように一部でも新しい情報が伝わっていなければ、そこを参照したメールが古いサーバーに届けられてしまいます。
サイトの場合は、次第に切り替わるのを待つだけですが、このようにメールが古いサーバーに届いてしまうと、場合によっては気づかずにそのまま放置、またサーバーの解約によって消去されてしまいます。
そのため必ず数週間、短くても2週間ほどは旧メールサーバーも確認できるようにしておきましょう。データを移行した際に両方のサーバーにIMAPで接続していた場合はそのまま維持する形で構いません。
旧サーバーの解約
旧サーバーに(重要な)メールが届かなくなったところで、旧サーバーを解約できます。迷惑メールなどは届いていても構いません。
また解約と同時にサーバー内のデータは削除されると思いますが、できれば自らの手で削除しておくと安心です。
以上がレンタルサーバーの移行方法です。トラブルさえなければ難しくはないんだけど、やることが多いから大変だよね。
思っていたよりずっと大変だった。お疲れ様でした!
レンタルサーバーの移行方法と注意点のまとめ
- 移行の手順を一通り確認する
- 事前に新しいサーバーを十分に確認する
- スケジュールを検討する
- WordPressのデータ移行方法を確認する
- メールデータの移行は方法が少なく時間がかかる
- DNSの切り替え方法とその反映時間について把握しておく
- 切り替え後、2〜3週間は旧サーバーを維持する