サーバー移行でサイトを止めない手順|TTLとSSLを先に片づける

サーバー移行でサイトが止まる時間は、作業の速さではなくDNSの設定で決まります。切り替え当日にTTLを下げても手遅れで、旧サーバーが表示され続けます。この記事では、ダウンタイムを実質ゼロに近づける順番と、SSLやメールで詰まりやすい箇所を、実務の流れに沿って整理します。

a rack of electronic equipment in a dark room
Photo by Tyler on Unsplash
目次

止まる時間を決めるのはDNSのキャッシュ

最初に原理を押さえます。ここを理解していないと、何度やっても同じ失敗をします。

TTLはキャッシュしてよい秒数

TTLは、DNSの情報をどれだけの時間キャッシュに保持してよいかを示す秒数です。3600なら最大1時間、86400なら最大24時間、受け取った側が古い情報を持ち続けます。

つまりサーバーを切り替えても、キャッシュが切れるまでは旧サーバーを見に行きます。これが「切り替えたのに反映されない」の正体です。

TTLの短縮は前倒しでないと効かない

ここが最大の落とし穴です。TTLを短くしても、その効果が出るのは今キャッシュされている古いTTLが切れてからです。

TTLが86400のまま当日に300へ下げても、すでにキャッシュを持っている相手は最大24時間そのままです。切り替えの、旧TTL相当の時間より前に下げておく必要があります。

現在のTTL短縮を始める時期切替直前の目標値
86400(24時間)切替の25時間以上前300(5分)
3600(1時間)切替の2時間以上前300(5分)
不明前日までに確認して短縮300(5分)

移行日が決まった時点で、まずTTLの現在値を確認してください。作業の中で最も早く着手すべき項目です。

ネームサーバー変更とAレコード変更のどちらを使うか

切り替えの方法は2つあり、制御しやすさが違います。

ネームサーバー変更Aレコード変更
やることDNSの管理そのものを移す今のDNSで向き先だけ変える
反映時間数時間〜最大24時間程度設定したTTLに従う
TTLでの制御効きにくい効く
メールへの影響MXも一緒に移るため要注意MXは触らなければそのまま

切り替え時間を読みたい場合や、メールが同じドメインで動いている場合は、ネームサーバーを変えずにAレコードだけ差し替えるほうが安全です。影響範囲を狭められます。

逆に、移行先の管理画面でDNSをまとめて管理したい場合はネームサーバー変更を選びます。ただし反映時間は自分で制御できません。

SSLは切り替える前に取っておく

見落とすと、切り替えた瞬間に全ページが警告表示になります。

なぜ後回しにすると危険なのか

無料SSLの証明書は、そのドメインが自分の管理下にあることを確認してから発行されます。切り替え後に申請すると、証明書が用意できるまでの間、証明書エラーの状態が続きます。

事前に取得する方法がある

エックスサーバーでは、ネームサーバーを切り替える前に無料SSLを設定できます。移転元でのWeb認証、またはDNS認証を使います。

このとき、設定画面で「エックスサーバーのネームサーバーへ変更」を選ばないでください。選ぶと切り替えが先に走り、一時的に表示が不安定になります。

証明書は持ち出せない

エックスサーバーの無料独自SSLは、他社サーバーへの持ち出しも、他社からの持ち込みもできません。移行先でもう一度取得する前提で計画してください。有効期間は90日で自動更新されます。

a golden padlock sitting on top of a keyboard
Photo by Towfiqu barbhuiya on Unsplash

メールが同じドメインにある場合

サイトだけ見て切り替えると、メールが止まります。ここは案件で最も事故が起きる部分です。

過去のメールは引き継げない

サーバーを移しても、これまで受信したメールのデータは移りません。新しいサーバーにアカウントを作り直すことになります。

移行中は新旧の両方で受信する

切り替えの前後は、どちらのサーバーに届くか読めません。メールソフトに新旧両方のアカウントを登録し、どちらでも受信できる状態にしておきます。これが取りこぼしを防ぐ唯一の方法です。

切り替えから1週間ほど経ち、新サーバーだけに届くようになったのを確認してから、旧アカウントを外してください。

外部のメールサービスを使っている場合

Google Workspaceなど外部のメールを使っているなら、サーバー側にそのドメインのメールアカウントを残さないでください。残っているとサーバー内で配送が完結してしまい、外部のメールサーバーに届きません。

メールアカウント、メーリングリスト、メールマガジンをすべて削除する必要があります。弊社でもこの設定漏れで、問い合わせメールが数か月間サーバー内に溜まっていた事例を見ています。

ダウンタイムを最小にする作業順

ここまでを踏まえた実際の順番です。上から順に実行してください。

ステップ1:現状を確認する

ドメインをどこで管理しているか、DNSをどこで設定しているか、現在のTTLはいくつかを調べます。メールの有無もここで確認します。

ステップ2:TTLを下げる

切り替え日の、旧TTL相当の時間より前に短縮します。前日ではなく、数日前に着手するのが安全です。

ステップ3:新サーバーにドメインを設定する

移行先でドメインを追加します。この操作だけではDNSは切り替わらないので、公開中のサイトに影響はありません。

ステップ4:データを移す

ファイルとデータベースを移送します。エックスサーバーには自動で移す機能がありますが、使えない条件があります。後述します。

