Azure Database for MySQL インスタンスを Azure Spring Apps 内のアプリケーションに接続する
Note
Azure Spring Apps は、Azure Spring Cloud サービスの新しい名前です。 サービスの名前は新しくなりましたが、スクリーンショット、ビデオ、図などの資産の更新に取り組んでいる間、場所によってはしばらく古い名前が表示されます。
この記事の適用対象: ✔️ Java ✔️ C#
この記事の適用対象: ✔️ Basic または Standard ✔️ Enterprise
Azure Spring Apps では、Spring Boot アプリケーションを手動で構成せずに、選択した Azure サービスをアプリケーションに自動的に接続できます。 この記事では、アプリケーションを Azure Database for MySQL インスタンスに接続する方法について説明します。
前提条件
- Azure Spring Apps にデプロイされたアプリケーション。 詳細については、「クイックスタート: 初めてのアプリケーションを Azure Spring Apps にデプロイする」を参照してください。
- Azure Database for MySQL フレキシブル サーバー インスタンス。
- Azure CLI バージョン 2.45.0 以上。
プロジェクトを準備する
プロジェクトの pom.xml ファイルに、次の依存関係を追加します。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-starter-jdbc-mysql</artifactId> </dependency>
application.properties ファイルから、
spring.datasource.*
プロパティをすべて削除します。az spring app deploy
を実行して現在のアプリを更新するか、az spring app deployment create
を実行してこの変更のための新しいデプロイを作成します。
アプリを Azure Database for MySQL インスタンスに接続する
Note
既定では、サービス コネクタはアプリケーション レベルで作成されます。 接続をオーバーライドするには、デプロイで他の接続をもう一度作成します。
システム割り当てマネージド ID を使用して Azure Database for MySQL フレキシブル サーバーに接続するように Spring アプリを構成するには、以下の手順に従います。
次のコマンドを使用して Azure CLI 用 Service Connector パスワードレス拡張機能をインストールします。
az extension add --name serviceconnector-passwordless --upgrade
その後、次のコマンドを使用して、Microsoft Entra 認証用のユーザー割り当てマネージド ID を作成します。 この例の変数は必ず実際の値に置き換えてください。 詳細については、「Azure Database for MySQL - フレキシブル サーバーの Microsoft Entra 認証を設定する」を参照してください。
export AZ_IDENTITY_RESOURCE_ID=$(az identity create \ --name $AZURE_USER_IDENTITY_NAME \ --resource-group $AZURE_IDENTITY_RESOURCE_GROUP \ --query id \ --output tsv)
次の例に示すように、
az spring connection create
コマンドを実行します。 この例の変数は必ず実際の値に置き換えてください。az spring connection create mysql-flexible \ --resource-group $AZURE_SPRING_APPS_RESOURCE_GROUP \ --service $AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME \ --app $APP_NAME \ --target-resource-group $MYSQL_RESOURCE_GROUP \ --server $MYSQL_SERVER_NAME \ --database $DATABASE_NAME \ --system-identity mysql-identity-id=$AZ_IDENTITY_RESOURCE_ID
次のステップ
この記事では、Azure Spring Apps 内のアプリケーションを Azure Database for MySQL インスタンスに接続する方法について学習しました。 サービスをアプリケーションに接続する方法の詳細については、「Azure Cosmos DB データベースを Azure Spring Apps アプリケーションに接続する」を参照してください。