去年の夏にプレビュー公開されたAzure App Service WebApps内で利用できる「MySQL in-app」がGAされたと告知がありましたー!( General availability: MySQL in-app feature )
まだ管理ポータル画面では「MySQL In App (プレビュー)」ってなってますけども…。
今回は、WordPressサイトのバックアップとスワップ(本番環境とDEMO環境をワンタッチで入れ替え)を試してみましたなメモ。
WordPress + MySQL in-appの構築方法
一番簡単なのはMarketPlaceを利用すること。
手順は以前記事にしてますー。
https://zuvuyalink.net/nrjlog/archives/3131
ちなみに、 MySQL in-appってどこにあるんだろう?と思ってkuduで見てみると、dataの中にありました。
というわけで、AzureのバックアップでWordPressなど他のファイルと共にバックアップできるので活用していきましょう。
WordPress + MySQL in-appで「バックアップの復元」を試してみた
今回はAzureのバックアップ機能のみを使うので、WordPressのバックアップ系プラグインは一切入れていません。
まずは「バックアップ」をクリックして、バックアップの設定(ストレージとスケジュール)を完了しておきます。
WordPress側にテスト投稿として画像を含む3件の投稿をしてみます。
投稿が完了したら、Azureのバックアップで「今すぐバックアップ」を実行。
バックアップを取ります。
バックアップが取れたのが確認できたら、WordPress側で投稿内容を全て削除してみます。
この状態で、Azureのバックアップ「バックアップの復元」をクリック。
この画面が表示されるので「復元するバックアップの選択」の日付や時間が間違ってないかを確認したら「OK」をクリック。
これでしばらく待てば、記事を削除する前の状態に戻せます。
万が一WordPressのバックアッププラグインを入れ忘れた!だったり、ファイルを上げ間違って真っ白になった…という絶望的な状況になったとしても、Azure側のバックアップを使っていればワンタッチでサイト復旧できるので安心かなと。
WordPressサイトのスワップを試してみた
本番環境(プロダクション)とDEMO環境(ステージング)をワンタッチで入れ替えることができるスワップも「WordPress + MySQL in-app」であればサクッとできす。
「デプロイメントスロット」から「スロットの追加」を選択。新規スロットを作成します。
今回は「staging2」というスロット名にしました。
新規スロットが作成できたら、スワップをクリックして本番環境(プロダクション)内のデータを移動させます。
本番環境(プロダクション)内が空っぽになるので、Azureのバックアップ「バックアップの復元」使ってデータを復元しておきます。
ステージングのWordPressサイトには別のテーマをあてて、投稿内容も変えています。
本番環境(プロダクション)はこのような感じ。
概要部分の上部にある「スワップ」をクリック。
このような画面になるので問題なければOKボタンをクリック。(複数スロットを作成した場合は注意)
「変更のプレビュー」は、たとえばプロダクションとステージングのアプリ設定(PHPのバージョンが違うとか)の場合に警告を出してくれます。
新規スロットを作成するときに「構成のソース」でスワップ予定のプロダクションの構成を引き継いでおくといいかなと思います。
スワップには若干時間がかかりましたが、キチンと入れ替わっています。
本番環境とDEMO環境をワンクリックで入れ替えができるのは現場的にはすごくいいなと!
最後に
少し試してみたのですが、スケールアウトも問題なさそうな感じ。
レンタルサーバーの「簡単インストール」的な手軽さで、バックアップやスワップ・スケールアウトなども使えるのは嬉しいなと!
AppServicesプランは「STANDARD」以上で作る必要がありますが、通常のWeb制作でよく相談のある規模(レンタルサーバー運用前提の小~中規模)には便利ではないかな?と個人的には思ったところです♪