Azure Event Grid とは

Event Grid は、非常にスケーラブルなサーバーレスのイベント ブローカーであり、イベントを使ってアプリケーションを統合するために使用できます。 イベントは、Event Grid によって、アプリケーション、Azure サービス、または Event Grid がネットワーク アクセスできる任意のエンドポイントなどのサブスクライバーの宛先に配信されます。 他のアプリケーション、SaaS サービス、Azure サービスが、それらのイベントのソースになることができます。

イベント ドリブン アーキテクチャを使うソリューションを、Event Grid で接続します。 イベント ドリブン アーキテクチャは、イベントを使って、システム状態の変化の発生を、たとえば他のアプリケーションやサービスに通信します。 フィルターを使用することで、特定のイベントをさまざまなエンドポイントにルーティングしたり、複数のエンドポイントにマルチキャストしたり、イベントを確実に配信したりできます。

Azure Event Grid は、すべてのリージョンの複数の障害ドメインに、および可用性ゾーン (それらをサポートするリージョン内の) にネイティブに分散させることによって、可用性を最大化するようにデプロイされます。 Event Grid でサポートされているリージョンの一覧については、「リージョン別の利用可能な製品」を参照してください。

次の図は、イベント ソースとイベント ハンドラーまたは宛先をまとめたものです。

ソースとハンドラーの Event Grid モデル

注意

この図は、Event Grid によってソースとハンドラーが接続されるようすを示すもので、サポートされる統合の包括的な一覧ではありません。 サポートされるすべてのイベント ソースの一覧については、次のセクションを参照してください。

イベント ソース

Event Grid では、次のイベント ソースがサポートされています。

  1. 顧客がイベントをサブスクライブできるように Event Grid にイベントを発行する独自のサービスまたはソリューション。 Event Grid が提供する 2 種類のリソースを、要件に応じて使用できます。

    • カスタム トピックまたは単に "トピック"。 要件が次のユーザー ストーリーに似ている場合は、カスタム トピックを使います。

      "システムの所有者として、イベントを発行し、管理下にあるか否かに関わらず、システムのイベントを適切な方法で処理できるイベント ハンドラーにそのイベントをルーティングすることで、システムの状態変化を伝達する必要がある。"

    • ドメイン。 大規模な複数のチームにイベントを配信する場合は、ドメインを使います。 要件は、おそらく次のようになります。

      "システムの所有者として、システムのイベントを適切な方法で処理できるように、システムの状態変化を 1 つのテナントの複数のチームに通知する必要がある。"

  2. SaaS プロバイダーまたはプラットフォームは、パートナー イベントと呼ばれる機能を通じてイベントを Event Grid に発行できます。 たとえば、それらのイベントをサブスクライブして、タスクを自動化できます。 現在、次のパートナーからのイベントを利用できます。

  3. Azure サービス。 次の Azure サービスは Event Grid へのイベントの送信をサポートしています。 一覧のソースの詳細については、リンクを選択してください。

イベント ハンドラー

各ハンドラーの機能の完全な詳細および関連記事については、イベント ハンドラーに関する記事をご覧ください。 現在、次の Azure サービスは Event Grid からのイベントの処理をサポートしています。

概念

Azure Event Grid には、作業開始にあたり理解する必要がある、5 つの概念があります。

  • イベント - 発生内容
  • イベント ソース - イベントの発生元。
  • トピック - 公開元がイベントを送信するエンドポイント。
  • イベント サブスクリプション - イベントを (ときには複数のハンドラーに) ルーティングするエンドポイントまたは組み込みメカニズム。 サブスクリプションは、受信イベントをインテリジェントにフィルター処理するために、ハンドラーによっても使用されます。
  • イベント ハンドラー - イベントに反応するアプリまたはサービス

これらの概念の詳細については、「Azure Event Grid の概念」を参照してください。

機能

Azure Event Grid の主要な特長を次に示します。

  • 簡単 - Azure リソースから任意のイベント ハンドラーまたはエンドポイントまで、イベントにカーソルを合わせてクリックするだけで利用できます。
  • 高度なフィルター処理 - イベントの種類またはイベント発行パスに基づいてフィルター処理することで、イベント ハンドラーが関連するイベントのみを受け取るようにできます。
  • ファンアウト - 複数のエンドポイントを同じイベントにサブスクライブし、必要な数の場所にイベントのコピーを送信できます。
  • 信頼性 - 指数バックオフによる 24 時間の再試行で、確実にイベントが配信されるようにします。
  • イベントごとの支払 - Event Grid の使用量に対して料金を支払います。
  • 高スループット - Event Grid で大量のワークロードを作成できます。
  • 組み込みイベント - リソース定義の組み込みイベントにより、迅速に開始および実行できます。
  • カスタム イベント - Event Grid ルートを使用し、フィルター処理を行い、信頼性の高い方法でアプリにカスタム イベントを配信します。

Event Grid、Event Hubs、および Service Bus の比較については、「Choose between Azure services that deliver messages (メッセージを配信する Azure サービスの選択)」を参照してください。

Event Grid でできること

Azure Event Grid は、サーバーレス、操作の自動化、および統合作業を大幅に向上する複数の機能を提供します。

サーバーレス アプリケーション アーキテクチャ

サーバーレス アプリケーション アーキテクチャ

Event Grid はデータ ソースとイベント ハンドラーを接続します。 たとえば、Event Grid を使用して、Blob Storage コンテナーに追加されるとイメージを分析するサーバーレス関数をトリガーします。

操作の自動化

操作の自動化

Event Grid を使用すると、自動化を迅速にして、ポリシーの適用を簡素化できます。 たとえば、Event Grid を使用して、Azure SQL で仮想マシンやデータベースが作成されたら Azure Automation に通知します。 イベントを使用して、サービス構成が準拠していることの自動確認、操作ツールへのメタデータの配置、仮想マシンのタグ付け、作業項目を登録などを実行します。

アプリケーションの統合

Azure とのアプリケーションの統合

Event Grid はお客様のアプリを他のサービスにつなげます。 たとえば、お客様のアプリのイベント データを Event Grid に送信するカスタム トピックを作成すると、Event Grid の信頼性の高い配信、高度なルーティング、Azure との直接統合を利用できます。 または、Event Grid を Logic Apps と共に使用して、コードを作成することなく、場所を問わずにデータを処理することもできます。

Event Grid のコスト

Azure Event Grid では、イベントごとに課金される価格モデルを使用しているため、使用した分だけお支払いいただきます。 毎月の最初の 100,000 操作は無料です。 操作は、イベント イングレス、サブスクリプション配信の試行、管理呼び出し、サブジェクト サフィックスによるフィルター処理と定義されます。 詳細については、価格ページを参照してください。

次のステップ