クイックスタート: Azure Spring Apps と Azure Database for MySQL との統合

注

Basic、Standard、および Enterprise プランは、2025 年 3 月 17 日に廃止期間に入りました。 詳細については、「Azure Spring 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 データベースに接続します。

注

Azure Spring Apps のサービス バインド機能は、Service Connector を優先して非推奨とされています。

  1. Service Connector を初めて使用する場合は、まずコマンド az provider register を実行して Service Connector リソース プロバイダーを登録します。

    az provider register --namespace Microsoft.ServiceLinker
    
  2. 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 データベースに接続するようにアプリを更新する方法について説明します。

次のコマンドを使用して、mysql アプリの customers-service プロファイルをアクティブにする環境変数を設定します。

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>

次のステップ