rakumoコンサルティング部 Tech Blog

GCPの構築ノウハウをそろりと公開 コンサル部によるテックブログ

構築済のWordPressをGoogle App Engineに移行する(4)

rakumoコンサルティング部の小山(@koyhoge)です。

既存のWordPressGCPに移行する解説記事の4回目(最終回)です。

前回で Google App Engine (GAE) 上に WordPress をデプロイできましたので、今回はその設定と既存データのインポートを行っていきます。

WordPress のインストール

前回は WordPress のインストール画面で終わっていたと思いますので、インストール作業を続けましょう。ここでいう「インストール」の意味は、ファイルの配置ではなくデータベースに対する各種テーブルの初期化になります。

サイトのタイトルやユーザ名などを入力するのは、通常の WordPress のインストールと同様です。

WordPressインストール画面

ページ下部の「WordPress をインストール」ボタンを押すと、インストール作業が完了しログイン画面になります。先ほど入力したユーザ名/パスワードでログインします。

WordPressログイン

プラグインの有効化

DB がまだ初期状態なので、WPonGAE をはじめとする各種プラグインはまだ有効になっていません。管理画面のプラグインページからそれらを有効化します。

まず WordPress の管理画面から「プラグイン」を選びます。

プラグインメニュー

以前の環境でインストールされていたプラグインが無効の状態でリストアップされていますので、すべて有効にします。今回「Batcache Manager」と「Google App Engine for WordPress」という2つのプラグインが新たに追加されているので、これも忘れずに有効化しておきます。

プラグインページ

データのインポート

いよいよ第1回でエクスポートしたバックアップデータを、新しく設置した WordPress にインポートします。

Google Cloud Storage にデータを置く

GAEプラグインでは、インポートデータを Google Cloud Storage (GCS) から読み込むようになっているので、まずは GCS にファイルをアップロードします。

GCP コンソールの左側メニューから「Storage」を選びます。

Storageメニュー

プロジェクトが管理している GCS バケットがリストで表示されます。その中に xxx.appspot.com という GAE プラグインが自動で作成したバケットがあるはずなので、そこをクリックします。

GCSバケットリスト

バケットブラウザが表示されるので、上部の「ファイルをアップロード」ボタンを押します。

バケットブラウザ

ファイル選択ダイアログが表示されるので、第1回でエクスポートしたXMLファイルを選択し、GCSにアップロードします。

アップロードの完了

インポートの実行

準備は整ったのでインポート作業を行いましょう。WordPress 管理画面の「ツール」から「インポート」を選びます。

インポートメニュー

Import WordPress という画面が表示されます。下部にXMLファイルの場所を入力するフォームがありますので、そこにさきほど GCS にアップロードしたファイル名を入力します。

インポート画面

GCS のデフォルトのバケット名まではすでに入っているので、それに追加する形でファイル名を入れます。

例)

gs://wp-on-gae-187408.appspot.com/

gs://wp-on-gae-187408.appspot.com/wordpresssample.wordpress.2017-11-20.xml

ファイル名を入力したら「Import from specified file」ボタンを押します。

すると既存の WordPress アカウントの移行をどうするかという確認画面が表示されます。デフォルトではアカウント情報もそのままインポートしてくれますので、そのままでかまわないでしょう。

アカウントの移行設定

下部に「Import Attachments」というセクションがあります。これは既存の WordPress にアップロードしているメディアファイルもインポートするかという設定になります。チェックを入れると、既存の WordPress からメディアファイルを GCS 上にコピーして、記事中のリンクをそちらに入れ替えてくれます。

Import Attachments

最後に「Submit」ボタンを押します。作業が進むと無事にインポートが終了し、記事が入った WordPress を確認できると思います。

DNS の切り替え

既存コンテンツの移行漏れがないか十分に確認を行った後、公開サイトを既存のものから GAE に切り替えます。 GAE でカスタムドメインを使用するには、まずそのドメインGCP に登録の後、GAE の管理画面で設定を行います。

ここではデプロイしたGAEインスタンスに「wpsample.hoge.org」を割り当てる作業を行ってみます。

まず GAE のメニューから「設定」→「カスタムドメイン」を選択し、

GAEのカスタムドメイン設定

「使用するドメイン」に、登録されているドメインが表示されていることを確認して下さい。まだドメインが登録されていない場合は、表示されるガイドに従ってTXTレコードを追加して、ドメインを登録する手順になりますが、ここでは省略します。

使用するドメインの選択

「続行」ボタンを押すと、「hoge.org」と「www.hoge.org」の2つの候補が表れます。今回はこれらには割り当てないので、右端の「☓」を押して削除します。

ホスト名の選択

割り当てたいホスト名「wpsample.hoge.org」を入力して、「マッピングを保存」ボタンを押します。

マッピングの追加

確認画面に変わるので「続行」ボタンを押します。

マッピングの確認

次のフェーズに移り、DNSに登録する内容が表示されます。いくつも表示されていますが、基本的には一番下の CNAME だけ設定すれば良いです。(DNS情報を登録するWeb管理画面によっては、A/AAAAとCNAMEは共存できないものもあります)

DNSの設定

そこで以下の内容に相当する DNS レコードを登録します。これはDNSの管理をどのように行っているかによって違うので省略します。

wpsample.hoge.org IN CNAME ghs.googlehosted.com.

しばらくすると CNAME 設定を GCP 側が認識して、GAEのカスタムドメインとして表示されます。

カスタムドメイン登録完了

GAE の注意点

WordPress 本体やプラグインの更新について

WordPress 本体、テーマやプラグインはけっこう頻繁に更新が行われます。WordPress の管理画面を見ると更新通知が目立つところに表示されので、どうしても更新しなきゃという圧が強まりますね。

ところが GAE ではデプロイした環境に対してファイルの追加や変更はできないので、WordPress 管理画面からの本体やプラグインのバージョンアップは行ってはいけません。というかできません。

ではどうするかというと、第3回で用意した GAE のデプロイ元のファイルを変更して、再度デプロイという流れになります。デプロイ元の WordPress を動作可能にしておいて、そちらの管理画面から本体、テーマ、プラグインの更新を行い、更新が完了したファイルツリーに対して再び

$ glcoud app deploy

を行えば良いわけです。

まとめ

4回にわたって、既存の WordPress を GAE に移行する作業を詳しく解説しました。GAE に環境を移行することには以下のメリットがあります。

VPS仮想マシン1台で運用している場合には、どちらが運用効率が良いかは判断が難しいところですが、アクセスの規模が大きかったり複数台で運用している場合ほど、GAE のメリットが大きくなってくると思います。