次の方法で共有


Azure Database for MySQL インスタンスを Azure Spring Apps 内のアプリケーションに接続する

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 に移行する」を参照してください。

この記事の適用対象: ✔️ Java ✔️ C#

この記事の適用対象: ✔️ Basic または Standard ✔️ Enterprise

Azure Spring Apps では、Spring Boot アプリケーションを手動で構成せずに、選択した Azure サービスをアプリケーションに自動的に接続できます。 この記事では、アプリケーションを Azure Database for MySQL インスタンスに接続する方法について説明します。

前提条件

プロジェクトを準備する

  1. プロジェクトの 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>
    
  2. application.properties ファイルから、spring.datasource.* プロパティをすべて削除します。

  3. az spring app deploy を実行して現在のアプリを更新するか、az spring app deployment create を実行してこの変更のための新しいデプロイを作成します。

アプリを Azure Database for MySQL インスタンスに接続する

Note

既定では、サービス コネクタはアプリケーション レベルで作成されます。 接続をオーバーライドするには、デプロイで他の接続をもう一度作成します。

システム割り当てマネージド ID を使用して Azure Database for MySQL フレキシブル サーバーに接続するように Spring アプリを構成するには、以下の手順に従います。

  1. 次のコマンドを使用して Azure CLI 用 Service Connector パスワードレス拡張機能をインストールします。

    az extension add --name serviceconnector-passwordless --upgrade
    
  2. その後、次のコマンドを使用して、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)
    
  3. 次の例に示すように、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 アプリケーションに接続する」を参照してください。