ステップ5:SSLを取得する

切り替え前に済ませます。ネームサーバーの変更は選ばないでください。

ステップ6:hostsファイルで動作を確認する

自分のパソコンのhostsファイルに、本番ドメインと新サーバーのIPアドレスを書きます。これで自分だけが新サーバーを見る状態になり、本番と同じURLで確認できます。

WordPressは動作確認用のURLでは正しく動きません。URLがデータベースに保存されているためです。hostsを使う方法が確実で、公式もこれを案内しています。

ステップ7:更新を止めて最終同期する

切り替え直前に、投稿や問い合わせの受付を止めます。止めた状態でデータをもう一度移せば、差分が発生しません。

止められない場合は、切り替え後に旧サーバーへ届いた分を手作業で反映することになります。データベースを丸ごと上書きすると、新サーバー側の更新が消えるので注意してください。

ステップ8:切り替えて、旧サーバーは残す

Aレコードまたはネームサーバーを変更します。旧サーバーは最低でも1週間から2週間は解約せずに残してください。問題が起きたときの戻し先になります。

TTLを元に戻すのは、表示が安定してからです。直後に長い値へ戻すと、問題が見つかったときに切り戻せなくなります。

person using macbook pro on brown wooden table
Photo by Justin Morgan on Unsplash

自動移行機能が使えない条件

エックスサーバーのWordPress簡単移行は便利ですが、使えないケースがあります。事前に確認してください。

条件内容
対応バージョンWordPress 4.2以上、PHP 7.2以上
使えない構成マルチサイト、データベース2GB超
使えない移行元WordPress.com
使えない環境圧縮関連のコマンドとモジュールがどちらも使えない場合

移行されないものがある

移行元の.htaccess、バックアップ系プラグインが作ったデータ、wp-content以外の場所に置いたファイルは移りません。WordPress本体の構造を改変している場合も対象外です。

.htaccessが移らない点は特に重要です。リダイレクトやBasic認証を設定していた場合、移行後に消えています。

実行前に確認すること

移行元でログイン試行回数の制限が有効だと、複数回の実行でエラーになります。実行前に一時的に無効にするか、失敗したら30分以上あけてください。Basic認証がかかっている場合も外す必要があります。

また、ネームサーバーの変更は移行が完了してから行ってください。先に変えるとエラーの原因になります。

失敗しやすい5箇所

症状原因
切替後も旧サイトが表示されるTTLを当日に下げた。古いキャッシュが残っている
メールが届かないサーバー側にメールアカウントが残り、外部に出ていない
全ページで証明書エラーSSLを切替後に取得しようとした
記事ページが404になる.htaccessが移行されていない。パーマリンクの再保存で直る
数日分の更新が消えた並行稼働中の差分を同期せずデータベースを上書きした

404については、WordPressの管理画面でパーマリンク設定を開き、変更せずに保存するだけで.htaccessが再生成されます。まずこれを試してください。

よくある質問(FAQ)

サイトが止まる時間はどれくらいですか?

事前にTTLを下げ、新サーバーで動作確認まで済ませておけば、実質ゼロに近づけられます。切り替えの瞬間に見に行く先が変わるだけだからです。準備を省くと、最大で24時間ほど旧サーバーが表示され続けます。

ネームサーバーとAレコードのどちらを変えるべきですか?

切り替え時間を読みたい場合や、メールが同じドメインで動いている場合はAレコードです。TTLで制御でき、影響範囲を狭められます。移行先でDNSをまとめて管理したいならネームサーバー変更を選びます。

TTLは切り替え後に戻すべきですか?

戻しますが、すぐには戻しません。表示が安定し、問題がないと確認できてからにしてください。直後に長い値へ戻すと、切り戻しが必要になったときに時間がかかります。

移行作業中にブログを更新してしまいました

切り替え前なら、データをもう一度移し直せば解決します。切り替え後に気づいた場合は、旧サーバーの管理画面から該当の記事を確認し、新サーバーへ手作業で反映してください。データベースを丸ごと戻すと、新サーバー側の更新が消えます。

旧サーバーはいつ解約していいですか?

最低でも1週間から2週間は残してください。メールの取りこぼしや、移行できていないファイルが見つかることがあります。契約更新のタイミングが迫っているだけで急いで解約するのは避けてください。

自分で移行できますか、依頼すべきですか?

サイトだけで、メールを使っておらず、WordPressが標準構成なら自分でも進められます。メールが同居している、独自の改変がある、止められない業務が乗っているといった場合は、切り戻しの計画も含めて依頼を検討してください。

まとめ|準備の順番がすべて

サーバー移行で止まる時間は、作業の速さではなく準備の順番で決まります。TTLを数日前に下げ、SSLを切り替え前に取り、hostsで動作確認を済ませておく。この3つを終えてから切り替えれば、利用者から見て止まる時間はほぼありません。

逆に当日にまとめてやろうとすると、キャッシュと証明書で必ず詰まります。移行日が決まったら、まずTTLの現在値を調べるところから始めてください。

参考にした一次情報

最新情報をチェックしよう!

LET’S CONTACT

お問い合わせ

デザインと発信の力で、お客様の強みや想いを形にし、
成果につながるコンテンツを制作します。
「うちの場合はどうなる?」という段階からでも、どうぞお気軽にご相談ください。