ダウンタイムなしでサイトを新しいサーバーへ移転する方法。バックアップ、ファイルとデータベースのコピー、hostsファイルでのテスト、DNS TTLの短縮、切り替え、メールの維持、旧プランの解約まで解説します。
旧サーバーで訪問者への配信を続けながらサイトを新サーバーにコピーし、パソコンのhostsファイルを使ってコピーを確認し、数日前にDNSのTTLを短くしておきます。そのうえでドメインのレコードを新サーバーに向け、メールも移す場合を除いてメール(MX)レコードには触れず、旧サーバーへのトラフィックが止まってから旧プランを解約します。
移転の5つの段階
サーバー移転中のダウンタイムは、ほとんどの場合、作業の順番を間違えることが原因です。先に旧プランを解約してしまう、新しいコピーが動く前にDNSを切り替える、メールが同じDNSゾーンにあることを忘れる、といったものです。このガイドでは新しいサイトの動作が確認できるまで旧サイトを動かし続けます。下のチェックリストで、各手順を進めながらチェックを付けられます。
小規模なサイトなら、コピー作業は通常1〜2時間で終わります。長くかかるのは待ち時間のほうです。切り替える前に短くしたTTLが行き渡るまで待ち、その後は旧サーバーへのトラフィックが止まるまで旧サーバーを動かし続けます。Googleのサイト移転ガイドでは、これを停止してよい合図として扱っています。
URLが変わらず、移転中もサイトが動き続けていれば、URLを変更しない移転に関するGoogleのガイドではインフラの変更として扱われます。移転後はSearch Consoleを確認し、URL検査ツールでGooglebotが新サーバーにアクセスできることを確かめましょう。
Cloudflareのドキュメントでは、TTLをDNSレコードの項目の1つで、各レコードをどれくらいの時間キャッシュするかを制御するものと定義しています。TTLが短いほどリゾルバーが早く変更を確認するため、切り替えがより早く訪問者に届きます。
MXレコードがメールプロバイダーを指したままであれば問題ありません。MXレコードは、メールをメールサーバーに配送するためのものです。ホスティングの移転で変わるのは A または CNAME レコードです。メールも移す場合を除き、MXと関連するTXTレコードはそのままにしておきましょう。
多くのサーバーはLet's Encryptを使っています。そのHTTP-01チェックはサーバー上にファイルを置く方式で、80番ポートで行う必要があるため、ドメインが新サーバーを指してからでないと成功しません。DNS-01チェックはTXTレコードを使う方式で、サーバーが対応していれば切り替え前に行えます。
例の名前、IPアドレス、パスは自分のものに置き換えてください。データベースのコマンドは、MySQLクライアントがインストールされたサーバーやパソコンで実行します。
203.0.113.10 は新サーバーのIPアドレスの代わりです。ドメイン単体とwww付きの両方を追加します。
mysqldump はデータベースをSQL文として書き出し、mysql クライアントがそれを新しい空のデータベースに再実行します。
切り替えの前後に実行します。2つ目のコマンドで、メールのレコードが変わっていないことを確認します。
サーバー移転で扱うDNSレコード
{t} 件中 {n} 件完了
チェックをクリア
1. 準備
2. コピー
3. テスト
4. 切り替え
5. 完了
旧サーバーからファイルとデータベースの完全バックアップをダウンロードする
すべてのDNSレコード(A、CNAME、MX、TXT)を書き留める
変更するレコードのTTLを短くする
旧サイトでのコンテンツ変更と注文を一時停止する
サイトのファイルを新サーバーにアップロードする
新サーバーにデータベースを作成し、エクスポートしたデータをインポートする
サイトのデータベース設定を新サーバー用に更新する
ドメインを新しいIPに向けるhostsファイルの行を追加する
新しいコピーで主要なページ、フォーム、ログイン、決済をテストする
hostsファイルの行を削除する
A または CNAME レコードを新サーバーに変更する
MXとメール用TXTレコードが変わっていないことを確認する
新サーバーのHTTPS証明書を確認する
旧サーバーのトラフィックがゼロになるのを見届ける
Search ConsoleとURL検査を確認する
旧ホスティングプランを解約する
TTLヘルパー
現在のTTL
{s} 秒({h})
TTLを短くしたら、古い値を保持しているキャッシュが期限切れになるよう、切り替えまで少なくとも {h} 待ちましょう。
{v} 分
チェックはこのブラウザーにのみ保存されます。
無料で始める · クレジットカード不要