さくらVPS + ムームードメインなWordPressをGoogle App Engine + Flexible Environmentに移行する


このブログ、あまりアクセスない(月間1000PVくらい)だし、
google cloudの永遠無料枠でまかなえそうなので、試してみることにしました。

現在の環境

  • CentOS@さくらVPS
  • ムームードメイン
  • wordpress + Mysql

1. Google App Engineとは

Docker containerのホスティングサービスです。GKEと違い、中身だけ作ってデプロイすればok、インフラの設定いらず。
トラフィックが増えたら勝手にスケーリングしてくれるので、マネジメント手間が少なく大変良いらしいです。
DeNAとかmixiとかも使ってますし、これは使いたいところ。

2. セットアップ

wordpressまでのセットアップは基本的に本家チュートリアルに従えばokですが、いろいろ注意点もあります。
ちなみにベータ版で後方互換ないですよ〜と言ってますが、betaはそこまで大規模な変更しないと期待しましょう。

注意点

1. PHP5.5以上じゃないとサンプルコードが動かない

これは文字通り。

2. チュートリアル通りにやっても動かない箇所

us-centralに立てるよりasia-northeastに立てたいなと思ってregionを変更したんですが、
php wordpress-helper.php setup
でregionを指定しても反映されない箇所があるので、app.yamlを適宜編集。

3. 安くするために設定を変える

悲しいことにアクセスが少ないので、1台のVMでも十分さばけそうです。
本家サイト の設定を参考に、基本1台、最大2台にしましょう。無料枠は28hなので、2台になってる時間が4時間以上発生すると課金されます。

automatic_scaling:
  min_num_instances: 1
  max_num_instances: 2
  cool_down_period_sec: 120 # default value
  cpu_utilization:
    target_utilization: 0.8

CPU使用率が80%超えたらVMを追加、にします。

4. 複数アプリを展開するためにサブドメインを使う

phpmyadminなど、他にも同居させたい場合にはサブドメインを区切りましょう。ドキュメントがわかりにくいですが、 本家サイトを読んで

service: wordpress

と追記すれば、 https://wordpress-dot-[your project id].appspot.com という形で複数アプリをGAEに展開できます。

5. WordPressにプラグインが追加できない

いつものようにUIからポチポチすると、まずFTPを設定してね!と言われます。
WordPressでプラグイン導入時にFTPアカウント聞かれた時とプラグインインストールに失敗したときの対処法
などを参考にして設定、再度 gcloud app deploy しますが 「ディレクトリが作成できませんでした」らしい。
通常のサーバーであれば wp-contents/以下を 0707とかwritableにする権限変更でいいんですが、いかんせんGAEなので対応できないです。
そこで、プラグインは予めダウンロード&解凍して、 wp-contents/plugins/に配置してから gcloud app deploy しましょう。
GUIで状態を変えずに管理。

6. イメージをアップロードするために

このためにはGoogle Cloud Storageを使います。
すでにプラグインがインストール済みなので、wordpress内でactivateして、バケットを作成し、プラグインの設定で作成済のバケットを指定しましょう。
GCSの無料枠は [project名].appspot.com のバケット内でしか有効ではないみたいなので、このデフォルトバケットを使います。

7. 独自ドメインを使う

ここちょっと詰まりました。
まず 「Google App Engine > 設定 > カスタムドメイン > カスタムドメインを追加」で、追加したいドメインを入力して「確認」をクリック

すると英語ページになります。左上のプルダウンから other を選ぶと

こんな感じの表示が出るので、ここのテキストをコピー。

次にムームードメインに行きます。
コントロールパネル > ドメイン管理 > ムームーDNSのセットアップ情報変更
にて、TXTレコードを追加して、「内容」の欄にコピーしたテキストを貼り付けて設定します。

さっきのページに戻って「verify」すると、 [randomっぽい文字列].[ドメイン][長い文字列].dv.googlehosted.com が表示され、あなたのドメインのCNAMEにこれを登録してね!と言われます。
サブドメイン部分に(randomっぽい文字列)をコピペして、ムームーのコントロールパネルでCNAMEを追加、「内容」に [長い文字列].dv.googlehosted.com をペースト。
もう一度さっきのページで「完了」を押す。
するとGAEの管理画面に戻るので、ドメインを使ってGAEのアプリに紐付けます。サブドメインも使えます。
設定するとこんな画面

になるので、最後にもう一度ムームードメインの画面で、一番下のやつをCNAMEで追加します。
参考:
GAE アプリケーションにカスタム(独自)ドメインを設定する方法 〜2015・夏〜 #gcpja #gcpug
Google AppEngine – Custom Domain + SSLが簡単になった

完了!

http://gae.techeten.xyz/
はい、完成しました。
しかしなぜまだ移行していないのかと言われますと、DBの移行に手間取ってます…
とりあえず次回。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする