前回は、Cloud SQL を作成してGAE でWordPress をデプロイを行いました。
[blogcard url=”https://1e100.4watcher365.dev/google-cloud/google-cloud-platform/gae-wordpress-deploy/”]Google App Engine(GAE) でデプロイしたWordPress の言語が英語です。作業がしやすいようにWordPress 言語を日本語へと変更します。また、WordPress用のComposer を使ってWordPress アップグレード/ プラグインのアップデート/ テーマのアップデート 等を行いますが、Composer は外部からデータを取得するので、Google Cloud SQL に直接アップロードすることができません。そのため、Google Cloud SQL Proxy とサービスアカウント を作成します。
GAE の仕様について
GAE はPaaS型です。(厳密には違う)
ミドルウェアはGoogle が管理するため、ユーザーは自由度に制限があります。
その制限の一つにGAE にストレージ機能がありません。
WordPress 管理コンソール上でWordPress システムのアップグレードが表示されていても実行を行うことはできません。プラグインやテーマも同様です。
アップデートを行うにはそのアップデート データをローカル環境に保存してGAE にデプロイする必要があります。
これを一つ一つ/毎回に行うには手間がかかるのでWordPress用のパッケージ管理ツール Composer(wp-cli)を利用します。
Composer は外部からデータを持ってくるため、Cloud SQL のデータベース接続が拒否されます。そのため、Cloud SQL Proxy とサービスアカウントを作成し、それらを利用してアップデートを行えるようにします。
Cloud SQL Admin API を有効
GAE スタンダード環境には、Cloud SQL Proxy を使用して接続する仕組みが用意されていますがComposer には備わっていません。サービスアカウントを使用して接続するため、Cloud SQL Admin API を利用します。
- GCP 管理コンソールの上部バーに「Cloud SQL Admin API」を入力し、「Cloud SQL Admin API」をクリックします。
- 「有効にする」をクリックにします。
Cloud SQL Proxy の接続方法は後ほど説明します。
WordPress を日本語化
GAE でデプロイしたWordPress は言語:英語です。作業がしやすいようにWordPress 言語を日本語化します。
次のコマンドを実行し、HOME 領域に移動し、Composer でWordPress 日本語をインストールします。
cd
vendor/bin/wp core language install ja --activate --path=[WORDPRESS_PATH]
次のコマンドを実行し、WP Multibyte Patch プラグインをインストールして有効化します。
vendor/bin/wp plugin install wp-multibyte-patch --activate --path=[WORDPRESS_PATH]
WordPress 日本語をアップデートする場合は、
次のコマンドを実行して、WordPress 日本語パッケージをアップデートします。
vendor/bin/wp core language update --path=[WORDPRESS_PATH]
WordPress アップグレード/ プラグイン/ テーマの更新
次のコマンドを実行して、HOME 領域に移動し、wp-cli/wp-cli-bundle のcomposerをインストールします。
cd
composer require wp-cli/wp-cli-bundle
GCP 管理コンソールの「API とサービス」から「認証情報」に移動します。
GAE をデプロイすると「App Engine default service account(App Engine サービス管理者)」が付与されたサービス アカウントがあります。
次のコマンドを実行し、そのサービス アカウントのJSON ファイルを作成します。
gcloud iam service-accounts keys create [FILENAME].json --iam-account [YOUR_SERVICEACCOUNT]
JSON ファイルの作成が完了するとCloud Shell のHOME 領域にそのJSON ファイルが格納されています。
次のコマンドを実行し、Cloud SQL Proxy をダウンロードし、MySQL インスタンスへのアクセス権限を変更します。
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
chmod +x cloud_sql_proxy
次のコマンドを実行し、cloud_sql_proxy ファイルを実行してCloud SQL Proxy に接続します。
./cloud_sql_proxy -instances [_PROJECT_ID}:[DB_REGION]:[INSTANCE_NAME]=tcp:3306 &
Composer を利用して各アップデートを行うにはCloud SQL Proxy を実行しまままにする必要があります。
別タブで新しいCloud Shell を開きます。
次のコマンドを実行して、WordPress バージョンをアップデートします。
vendor/bin/wp core update --path=[WORDPRESS_PATH]
次のコマンドを実行して、WordPress プラグインのすべてをアップデートします。
vendor/bin/wp plugin update --all --path=[WORDPRESS_PATH]
次のコマンドを実行してWordPress テーマのすべてをアップデートします。
vendor/bin/wp theme update --all --path=[WORDPRESS_PATH]
Enter キーを押し、Cloud SQL Proxy への接続を解除します。
次のコマンドを実行し、古いバージョンを動かしたままプロモーション(トラフィックの切り替え)なしでアップデートした新しいバージョンをCAEにデプロイします。
cd [WORDPRESS_DIR]
gcloud app deploy -q --promote --stop-previous-version app.yaml cron.yaml
以上でWordPress の日本語化/ プラグインのインストール 等が完了しました。
Composer を使用するにはCloud SQL Proxy を毎回起動しなければなりませんが、一つ一つアップロードするより手間はかかりません。
次は、GAE オートスケール設定するためにapp.yaml を編集します
Leave a Reply
View Comments