クイックスタート: Azure portal を使用して Azure Cache for Redis のイベントを Web エンドポイントにルーティングする

Azure Event Grid は、クラウドのイベント処理サービスです。 このクイックスタートでは、Azure portal から Azure Cache for Redis インスタンスを作成してそのイベントをサブスクライブし、イベントをトリガーして結果を表示します。 通常は、イベント データを処理し、アクションを実行するエンドポイントにイベントを送信します。 ただし単純化するために、このクイックスタートではメッセージを収集して表示する Web アプリにイベントを送信します。

Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。

最後に、イベント データが Web アプリに送信されたことを確認します。

Azure Event Grid Viewer scaling in JSON format.

Azure Cache for Redis キャッシュ インスタンスを作成する

  1. キャッシュを作成するには、Azure portal にサインインし、 [リソースの作成] を選択します。

    Create a resource is highlighted in the left navigation pane.

  2. [新規] ページで、 [データベース] を選択し、 [Azure Cache for Redis] を選択します。

    On New, Databases is highlighted, and Azure Cache for Redis is highlighted.

  3. [新規 Redis Cache] ページで、新しいキャッシュの設定を構成します。

    設定 値を選択する 説明
    サブスクリプション ドロップダウンで、ご自身のサブスクリプションを選択します。 この新しい Azure Cache for Redis インスタンスが作成されるサブスクリプション。
    リソース グループ ドロップ ダウンでリソース グループを選択するか、 [新規作成] を選択し、新しいリソース グループの名前を入力します。 その中にキャッシュやその他のリソースを作成するリソース グループの名前。 すべてのアプリ リソースを 1 つのリソース グループに配置することで、それらをまとめて簡単に管理または削除できます。
    DNS 名 一意の名前を入力します。 キャッシュ名は 1 から 63 文字の文字列で、数字、英字、ハイフンのみを使用する必要があります。 名前の先頭と末尾には数字または文字を使用する必要があり、連続するハイフンを含めることはできません。 キャッシュ インスタンスの "ホスト名" は、<DNS name>.redis.cache.windows.net です。
    場所 ドロップ ダウンで場所を選択します。 キャッシュを使用する他のサービスの近くのリージョンを選択します。
    キャッシュの種類 ドロップ ダウンでレベルを選択します。 レベルによって、キャッシュに使用できるのサイズ、パフォーマンス、および機能が決まります。 詳細については、Azure Cache for Redis の概要に関するページを参照してください。
  4. [ネットワーク] タブを選択するか、ページの下部にある [ネットワーク] ボタンを選択します。

  5. [ネットワーク] タブで、接続方法を選択します。

  6. [次へ: 詳細設定] タブを選択するか、ページの下部にある [次へ: 詳細設定] ボタンを選択して、[詳細設定] タブを表示します。

    Screenshot showing the Advanced tab in the working pane and the available option to select.

    • Basic または Standard キャッシュを利用する場合は、非 TLS ポートの選択をオンにします。 Microsoft Entra 認証を有効にするかどうかを選択することもできます。
    • Premium キャッシュを利用する場合は、非 TLS ポート、クラスタリング、マネージド ID、データ永続化の設定を構成します。 Microsoft Entra 認証を有効にするかどうかを選択することもできます。
  7. ページの下部にある [次へ: タグ] タブを選択するか、ページの下部にある [次へ: タグ] ボタンを選択します。

  8. 必要に応じて、 [タグ] タブで、リソースを分類する場合は名前と値を入力します。

  9. [Review + create](レビュー + 作成) を選択します。 [確認および作成] タブが表示され、Azure によって構成が検証されます。

  10. 緑色の検証に成功のメッセージが表示された後、 [作成] を選択します。

キャッシュが作成されるまで、しばらく時間がかかります。 Azure Cache for Redis の [概要] ページで進行状況を監視できます。 [状態] に "実行中" と表示されている場合は、キャッシュを使用する準備ができています。

