WordPressのブログをエックスサーバー(XSERVER)からGCP(Google Cloud Platform )へ引越した話

code

こんにちは、ひろき(@hiro_az4511)です。

タイトルの通り、先日本ブログのサーバーをレンタルサーバーである、エックスサーバー(XSERVER)から今流行りのGCP(Google Cloud Platform )へ引っ越ししました。

本記事では、引っ越しのときのあれこれを書きます。

サーバーを引っ越しした理由

やったことある方にはお分かりいただけるかもしれませんが、動いているサイトのサーバーを引っ越しするのって、結構面倒くさいですよね。

私は結構面倒くさがりです。

では、なぜそんな面倒くさがりの私が今回、本ブログのサーバーを引っ越ししたかと言うと、それは私が変態だから…

それには、下記のような理由があります。

サーバーを引っ越した理由
  1. 運営コスト
  2. 技術(GCP)に触れる

1.運営コスト

エックスサーバー(XSERVER)でブログを運営していたときは、月々1,000円程度の固定費用がかかっていました。

残念ながら今の所、本ブログには大したアクセスもないため(泣)、1,000円を払うのもったいないな~なんて思ってました。

また、GCP(Google Cloud Platform )には無料枠があり、12 か月間の無料トライアルで$300 相当のリソースを使えることを知っていました。

「無料で使えるもんあるなら使ってみよー!」という気持ちが湧き出てきたのが1つ目の理由です。

2.技術(GCP)に触れる

この業界でGCPは日々何かと話題になります。

今後(というかもうすでに)、間違いなく主流のクラウドインフラサービスになっていくでしょう。

私はこれまでに、AWSのEC2やRDS、S3、CloudFrontや、FirebaseのCloud FunctionsやHostingを使ったことはありました。

ただ、GCE(Google Compute Engine)のサーバーを立てて、ウェブサイトを構築したことはなかったので、単純に「GCP触れてみたい!」というのが、今回の引っ越しの大きなモチベーションでもありました。

以上の2点が、今回Wordpress のブログをエックスサーバー(XSERVER)からGCPへ引っ越した理由です。

めちゃめちゃ参考にしたサイト

上記のサイトを参考に、サイトの構築を行いました。

具体的にどういったプロセスでサーバー移行を行ったかを書いていきます。

1. 仮のドメイン取得

今回は、参考記事と違い、すでに可動しているウェブサイトを移行しました。

正直初めての移行作業で、「上手く行かなかったらやめよう♪」くらいの気持ちだったので、まず仮のドメイン(無料)をお名前.comで取得して進めました。

2. GCPプロジェクト/GCEインスタンスの立ち上げ

上記記事の手順に従っていって、問題なくプロジェクトの作成からGCEのインスタンスの立ち上げまでできました。

補足として、「GCPの無料枠って実際何が無料になるの?」という部分が気になったので、改めて調べてみました。

GCPの無料枠
  1. 12 か月間 $300 分の無料トライアル
  2. Always Free プログラム

12 か月間 $300 分の無料トライアル

この無料トライアルは、最初の請求先アカウントを設定すると、自動的に開始されます。
私の場合、以前Google Map APIを試しに使うためにアカウントを設定していたので、もう無料期間は始まってました。

Cloud SQLなどのデータベースや、Big Queryのようなサービスが、300ドルまで使えるので、色々試してみるといいと思います。

Always Free プログラム

GCPには、期間が限られたトライアルだけでなく、常に無料になるプログラムも用意されています。

今回のWordpressのサイトで使うCompute Engineにもこの無料枠があり、下記の画像が条件になります。

always freeプログラム

f1-micro のインスタンスも「us-west1」「us-central1」「us-east1」であれば無料枠に含まれるようです。今回私は「us-central1」を選択しました。

f1-micro はGCPが用意している中では最低ラインのスペックですが、現状月間数100PV程しかないこのサイトにおいては今の所あまり問題はなさそうです。

