Azure

Azure Web Apps の MySQL In App を試してみた

Azure Web Apps の MySQL In App をなんとなく試してみました。
8/22 に Preview でアナウンスされたサービスなので、半年くらい遅れっすね。。。

■Announcing Azure App Service MySQL in-app (preview)
https://azure.microsoft.com/en-us/blog/mysql-in-app-preview-app-service/

 

Web App + My SQL より、作成ができます。

 

他にも WordPress などでも利用することができます。

 

「MYSQL In App(preview)」の Manage をクリックすると、phpMyAdminが起動します。

 

ただし、Web App がデプロイした直後に phpMyAdmin を起動すると、ログイン画面が表示され、ユーザ/パスワードがわからない問題が発生しちゃいます。

 

ちなみに、この状態になる場合、Process Explorer を見ると、何もプロセスが立ち上がってないです。
(phpMyAdminを起動したあとだと、Kuduのプロセスが上がってるけど。。)

 

まずは、1度デプロイした Web App の URL に接続して インスタンスを立ち上げます。
すると、mysqld のプロセスが立ち上がります。

 

この状態で「MYSQL In App(preview)」の Manage をクリックすると、phpMyAdminにログインできます。

 

DBの接続情報ってどこみればいいの?って感じになりますが、
接続ポートなどが動的に変わるみたいで、環境変数から取得することができるみたいです。
インストールしたWordpressのwp-config.php をみると、こんな感じで、環境変数からげっとしてるのがわかります。

 

ClearDB を使った場合はWeb Apps とは外にDBがあって、
MySQL In App を使うとWeb インスタンスと同じところにDBを抱えるだけなので、
ぱっと見の動作はなんもかわらないです。

 

ちょっと期待できること

MySQL In App を使うとちょっといいなって思うのは、バックアップ/リストアの運用です。

WordPress を使ってると、プラグインの更新をしたあとに管理画面にログインできない問題がちょいちょい発生します。
こんなときに、バックアップから簡単にリストアできればって思うのですが、
WordPressの場合、プラグインの実行ファイルはWebインスタンスの中に持って、その構成情報はDBに持つので、
リストアする場合は、WebインスタンスとDBの両方をリストアしてあげる必要があるはずです。
(書きながら試したことあったっけかなーと思ってみたり。。)

MySQL In App は、Webインスタンスと同じ場所にDBを抱えるので、これができるはず。
(ただ、DBのバックアップとしては、若干乱暴な気もするけど)

ってことで試してみました。

まずは、テスト用のポストした状態。

 

で、バックアップ

 

ここから、WordPressのバージョンを最新にして、テーマ変えて、2つめのポストをしてみました。

 

もっかい、バックアップ

 

そして、ドキドキのリストアなう(最初のバックアップで)

 

うまくリストアできました。(エビデンスはいまいちだけど。。。)

 

ってことで、もういちどリストアなう(2回目のバックアップで)
まぁー、うまくいきますよね。

 

まとめ

PaaSのサービスで、WebインスタンスとDBをひとまとめにできるのは、運用上うれしいことが色々でてくると思います。
(雑に扱っちゃっていいような場合だけかもしれないけど。。)

Slot とか使うときは、ちょっと一工夫してもよさそうな気がします。

ただ、現状のMySQL In App は、1インスタンスにしか対応してないみたいで、
オートスケールとかは対応できてないみたいです。

まだ、プレビューですしねー。

 

 

-Azure
-, ,