メッセージ エンドポイントの作成

キャッシュ インスタンスのイベントをサブスクライブする前に、イベント メッセージのエンドポイントを作成しましょう。 通常、エンドポイントは、イベント データに基づくアクションを実行します。 このクイックスタートを簡素化するために、イベント メッセージを表示する構築済みの Web アプリをデプロしします。 デプロイされたソリューションには、App Service プラン、App Service Web アプリ、および GitHub からのソース コードが含まれています。

  1. GitHub の README で [Deploy to Azure](Azure へのデプロイ) を選択して、ソリューションをサブスクリプションにデプロイします。

    Deploy to Azure button.

  2. [カスタム デプロイ] ページで、次の手順を実行します。

    1. [リソース グループ] で、キャッシュ インスタンスの作成時に作成したリソース グループを選択します。 チュートリアルの完了後は、リソース グループを削除して容易にクリーンアップすることができます。
    2. [サイト名] に、Web アプリの名前を入力します。
    3. Web アプリのホストに使用する App Service プランの名前を [ホスティング プラン名] に入力します。
    4. [上記の使用条件に同意する] のチェック ボックスをオンにします。
    5. [購入] を選択します。
    設定 提案された値 説明
    サブスクリプション ドロップダウンで、ご自身のサブスクリプションを選択します。 この Web アプリを作成するサブスクリプション。
    リソース グループ ドロップ ダウンでリソース グループを選択するか、 [新規作成] を選択し、新しいリソース グループの名前を入力します。 すべてのアプリ リソースを 1 つのリソース グループに配置することで、それらをまとめて簡単に管理または削除できます。
    サイト名 Web アプリの名前を入力します。 この値を空にすることはできません。
    ホスティング プラン名 Web アプリをホストするために使用する App Service プランの名前を入力します。 この値を空にすることはできません。
  3. ポータルでアラート (ベルのアイコン) を選択し、 [リソース グループに移動] を選択します。

    Azure portal deployment notification.

  4. [リソース グループ] ページのリソースの一覧で、作成した Web アプリを選択します。 この一覧には、App Service プランとキャッシュ インスタンスも表示されます。

  5. Web アプリの [App Service] ページで、Web サイトに移動するための URL を選択します。 この URL は、https://<your-site-name>.azurewebsites.net 形式になっている必要があります。

  6. サイトは表示されますが、イベントはまだ送信されていないことを確認します。

    Empty Event Grid Viewer site.

Event Grid リソース プロバイダーを登録する

これまでに Event Grid を使用したことがない場合は、Event Grid リソース プロバイダーを登録する必要があります。 Event Grid を使用したことがある場合は、次のセクションに進んでください。

Azure portal で、次の手順を実行します。

  1. 左側のメニューで [サブスクリプション] を選択します。

  2. サブスクリプションの一覧から Event Grid に使用するサブスクリプションを選択します。

  3. [サブスクリプション] ページで、左側のメニューの [設定] の下の [リソース プロバイダー] を選択します。

  4. Microsoft.EventGrid を検索し、[状態][未登録] であることを確認します。

  5. プロバイダーの一覧で [Microsoft.EventGrid] を選択します。

  6. コマンド バーの [登録] を選択します。

    Image showing the registration of Microsoft.EventGrid provider with the Azure subscription.

  7. 最新の情報に更新して、Microsoft.EventGrid の状態が [登録済み] に変更されたことを確認します。

    Image showing the successful registration of Microsoft.EventGrid provider with the Azure subscription.

Azure Cache for Redis インスタンスをサブスクライブする

