Share via


Azure Cache for Redis を Azure Spring Apps のアプリケーションに接続する

Note

Azure Spring Apps は、Azure Spring Cloud サービスの新しい名前です。 サービスの名前は新しくなりましたが、スクリーンショット、ビデオ、図などの資産の更新に取り組んでいる間、場所によってはしばらく古い名前が表示されます。

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

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

Spring Boot アプリケーションを手動で構成する代わりに、Azure Spring Apps を使用して、選択した Azure サービスをアプリケーションに自動的に接続できます。 この記事では、アプリケーションを Azure Cache for Redis に接続する方法について説明します。

前提条件

  • デプロイ済みの Azure Spring Apps インスタンス
  • Azure Cache for Redis サービス インスタンス
  • Azure CLI 用の Azure Spring Apps 拡張機能

Azure Spring Apps インスタンスをデプロイしていない場合は、「クイック スタート: 初めてのアプリケーションを Azure Spring Apps にデプロイする」の手順を実行してください。

プロジェクトを準備する

  1. プロジェクトの pom.xml ファイルに次の依存関係を追加します。

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis-reactive</artifactId>
    </dependency>
    
  2. application.properties ファイルから spring.redis.* プロパティをすべて削除します

  3. az spring app update を使用して現在のデプロイを更新するか、az spring app deployment create を使用して新しいデプロイを作成します。

アプリを Azure Cache for Redis に接続する

Note

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

  1. 次の例に示すように、Azure CLI で az spring connection create コマンドを使用して、アクセス キーを使って Redis データベースに接続するように Spring アプリを構成します。

    az spring connection create redis \
        --resource-group $AZURE_SPRING_APPS_RESOURCE_GROUP \
        --service $AZURE_SPRING_APPS_SERVICE_INSTANCE_NAME \
        --app $APP_NAME \
        --deployment $DEPLOYMENT_NAME \
        --target-resource-group $REDIS_RESOURCE_GROUP \
        --server $REDIS_SERVER_NAME\
        --database $REDIS_DATABASE_NAME \
        --secret
    

    Note

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

    Redis Enterprise を使用する場合は、代わりに az spring connection create redis-enterprise コマンドを使用します。

    ヒント

    コマンド az spring connection list-support-types --output table を実行して、Azure Spring Apps でサポートされているターゲット サービスと認証方法の一覧を取得します。 コマンド az spring がシステムに認識されない場合は、az extension add --name spring を実行して、必要な拡張機能がインストールされていることを確認します。

  2. または、次の手順を実行して、Azure portal を使用してこの接続を構成することもできます。 Azure portal は、Azure CLI と同じ機能を備えており、対話型エクスペリエンスを提供します。

    1. Azure portal で Azure Spring Apps インスタンスを選択し、ナビゲーション メニューから [アプリ] を選択します。 接続するアプリを選択し、ナビゲーション メニューで [Service Connector] を選択します。

    2. [作成] を選択します

    3. [基本] タブの [サービスの種類] で、[Cache for Redis] を選択します。 サブスクリプションと Redis Cache サーバーを選択します。 Redis データベース名 (この例では "0") を入力し、[クライアントの種類] で [Java] を選択します。 [次へ: 認証] を選択します。

    4. [認証] タブで、[接続文字列] を選択します。 Service Connector は、Redis データベース アカウントからアクセス キーを自動的に取得します。 [次へ: ネットワーク] を選択します。

    5. [ネットワーク] タブで、[Configure firewall rules to enable access to target service] (ターゲット サービスへのアクセスを有効にするようにファイアウォール規則を構成する) を選択し、次に [確認と作成] を選択します。

    6. [確認と作成] タブで、検証が成功するまで待ってから、 [作成]を選択します。 作成が完了するまでに数分かかることがあります。

    7. Spring アプリと Redis データベース間の接続が生成されると、[Service Connector] ページにそれが表示されます。展開ボタンを選択すると、構成された接続変数を確認できます。

次のステップ

この記事では、Azure Spring Apps のアプリケーションを Azure Cache for Redis に接続する方法について説明しました。 サービスをアプリケーションに接続する方法の詳細については、「Azure Database for MySQL インスタンスへの接続」を参照してください