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

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

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

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

Azure Event Grid ビューアーで JSON 形式のスケーリングを表示する。

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

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

    左側のナビゲーション ペインの [リソースの作成] が強調表示されています。

  2. [開始] ページ上で、検索ボックス内に「Azure Cache for Redis」と入力します。 次に、[作成] を選択します。

    検索ボックス内に

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

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

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

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

    作業ウィンドウの [詳細設定] タブ、および選択できるオプションを示すスクリーンショット。

    • 新しい Basic、Standard、または Premium キャッシュの既定では、Microsoft Entra 認証が有効になり、Access キー認証は無効になります。
    • Basic または Standard キャッシュの場合は、TLS 以外のポートを選択できます。
    • Standard および Premium キャッシュの場合は、可用性ゾーンを有効にすることを選択できます。 キャッシュの作成後に可用性ゾーンを無効にすることはできません。
    • Premium キャッシュを利用する場合は、非 TLS ポート、クラスタリング、マネージド ID、データ永続化の設定を構成します。

    重要

    最適なセキュリティを実現するために、Microsoft では、可能な限り Microsoft Entra ID とマネージド ID を使用してキャッシュに対する要求を認可することをお勧めします。 Microsoft Entra ID とマネージド ID を使った認可によって、共有キー認可よりもセキュリティが向上し、使いやすくなります。 キャッシュでマネージド ID を使用する方法の詳細については、「キャッシュ認証に Microsoft Entra ID を使用する」を参照してください。

  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 へのデプロイ) を選択して、ソリューションをサブスクリプションにデプロイします。

    [Azure へのデプロイ] ボタン。

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

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

    Azure portal デプロイ通知。

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

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

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

    空の Event Grid ビューアー サイト。

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

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

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

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

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

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

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

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

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

    Microsoft.EventGrid プロバイダーを Azure サブスクリプションに登録するイメージ。

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

    Microsoft.EventGrid プロバイダーを Azure サブスクリプションに正常に登録されたことを示すイメージ。

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

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

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

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

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

    Azure portal の [イベント] ページ。

  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 ビューアー。

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

では、イベントをトリガーして、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 ビューアーで JSON 形式のスケーリングを表示する。

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

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

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

次のステップ

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