ブログを運営しているとサーバーのお引越し(あるいはブログサービスの変更)が少なからず発生するものです。
サーバーやブログサービスを移行するときに、Googleで検索した限り、一般的な手順としては
- 旧サーバー(現サーバ)から移行用データを抜く
- 新サーバー(ブログサービス)を用意しておく
- DNSを旧サーバー→新サーバーに向ける
- 新サーバーで移行作業・設定
- 旧サーバーの解約
となってるようですが、この手順には弱点があります。
- 新サーバーでの設定中はページが不完全でユーザーに良い影響を与えない(修正中のページが閲覧できてしまう)
- 移行が失敗した時、DNSを戻すことになりますがすぐに戻らない(1時間ほどかかる)
- 一発切替を要求されるため、失敗が許されない(失敗したら数時間の停止となる)
- アクセス数が多いブログだと機会損失になってしまう
どうでしょう?
意外とリスクが高いですよね。
移行先が不完全で閲覧してもらうのはいたたまれないですよね?
サーバー移行にリスクはつきものとはいうものの、減らしたいのが本音。
当記事では、ブログのサーバー移行についてリスクが少ない方法を実現するために実践するテクニックを皆様に知ってもらいたいと思います。
答えを最初に言ってしまうと、自分のPCのhosts(ホスツ)ファイルを使うことです。
また、hostsファイルの設定方法だけであれば検索すれば色々出てきますが、概念まで説明しているサイトは多くないので、その部分も補完し、ややエンジニア向けの内容となっています。
hostsファイル編集でブログ移行のメリットが大きい
hostsファイル(説明は後に)編集してのブログ移行作業を実施するとメリットが大きいケースを挙げておきます。
- 自分が所有するドメイン(https://mydomain.com/など)を移行先サーバーで使いたい
- 移行先がWordpressである場合
- 時間に縛られずに移行先をセットアップしたい
- 移行先を100%の状態にしてから切り替えたい(十分に検証を行いたい)
- 現環境(旧)と新環境を並行で稼働させた状態で移行作業したい
時間に縛られずに、移行先を完璧な状態にして切り替えたい、慌てたくないって方にお勧めです。
- はてなブログ→Wordpress(有料サーバー)への移行
- ライブドアブログ→Wordpress(有料サーバー)への移行
- WordPress(旧サーバ)→Wordpress(有料サーバ)への移行
※上記いずれも自分のドメインを持っていることが条件
ブロガーが引越しするパターンとしてはこのぐらいでしょうか(他にもあるけど一般的でないかもなので)。
逆に以下条件の方はhostsファイルを編集しなくても対応可能です。
- 移行先がはてなブログやライブドアブログなどのWordpressを利用しないサービスである
- 移行先で現在使用しているドメインを使わない(新規も含む)
hostsファイルを使うとサーバー接続先を変更出来る
自分の端末(勿論サーバーでもOK)のhostsファイルを使うとサーバーへの接続先が明示的に変更できる(名前解決できる)という機能があります。
hostsファイルはフォーマットは異なれど、Windows・Mac共に共通の概念です。
たとえば、「https://hogehoge.com」(例:ライブドアブログ)に接続するとしましょう。
ブラウザでURLを入力し接続すると、インターネット上のDNSで「hogehoge.com」はXXX.YYY.ZZZ.AAA(グローバルIPアドレス)と関連付けられていて、アドレス変換後に接続先(上記図ではライブドアブログ)へアクセスする動きとなります。
では、この図ではどうでしょう?
新規サーバー(Wordpressサーバー)を追加しましたが、URLを普通に入力した場合は何もしなければ旧サーバー(ライブドアブログ)へ接続されてしまいます。
そう、DNSの設定でライブドアブログにアドレスが関連付けられているからです。
今回の本題。
DNSの設定はそのまま(ライブドアブログのまま)ですが、自分の端末のHOSTSファイルを変更することにより名前解決(名前からアドレス変換)して、新規サーバー(エックスサーバー)に接続できるようになります。
hostsを変更した人だけが新サーバーに接続できるので、構築中であれば自分以外にhostsを変更する人はいないので他人がアクセスすることは出来ません。(悪用された場合はこの限りでないが。)
また、hosts変更してる最中はURLで旧サーバー(現運用サーバー)にはURLでの接続できなくなることも注意が必要です。(IPアドレスでの接続はOKだが、サーバー側で許可してないパターンが大半です。)
URLで旧サーバーにアクセスしたければ都度hostsファイルを変更(削除)が必要となります。
hostsファイル変更を上手く利用すれば、旧サーバーを運用しながら新サーバーの構築を並行して出来るため、構築を完全な状態にしてから切り替えられるなどメリットも大きいのでおススメです。
hostsファイル変更方法(Windows)
では、hostsファイル変更方法を箇条書きでご案内。
詳細については別ページで画面入りで説明しているので合わせてご覧になると幸いです。
最初は設定方法に戸惑うかもしれませんが、慣れれば簡単です。
ましてやエンジニアであれば触る機会もあるでしょうし、覚えておいて損はありません。
- メモ帳を管理者モードで開く
- メモ帳からhostsファイル(C:\Windows\System32\drivers\etc\hosts)を開く
- hostsファイル内を編集(行を追加、もしくは削除)
- 編集後保存
hostsファイルにアドレスを追加する場合は以下を入力します。(削除する場合は該当行を削除する。)
111.22.XXX.YY hogehoge.com
111.22.XXX.YY→サーバーのグローバルIPアドレス
hogehoge.com→自分のドメイン(https://やhttpは不要です)
スペース部分は「タブTAB」となります。スペースでないので注意。
慣れれば数分で出来ます。
詳しい操作方法は以下の記事をご覧ください。
関連記事:Windowsでのメモ帳を使ったhostsファイル編集方法
hostsファイル変更方法(Mac)
Macでのhostsファイル変更方法は2種類あります。
- GUIで操作する
- CUI(ターミナル)で操作する
GUIでのhostsファイル変更方法
こちらの方法は下の方で説明しているviエディタを使わずにGUIで操作出来ますので、パソコンに詳しくない方でも出来る方法です。
- 「/private/etc」フォルダを開く(Finder→移動→フォルダへ移動 の後にパスを指定してEnterキーを押す)
- フォルダ内にある「hosts」ファイルをデスクトップにコピーします
- デスクトップ上のhostsファイルをテキストエディタ.appで開く
- hostsファイル内を編集(行を追加、もしくは削除)
- 編集後保存
- 保存したhostsファイルを/private/etc に上書きコピーする
hostsファイルにアドレスを追加する場合は以下を入力します。(削除する場合は該当行を削除する。)
123.241.XXX.YYY hogehoge.com
111.22.XXX.YY→サーバーのグローバルIPアドレス
hogehoge.com→自分のドメイン(https://やhttpは不要です)
スペース部分は「半角スペース」となります。タブ(TAB)でないので注意。
何故コピーするかというと、/private/etcディレクトリに置いてあるファイルは普通に開くと上書き保存できる権限がないからです。
このため、書き込み権限がある場所にファイルコピーし編集した後にhostsファイル丸ごと上書きします。
操作の詳細が知りたい場合は以下記事を参考にしてください。
CUI(ターミナル)でのhostsファイル変更方法
- ターミナルを開きます。(アプリケーション→ユーティリティ→ターミナルの順にクリック)
- sudoモードを使いhostsファイルをviエディタで開きます。
- パスワードを聞かれるので、自分のPCのログインパスワードを入力します。
- hostsファイル内を編集(行を追加、もしくは削除)
- 保存して閉じる(保存もコマンドで行います)
ターミナルを使い、VIエディタでhostファイルを開くコマンドは以下です。
sudo vi /private/etc/hosts
コマンドの意味は別記事にて解説しておりますので、ここでは省略。
Password:
Enter後パスワード聞かれますので、自分のMacにログインする際のパスワード(管理者権限)を入力しEnterを押してください。
アドレスを追加するコマンドは以下です。
123.241.XXX.YYY hogehoge.com
111.22.XXX.YY→サーバーのグローバルIPアドレス
hogehoge.com→自分のドメイン(https://やhttpは不要です)
スペース部分は「半角スペース」となります。タブ(TAB)でないので注意。
1行を削除する場合は、削除したい行にカーソルを持ってきて
dd
と打ち込むと削除出来ます。
変更後保存するコマンドは以下です。
:wq
詳細の操作を知りたい場合は以下を参照にしてください。
関連記事:Macでのhostsファイル編集方法(GUI・コマンド両方で出来ます。)
hostsファイル変更後、アクセスして確認する
変更後、ブラウザでURLを入力して新サーバーに接続できることを確認して下さい。(何処か1つのページに新サーバーを示す文字列を入れておくと良いかもしれません。)
もし、変わってなかった場合はもう一度hostsファイルを確認・編集してみて下さい。
移行先のサーバー(Wordpress)に接続したい場合はhostsファイルに行を追加
移行先のWordpressに接続したい場合は上記の方法を使ってhostsファイルにアドレスを1行追加し接続します。
この状態でも、旧サーバー(現行サーバー)でブログは動いており、他人は通常のURLで閲覧が可能になっています。
但し自分はURLを入力してもhostsファイルの設定により、新サーバーに接続しているのでご注意下さい。
現行サーバーに接続したい場合はhostsファイルの1行を削除
hostsに追加した情報が残っていると、いつまで経っても新サーバーに接続してしまいます。
自分の端末から現行サーバーに接続したい場合は上記方法で追加した1行を削除して下さい。
hostsファイルを利用したWordpressへの移行プラン
冒頭で説明した一般的なWordpressへの移行方法をもう一度ご覧ください。
- 旧サーバー(現サーバ)から移行用データを抜く
- 新サーバー(ブログサービス)を用意しておく
- DNSを旧サーバー→新サーバーに向ける
- 新サーバーで移行作業・設定
- 旧サーバーの解約
でしたが、DNSを切り替えると新環境にしか接続できなくなり、切替直後に新環境で設定等を行うことになってしまいます。
このため、設定中のブログに読者がアクセスすることになり、離脱率が上がるのは間違いないのでブログ運用におけるリスク(機会損失など)が高まってしまいます。
では、今まで説明したhostsファイルを利用したWordpressへの移行プランはこうなります。
理想的なWordpress移行プラン(最終形)
- 旧サーバー(現サーバ)から移行用データを抜く
- 新サーバー(ブログサービス)を用意しておく
- (hostsファイルに1行追加して)新サーバーで移行作業・設定
- (hostファイルから1行削除して)旧サーバー(現サーバ)に接続してメンテナンスが出来る
- (3・4を交互に繰り返し、新サーバーの設定が完璧になったら)DNSを新サーバーに向ける
- 切替完了後は旧サーバーの解約
どうでしょう?
変わったところはhostsファイルの操作と、DNS切替タイミングぐらいです。
3と4を繰り返しながら運用することで
- 現サーバー・新サーバの並行稼働が可能
- 新環境を自分のペースでゆっくりと整備出来る
- DNS切替直後のプレッシャーは殆どない(新環境が仕上がってることが前提ですが)
と、新環境を完璧な状態になるまで移行せずに済み、DNS切替後は完璧なサイトが表示されるメリットがあります。
デメリットは殆どないと考えますが、敢えていうならば並行稼働中は新環境を用意する必要があるのでお金が余分(1か月1000円~)にかかることぐらいです。
新環境の構築は意外と作業項目が多くて時間がかかるので、DNS切替後一発勝負だと本当に精神が消耗することになってしまいます・・・。
まとめ
これからブログのお引越しを考えてる方は、是非このプランでやってみてはいかがでしょうか。
この方法は安全で確実性が高まりますので筆者は激しくおススメ致します。