この手順では、トピックをサブスクライブすることによって、追跡するイベントとそれらのイベントの送信先を Event Grid に伝えます。

  1. ポータルで、先ほど作成したキャッシュ インスタンスに移動します。

  2. [Azure Cache for Redis] ページの左側のメニューで [イベント] を選択します。

  3. [webhook] を選択します。 エンドポイントの Web hook を使用して、ビューアー アプリにイベントを送信します。

    Azure portal Events page.

  4. [イベント サブスクリプションの作成] ページで、次の値を入力します。

    設定 提案された値 Description
    名前 イベント サブスクリプションの名前を入力します。 値の長さは 3 から 64 文字にする必要があります。 使用できるのは、英字、数字、ダッシュのみです。
    イベントの種類 宛先にプッシュするイベントの種類をドロップ ダウンから選択します。 このクイックスタートでは、キャッシュ インスタンスをスケーリングします。 パッチ適用、スケーリング、インポート、エクスポートを選択できます。
    エンドポイントの種類 [webhook] を選択します。 イベントを受信するイベント ハンドラー。
    エンドポイント [エンドポイントの選択] を選択し、Web アプリの URL を入力して、ホーム ページの URL に api/updates を追加し (例: https://cache.azurewebsites.net/api/updates)、 [選択の確認] を選択します。 これは先ほど作成した Web アプリの URL です。
  5. 次に、 [イベント サブスクリプションの作成] ページの [作成] を選択して、イベント サブスクリプションを作成します。

  6. Web アプリをもう一度表示し、その Web アプリにサブスクリプションの検証イベントが送信されたことに注目します。 目のアイコンを選択してイベント データを展開します。 Event Grid は検証イベントを送信するので、エンドポイントはイベント データを受信することを確認できます。 Web アプリには、サブスクリプションを検証するコードが含まれています。

    Azure Event Grid Viewer.

エンドポイントへのイベントの送信

では、イベントをトリガーして、Event Grid がメッセージをエンドポイントに配信するようすを見てみましょう。 Azure Cache for Redis インスタンスをスケーリングします。

  1. Azure portal で、Azure Cache for Redis インスタンスに移動し、左側のメニューの [スケール] を選択します。

  2. [スケール] ページから希望の価格レベルを選択し、 [選択] を選択します。

    別の価格レベルにスケーリングできますが、次のような制約があります。

    • 上位の価格レベルから下位の価格レベルにスケーリングすることはできません。
      • Premium キャッシュから Standard または Basic キャッシュにスケールすることはできません。
      • Standard キャッシュから Basic キャッシュにスケールすることはできません。
    • Basic キャッシュから Standard キャッシュにスケールすることはできますが、同時にサイズを変更することはできません。 サイズを変更する必要がある場合、後続のスケーリング操作でサイズを変更できます。
    • Basic キャッシュから直接 Premium キャッシュにスケールすることはできません。 まず、1 回のスケーリング操作で Basic から Standard にスケーリングし、その後の操作で Standard から Premium にスケーリングします。
    • C0 (250 MB) サイズにそれより大きなサイズからスケールダウンすることはできません。

    キャッシュを新しい価格レベルにスケーリングするとき、左側の [Azure Cache for Redis] で状態が [拡大中] と表示されます。 スケーリングが完了すると、状態が [拡大中] から [実行中] に変わります。

  3. 以上でイベントがトリガーされ、そのメッセージが、Event Grid によってサブスクライブ時に構成したエンドポイントに送信されました。 メッセージは JSON 形式であり、1 つまたは複数のイベントの配列が含まれています。 次の例の JSON メッセージには、1 つのイベントの配列が含まれています。 Web アプリを表示して、ScalingCompleted イベントが受信されたことを確認します。

    Azure Event Grid Viewer scaling in JSON format.

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

引き続きこのイベントを使用する場合は、このクイックスタートで作成したリソースをクリーンアップしないでください。 それ以外の場合は、このクイックスタートで作成したリソースを削除してください。

リソース グループを選択し、 [リソース グループの削除] を選択します。

次のステップ

カスタム トピックを作成し、イベントをサブスクライブする方法がわかったら、Event Grid でできることについて、さらに情報を収集しましょう。