次の方法で共有


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

Note

BasicStandardEnterprise プランは、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 を優先して非推奨とされています。

  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-servicevets-servicevisits-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-servicevets-servicevisits-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-servicevets-servicevisits-service の各アプリケーションのアプリ構成を更新します。

アプリを検証する

Pet Clinic サービスを検証し、MySQL データベースからレコードにクエリを実行してデータベース接続を確認するには、「クイック スタート: アプリをビルドして Azure Spring Apps にデプロイする」の「サービスを確認する」セクションの手順に従います。

リソースをクリーンアップする

後続のクイック スタートおよびチュートリアルを引き続き実行する場合は、これらのリソースをそのまま残しておくことができます。 不要になったら、az group delete コマンドを使用してリソース グループを削除します。これにより、リソース グループ内のリソースが削除されます。 <resource-group> は、リソース グループの名前に置き換えます。

az group delete --name <resource-group>

次のステップ