正直、「記事数のボリュームが多い」「アクセス数が多い」等のサイトをお持ちの方には向いてないかもしれないので、このあたりは慎重にお選びください。

3.インスタンスにSSH接続&KUSANAGI Runs on Dockerの構築

毎度おなじみの上記サイトの通りにSSH接続して進めていきます。(笑)

ただ、自分はなんとなくブラウザ上でSSH接続をするのが気持ち悪かったので、ターミナルから行いました。

Google Cloud SDKのインストール

$ curl https://sdk.cloud.google.com | zsh

$ exec -l $SHELL

$ gcloud init

Mac, Linuxの場合は上記コマンドで、gcloud コマンドが使えるようになると思います。

bashを使っている方は、 zsh の部分をbash に変えてください。

gcloud --version と打って下記のように出てくれば問題ないです。

$ gcloud –version
Google Cloud SDK 245.0.0
bq 2.0.43
core 2019.05.03
gsutil 4.38

もしできない場合はgcloud にパスが通っているか確認してみてください。

次に、下記コマンドでGoogleアカウントのログインをします。

$ gcloud auth login

上のコマンドを打つと、ブラウザが開かれ、いつものGoogleログインの画面になりますので、GCPのプロジェクトと同じアカウントでログインしてください。

ブラウザ上に「Google Cloud SDK の認証が完了しました。」というメッセージが表示されればOKです。

最後に、ターミナルから作成したGCEのインスタンスにSSH接続します。

$ gcloud compute ssh wp-blog –zone us-central1-a

ここの「wp-blog」に当たる部分は設定したインスタンス名、「us-central1-a」は設定したゾーンを入力してください。

GCPのコンソールからは、下記の画像の部分から確認できます。

gceインスタンス名

4.バックアップ&データ引っ越し

無事にWordpress のサイトが立ち上がったら、旧サイトの記事データ等を引っ越ししました。

*必ずローカルにバックアップを取って作業を進めることをおすすめします。

私は、データベース移行に「All-in-One WP Migration」というWordpressのプラグインを使用しました。

Mysqlダンプして、、みたいなステップを踏まずとも、めちゃめちゃ簡単にサイトの移行ができました。

ただ私の場合、移行時に設定していたテーマが上手く移行できていませんでした。

そのため、下記の方法を使い、GCEのインスタンスに直接テーマのファイルをアップロードし、mvコマンドでwordpress のthemeディレクトリまで移動させました。

移行で失敗したこと

一部の画像が移行できていない….

WordPressに入っていた一部の画像がメディアから消えている、、、

下の画像のような状態になっていました。

ダッシュボードのスクリーンショット

それらの画像の共通点は、タイトルに日本語が含まれていること。「〇〇月〇〇日〇〇時のスクリーンショット」みたいな感じで。

調べたところ、どうやらアルファベット以外のファイル名のメディアが移行できないのはよくあるようでした。

まあ、なんとかできたんですが、非常にめんどくさかったので、ファイル名はアルファベットでつけましょうw

ブログを始めた頃の自分に戻って教えてあげたい、、、、

まとめ

いかがでしたでしょうか?

個人的には初めてWebサイトのサーバー引っ越しだったので、特にサーバー周りのことなど、学びになることが多かったです。

この記事を書き始めた当初は、もっと技術的な部分を書きたかったのですが、参考にした記事が優秀で、あまり躓いた部分がありませんでした。(笑)

また、今回はめんどくさくて、、、、後回しにしましたが、下の2点は近いうちにやります。

近い内にやること
  1. Cloud CDNでキャッシュさせる
    →せっかくGCPに移行したので、使ってみます
  2. Cloud SQLにDB移行
    →今はGCEのインスタンスのローカルのDBを使用している状態なので、、、

もし、「自分でやるのが面倒だから、ブログのサーバーを移行してほしい!」みたいなご要望があれば、Twitter(@hiro_az4511)にDMください!

それではまた!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です