クイックスタート: Azure Spring Apps と Azure Database for MySQL との統合
Note
Basic、Standard、Enterprise プランは、2025 年 3 月中旬以降非推奨になり、廃止期間は 3 年間です。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の廃止のお知らせ」を参照してください。
Standard 従量課金と専用プランは、2024 年 9 月 30 日以降に非推奨になり、6 か月後に完全にシャットダウンされます。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の Standard 従量課金および専用プランを Azure Container Apps に移行する」を参照してください。
この記事の適用対象:✅ Basic/Standard ❎ Enterprise
既定の構成「クイックスタート: アプリをビルドして Azure Spring Apps にデプロイする」でデプロイされた Pet Clinic では、起動時にデータが入力されるメモリ内データベース (HSQLDB) が使用されます。 このクイックスタートでは、Azure Database for MySQL インスタンスをプロビジョニングして準備し、これを永続的なデータベースとして使用するように Azure Spring Apps で Pet Clinic を構成する方法について説明します。
前提条件
アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
Azure Database for MySQL インスタンスを作成する
az mysql flexible-server create コマンドを使用して、Azure Database for MySQL フレキシブル サーバーを作成します。 プレースホルダー<database-name>
、<resource-group-name>
、<MySQL-flexible-server-name>
、<admin-username>
、<admin-password>
を、新しいデータベースの名前、リソース グループの名前、新しいサーバーの名前、管理者のユーザー名とパスワードに置き換えます。 admin-password
の値を単一引用符を使用して囲みます。
az mysql flexible-server create \
--resource-group <resource-group-name> \
--name <MySQL-flexible-server-name> \
--database-name <database-name> \
--public-access 0.0.0.0 \
--admin-user <admin-username> \
--admin-password '<admin-password>'
注意
デフォルトでは Standard_B1ms
SKU が使用されます。 価格の詳細については、Azure Database for MySQL の価格に関するページを参照してください。
ヒント
パスワードは長さが 8 文字以上で、英大文字、英小文字、数字、英数字以外の文字 (!、$、#、% など) を 1 つ以上含んでいる必要があります。
アプリケーションを MySQL データベースに接続する
Service Connector を使用して、Azure Spring Apps でホストされているアプリを MySQL データベースに接続します。
Note
Azure Spring Apps のサービス バインド機能は、Service Connector を優先して非推奨とされています。
Service Connector を初めて使用する場合は、まずコマンド az provider register を実行して Service Connector リソース プロバイダーを登録します。
az provider register --namespace Microsoft.ServiceLinker
az spring connection create
コマンドを実行して、customers-service
アプリと Azure MySQL データベースの間にサービス接続を作成します。 次の設定のプレースホルダーは独自の情報に置き換えてください。 MySQL サーバーsecret
の値を単一引用符を使用して囲みます。設定 説明 --connection
アプリとターゲット サービスの間の接続を識別する接続の名前。 --resource-group
Azure Spring Apps によってホストされているアプリを含むリソース グループの名前。 --service
Azure Spring Apps リソースの名前。 --app
ターゲット サービスに接続する Azure Spring Apps によってホストされているアプリケーションの名前。 --target-resource-group
ストレージ アカウントを持つリソース グループの名前。 --server
接続先の MySQL サーバー --database
前に作成したデータベースの名前 --secret name= secret=
MySQL サーバーのユーザー名とパスワード。 az spring connection create mysql-flexible \ --resource-group <Azure-Spring-Apps-resource-group-name> \ --service <Azure-Spring-Apps-resource-name> \ --app customers-service \ --connection <mysql-connection-name-for-app> \ --target-resource-group <mySQL-server-resource-group> \ --server <server-name> \ --database <database-name> \ --secret name=<username> secret='<secret>'
ヒント
コマンド
az spring
がシステムに認識されない場合は、az extension add --name spring
を実行して、 Azure Spring Apps 拡張機能がインストールされていることを確認します。
これらの手順を繰り返して、customers-service
、vets-service
、visits-service
の各アプリケーションの接続を作成します。
MySQL データベースへの接続を確認する
az spring connection validate
コマンドを実行して、customers-service
アプリと Azure MySQL データベースの間の接続のステータスを表示します。 プレースホルダーは独自の情報に置き換えてください。
az spring connection validate \
--resource-group <Azure-Spring-Apps-resource-group-name> \
--service <Azure-Spring-Apps-resource-name> \
--app customers-service \
--connection <mysql-connection-name-for-app> \
--output table
次の出力が表示されます。
Name Result Description
------------------------------------ -------- -------------
Target resource existence validated. success
Target service firewall validated. success
Username and password validated. success
ヒント
サービス間の接続の詳細を取得するには、上記のコマンドから --output table
を削除します。
これらの手順を繰り返して、customers-service
、vets-service
、visits-service
の各アプリケーションの接続を検証します。
MySQL プロファイルを使用するようにアプリを更新する
次のセクションでは、MySQL データベースに接続するようにアプリを更新する方法について説明します。
次のコマンドを使用して、customers-service
アプリの mysql
プロファイルをアクティブにする環境変数を設定します。
az spring app update \
--resource-group <Azure-Spring-Apps-resource-group-name> \
--service <Azure-Spring-Apps-resource-name> \
--name customers-service \
--env SPRING_PROFILES_ACTIVE=mysql
これらの手順を繰り返して、customers-service
、vets-service
、visits-service
の各アプリケーションのアプリ構成を更新します。
アプリを検証する
Pet Clinic サービスを検証し、MySQL データベースからレコードにクエリを実行してデータベース接続を確認するには、「クイック スタート: アプリをビルドして Azure Spring Apps にデプロイする」の「サービスを確認する」セクションの手順に従います。
リソースをクリーンアップする
後続のクイック スタートおよびチュートリアルを引き続き実行する場合は、これらのリソースをそのまま残しておくことができます。 不要になったら、az group delete コマンドを使用してリソース グループを削除します。これにより、リソース グループ内のリソースが削除されます。 <resource-group>
は、リソース グループの名前に置き換えます。
az group delete --name <resource-group>