Azure App Service:Web AppsのMySQL in-app(プレビュー)
Azure App ServiceのWeb Apps には、.NET、Java、PHP、Node.js、Pythonなどで書かれたウェブアプリケーションをホストできます。
PHPで書かれMySQLを使うWordPressに代表されるように、データベースとしてMySQLを使うウェブアプリケーションは数多くあります。これまで、Azure上でMySQLを使うには、サードパーティーのMySQLデータベースサービスであるClearDB、ClearDB Clustersを使うか、IaaSのAzure Virtual Machinesを使ってMySQLをホストする必要がありました。
今回、Web Apps向けにプレビューとして公開された「MySQL in-app」は、ウェブアプリケーションが動作しているApp Serviceインスタンスの内部に、MySQLをホストできる機能です。これによって、外部のClearDBサービスやVM上で動作するMySQLを準備しなくても、簡単にMySQLと、そのMySQLにアクセスするウェブアプリケーションをホストできるようになります。
MySQL in-appは、あくまで開発/テスト向けの機能であることに注意してください。本番環境向けには、ClearDBサービスやVM上で動作するMySQLをお使いください。
MySQL in-appを使うウェブアプリを新規作成するには、Azureポータルで「Web App + MySQL」を新規作成するか、こちらから新規作成し、「データベースプロバイダー」として「MySQL In App(プレビュー)」を選択します。

AzureポータルでのMySQL in-appを使うウェブアプリの新規作成
また、既存のウェブアプリに対しては、Azureポータルで対象のウェブアプリの「MySQL In App(プレビュー)」メニューで、MySQL in-appを有効化できます。
今回のプレビューリリースには、次の制限事項があります。
- 単一のApp Serviceインスタンスでしか使えません。2つ以上のインスタンスへのスケーリングやオートスケールはサポートされていません。
- ローカルキャッシュ機能は、サポートされていません。
- MySQL in-appには外部からリモートアクセスできません。MySQL in-appを管理するには、同じApp Serviceインスタンスで動作するPHPMyAdminを使うか、Kuduデバッグコンソールでmysql.exe やmysqladmin.exeといったMySQLのCLIを使う必要があります。
MySQL in-appをサポートしているテンプレートは、現在「WordPress」と「Web App + MySQL」だけです。今後、他のMySQLベースのテンプレートの対応も進める予定です。
詳細は、Azure App Service Team Blogのポストをご覧ください。