Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
118 lines (84 sloc) 9.35 KB
title description services author ms.service ms.author ms.topic ms.date ms.openlocfilehash ms.sourcegitcommit ms.translationtype ms.contentlocale ms.lasthandoff ms.locfileid
Azure Event Grid のイベント ドメイン
イベント ドメインを使用して、Azure Event Grid のトピックを管理する方法について説明します。
event-grid
banisadr
event-grid
babanisa
conceptual
01/08/2019
ef0a9213d095d0b7ae4343e2af145236a7e005a1
770b060438122f090ab90d81e3ff2f023455213b
HT
ja-JP
07/17/2019
68305403

Event Grid トピックを管理するためのイベント ドメインについて

この記事では、イベント ドメインを使用して、さまざまなビジネス組織、顧客、アプリケーションへのカスタム イベントのフローを管理する方法について説明します。 イベント ドメインを使用して、次のことを行います。

  • 大規模なマルチテナントのイベント処理アーキテクチャを管理する。
  • 承認と認証を管理する。
  • 各トピックを個別に管理するのではなく、パーティション分割する。
  • 各トピック エンドポイントへの個別の発行を回避する。

イベント ドメインの概要

イベント ドメインは、同じアプリケーションに関連する数多くの Event Grid トピック用の管理ツールです。 数千の個々のトピックを含めることができるメタ トピックと考えることができます。

イベント ドメインにより、ユーザーは、Azure サービス (Storage や IoT Hub など) によって使用されているものと同じアーキテクチャ を使用して、イベントを発行できます。 数千のトピックにイベントを発行できます。 また、ドメインでは、テナントをパーティション分割できるように各トピックの承認と認証を制御できます。

ユース ケースの例

例を使えば、イベント ドメインを最も簡単に説明できます。 Contoso Construction Machinery という会社を経営しているとします。この会社はトラクター、掘削機器、その他の重機を製造しています。 経営の一部として、機器のメンテナンス、システムの正常性、契約の更新などについて顧客にリアルタイムの情報をプッシュで提供します。 この情報はすべて、アプリ、顧客のエンドポイント、顧客が設定したその他のインフラストラクチャを含むさまざまなエンドポイントに到達します。

イベント ドメインを使用することで、Contoso Construction Machinery を単一のイベント処理エンティティとしてモデル化することができます。 各顧客は、ドメイン内のトピックとして表されます。 認証と承認は Azure Active Directory を使用して処理されます。 各顧客はトピックをサブスクライブし、イベントを自分に配信させることができます。 イベント ドメインを介した管理アクセスにより、確実に自分のトピックにのみアクセスできるようになります。

また、すべての顧客イベントを発行できる、単一のエンドポイントが提供されます。 Event Grid では、各トピックにより、そのテナントをスコープとするイベントのみが認識されるようにします。

Contoso Construction の例

アクセス管理

ドメインでは、Azure のロールベースのアクセス制御 (RBAC) を使用して、各トピックの承認と認証を細かく制御することができます。 これらのロールを使用することで、アプリケーションの各テナントを、アクセスを許可するトピックにのみ制限することができます。

イベント ドメインでの RBAC は、他の Event Grid や Azure でのマネージド アクセス制御の動作と同じように動作します。 RBAC を使用して、イベント ドメインでカスタム ロール定義を作成して適用します。

組み込みロール

Event Grid には、RBAC がイベント ドメインでより簡単に動作するように、2 つの組み込みロール定義があります。 EventGrid EventSubscription 共同作成者 (プレビュー) ロールと、EventGrid EventSubscription 閲覧者 (プレビュー) ロールです。 イベント ドメインでトピックをサブスクライブする必要があるユーザーに、これらのロールを割り当てます。 ロールの割り当てのスコープは、ユーザーがサブスクライブする必要があるトピックだけにします。

これらのロールについては、Event Grid の組み込みロールに関する記事をご覧ください。

トピックのサブスクライブ

イベント ドメイン内のトピックでイベントをサブスクライブすることは、カスタム トピックでイベント サブスクリプションを作成したり、Azure サービスからイベントをサブスクライブしたりすることと同じです。

ドメイン スコープ サブスクリプション

イベント ドメインでは、ドメイン スコープ サブスクリプションも許可されます。 イベント ドメインのイベント サブスクリプションでは、イベントの送信先となるトピックに関係なく、ドメインに送信されるすべてのイベントが受信されます。 ドメイン スコープ サブスクリプションは、管理や監査の目的で役立ちます。

イベント ドメインへの発行

イベント ドメインを作成するときに、Event Grid でトピックを作成した場合と同じような発行エンドポイントが与えられます。

イベント ドメインの任意のトピックにイベントを発行するには、カスタム トピックの場合と同じように、ドメインのエンドポイントにイベントをプッシュします。 唯一の違いは、イベントの配信先となるトピックを指定する必要があることです。

たとえば、次のイベントの配列を発行すると、"id": "1111" のイベントがトピック foo に送信され、"id": "2222" のイベントはトピック bar に送信されます。

[{
  "topic": "foo",
  "id": "1111",
  "eventType": "maintenanceRequested",
  "subject": "myapp/vehicles/diggers",
  "eventTime": "2018-10-30T21:03:07+00:00",
  "data": {
    "make": "Contoso",
    "model": "Small Digger"
  },
  "dataVersion": "1.0"
},
{
  "topic": "bar",
  "id": "2222",
  "eventType": "maintenanceCompleted",
  "subject": "myapp/vehicles/tractors",
  "eventTime": "2018-10-30T21:04:12+00:00",
  "data": {
    "make": "Contoso",
    "model": "Big Tractor"
  },
  "dataVersion": "1.0"
}]

イベント ドメインにより、トピックへの発行が自動的に処理されます。 管理する各トピックに個別にイベントを発行するのではなく、すべてのイベントをドメインのエンドポイントに対して発行することができます。 Event Grid によって、各イベントは正しいトピックに確実に送信されます。

制限とクォータ

イベント ドメインに関連した制限とクォータを次に示します。

  • イベント ドメインあたり 100,000 トピック
  • Azure サブスクリプションあたり 100 イベント ドメイン
  • イベント ドメイン内のトピックあたり 500 イベント サブスクリプション
  • 50 のドメイン スコープ サブスクリプション
  • 毎秒 5,000 イベントのインジェスト速度 (ドメインへの取り込み)

これらの制限が実情に沿わない場合は、サポート チケットを開くか、askgrid@microsoft.com 宛てにメールを送信して製品チームにご相談ください。

価格

イベント ドメインでは、Event Grid の他のすべての機能で使用されるのと同じ操作価格が使用されます。

イベント ドメインでの操作は、カスタム トピックの場合と同じように動作します。 イベント ドメインへのイベントの各取り込みは 1 回の操作であり、イベントの各配信試行も 1 回の操作となります。

次の手順

  • イベント ドメインの設定、トピックの作成、イベント サブスクリプションの作成、イベントの発行の詳細については、イベント ドメインの管理に関するページを参照してください。
You can’t perform that action at this time.