クイックスタート: Azure portal を使用して Azure Cache for Redis のイベントを Web エンドポイントにルーティングする
Azure Event Grid は、クラウドのイベント処理サービスです。 このクイックスタートでは、Azure portal から Azure Cache for Redis インスタンスを作成してそのイベントをサブスクライブし、イベントをトリガーして結果を表示します。 通常は、イベント データを処理し、アクションを実行するエンドポイントにイベントを送信します。 ただし単純化するために、このクイックスタートではメッセージを収集して表示する Web アプリにイベントを送信します。
Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
最後に、イベント データが Web アプリに送信されたことを確認します。
Azure Cache for Redis キャッシュ インスタンスを作成する
キャッシュを作成するには、Azure portal にサインインします。 ポータルのメニューで、[リソースの作成] を選びます。
[作業の開始] ペインの検索バーに「Azure Cache for Redis」と入力します。 検索結果で Azure Cache for Redis を見つけて、[作成] を選びます。
[新しい Redis Cache] ペインの [基本] タブで、以下のキャッシュの設定を構成します。
設定 アクション 説明 サブスクリプション Azure サブスクリプションを選択します。 Azure Cache for Redis の新しいインスタンスの作成に使うサブスクリプション。 リソース グループ リソース グループを選択するか、 [新規作成] を選択し、新しいリソース グループの名前を入力します。 キャッシュや他のリソースを作成するリソース グループの名前。 すべてのアプリ リソースを 1 つのリソース グループに配置することで、それらをまとめて簡単に管理または削除できます。 DNS 名 一意の名前を入力します。 キャッシュ名は、数字、英字、ハイフンのみを含む 1 から 63 文字の文字列とする必要があります。 名前の先頭と末尾には数字または文字を使用する必要があり、連続するハイフンを含めることはできません。 キャッシュ インスタンスの "ホスト名" は \<DNS name>.redis.cache.windows.net
です。場所 場所を選択します。 キャッシュを使う他のサービスに近い Azure リージョン。 キャッシュ SKU SKU を選びます。 SKU によって、キャッシュに利用できるサイズ、パフォーマンス、機能のパラメーターが決まります。 詳細については、Azure Cache for Redis の概要に関するページを参照してください。 キャッシュ サイズ キャッシュ サイズを選びます。 詳細については、Azure Cache for Redis の概要に関するページを参照してください。 [ネットワーク] タブを選ぶか、[次へ: ネットワーク] を選びます。
[ネットワーク] タブで、キャッシュに使う接続方法を選びます。
[詳細] タブを選ぶか、[次へ: 詳細] を選びます。
[詳細] ペインで、以下の情報に基づいて認証方法を確認または選択します。
- 既定では、新しい Basic、Standard、または Premium キャッシュでは、Microsoft Entra 認証が有効になり、アクセス キー認証が無効になります。
- Basic または Standard キャッシュの場合は、非 TLS ポートを選択できます。
- Standard および Premium キャッシュの場合は、可用性ゾーンを有効にすることを選択できます。 キャッシュの作成後に可用性ゾーンを無効にすることはできません。
- Premium キャッシュを利用する場合は、非 TLS ポート、クラスタリング、マネージド ID、データ永続化の設定を構成します。
重要
最適なセキュリティのため、可能であれば、キャッシュに対する要求を認可するのに Microsoft Entra ID とマネージド ID を使うことをお勧めします。 Microsoft Entra ID とマネージド ID を使う認可は、共有アクセス キーの認可より、セキュリティと使いやすさの点で優れています。 キャッシュでのマネージド ID の使用について詳しくは、キャッシュ認証への Microsoft Entra ID の使用に関する記事をご覧ください。
(省略可能) [タグ] タブを選ぶか、[次へ: タグ] を選びます。
(省略可能) キャッシュ リソースを分類する場合は、[タグ] タブでタグの名前と値を入力します。
[確認および作成] ボタンを選択します。
[確認と作成] タブでは、Azure によって構成が自動的に検証されます。
緑色の検証に成功のメッセージが表示された後、 [作成] を選択します。
新しいキャッシュのデプロイは数分で完了します。 デプロイの進行状況は、Azure Cache for Redis の [概要] ペインで監視できます。 [状態] に [実行中] と表示されたら、キャッシュを使用できます。
メッセージ エンドポイントの作成
キャッシュ インスタンスのイベントをサブスクライブする前に、イベント メッセージのエンドポイントを作成しましょう。 通常、エンドポイントは、イベント データに基づくアクションを実行します。 このクイックスタートを簡素化するために、イベント メッセージを表示する構築済みの Web アプリをデプロしします。 デプロイされたソリューションには、App Service プラン、App Service Web アプリ、および GitHub からのソース コードが含まれています。
GitHub の README で [Deploy to Azure](Azure へのデプロイ) を選択して、ソリューションをサブスクリプションにデプロイします。
[カスタム デプロイ] ページで、次の手順を実行します。
- [リソース グループ] で、キャッシュ インスタンスの作成時に作成したリソース グループを選択します。 チュートリアルの完了後は、リソース グループを削除して容易にクリーンアップすることができます。
- [サイト名] に、Web アプリの名前を入力します。
- Web アプリのホストに使用する App Service プランの名前を [ホスティング プラン名] に入力します。
- [上記の使用条件に同意する] のチェック ボックスをオンにします。
- [購入] を選択します。
設定 提案された値 説明 サブスクリプション ドロップダウンで、ご自身のサブスクリプションを選択します。 この Web アプリを作成するサブスクリプション。 リソース グループ ドロップ ダウンでリソース グループを選択するか、 [新規作成] を選択し、新しいリソース グループの名前を入力します。 すべてのアプリ リソースを 1 つのリソース グループに配置することで、それらをまとめて簡単に管理または削除できます。 サイト名 Web アプリの名前を入力します。 この値を空にすることはできません。 ホスティング プラン名 Web アプリをホストするために使用する App Service プランの名前を入力します。 この値を空にすることはできません。 ポータルでアラート (ベルのアイコン) を選択し、 [リソース グループに移動] を選択します。
[リソース グループ] ページのリソースの一覧で、作成した Web アプリを選択します。 この一覧には、App Service プランとキャッシュ インスタンスも表示されます。
Web アプリの [App Service] ページで、Web サイトに移動するための URL を選択します。 この URL は、
https://<your-site-name>.azurewebsites.net
形式になっている必要があります。サイトは表示されますが、イベントはまだ送信されていないことを確認します。
Event Grid リソース プロバイダーを登録する
これまでに Event Grid を使用したことがない場合は、Event Grid リソース プロバイダーを登録する必要があります。 Event Grid を使用したことがある場合は、次のセクションに進んでください。
Azure portal で、次の手順を実行します。
左側のメニューで [サブスクリプション] を選択します。
サブスクリプションの一覧から Event Grid に使用するサブスクリプションを選択します。
[サブスクリプション] ページで、左側のメニューの [設定] の下の [リソース プロバイダー] を選択します。
Microsoft.EventGrid を検索し、[状態] が [未登録] であることを確認します。
プロバイダーの一覧で [Microsoft.EventGrid] を選択します。
コマンド バーの [登録] を選択します。
最新の情報に更新して、Microsoft.EventGrid の状態が [登録済み] に変更されたことを確認します。
Azure Cache for Redis インスタンスをサブスクライブする
この手順では、トピックをサブスクライブすることによって、追跡するイベントとそれらのイベントの送信先を Event Grid に伝えます。
ポータルで、先ほど作成したキャッシュ インスタンスに移動します。
[Azure Cache for Redis] ページの左側のメニューで [イベント] を選択します。
[webhook] を選択します。 エンドポイントの Web hook を使用して、ビューアー アプリにイベントを送信します。
[イベント サブスクリプションの作成] ページで、次の値を入力します。
設定 提案された値 Description 名前 イベント サブスクリプションの名前を入力します。 値の長さは 3 から 64 文字にする必要があります。 使用できるのは、英字、数字、ダッシュのみです。 イベントの種類 宛先にプッシュするイベントの種類をドロップ ダウンから選択します。 このクイックスタートでは、キャッシュ インスタンスをスケーリングします。 パッチ適用、スケーリング、インポート、エクスポートを選択できます。 エンドポイントの種類 [webhook] を選択します。 イベントを受信するイベント ハンドラー。 エンドポイント [エンドポイントの選択] を選択し、Web アプリの URL を入力して、ホーム ページの URL に api/updates
を追加し (例:https://cache.azurewebsites.net/api/updates
)、 [選択の確認] を選択します。これは先ほど作成した Web アプリの URL です。 次に、 [イベント サブスクリプションの作成] ページの [作成] を選択して、イベント サブスクリプションを作成します。
Web アプリをもう一度表示し、その Web アプリにサブスクリプションの検証イベントが送信されたことに注目します。 目のアイコンを選択してイベント データを展開します。 Event Grid は検証イベントを送信するので、エンドポイントはイベント データを受信することを確認できます。 Web アプリには、サブスクリプションを検証するコードが含まれています。
エンドポイントへのイベントの送信
では、イベントをトリガーして、Event Grid がメッセージをエンドポイントに配信するようすを見てみましょう。 Azure Cache for Redis インスタンスをスケーリングします。
Azure portal で、Azure Cache for Redis インスタンスに移動し、左側のメニューの [スケール] を選択します。
[スケール] ページから希望の価格レベルを選択し、 [選択] を選択します。
別の価格レベルにスケーリングできますが、次のような制約があります。
- 上位の価格レベルから下位の価格レベルにスケーリングすることはできません。
- Premium キャッシュから Standard または Basic キャッシュにスケールすることはできません。
- Standard キャッシュから Basic キャッシュにスケールすることはできません。
- Basic キャッシュから Standard キャッシュにスケールすることはできますが、同時にサイズを変更することはできません。 サイズを変更する必要がある場合、後続のスケーリング操作でサイズを変更できます。
- Basic キャッシュから直接 Premium キャッシュにスケールすることはできません。 まず、1 回のスケーリング操作で Basic から Standard にスケーリングし、その後の操作で Standard から Premium にスケーリングします。
- C0 (250 MB) サイズにそれより大きなサイズからスケールダウンすることはできません。
キャッシュを新しい価格レベルにスケーリングするとき、左側の [Azure Cache for Redis] で状態が [拡大中] と表示されます。 スケーリングが完了すると、状態が [拡大中] から [実行中] に変わります。
- 上位の価格レベルから下位の価格レベルにスケーリングすることはできません。
以上でイベントがトリガーされ、そのメッセージが、Event Grid によってサブスクライブ時に構成したエンドポイントに送信されました。 メッセージは JSON 形式であり、1 つまたは複数のイベントの配列が含まれています。 次の例の JSON メッセージには、1 つのイベントの配列が含まれています。 Web アプリを表示して、ScalingCompleted イベントが受信されたことを確認します。
リソースをクリーンアップする
引き続きこのイベントを使用する場合は、このクイックスタートで作成したリソースをクリーンアップしないでください。 それ以外の場合は、このクイックスタートで作成したリソースを削除してください。
リソース グループを選択し、 [リソース グループの削除] を選択します。
次のステップ
カスタム トピックを作成し、イベントをサブスクライブする方法がわかったら、Event Grid でできることについて、さらに情報を収集しましょう。