EventBridge は、同一アカウントおよびクロスアカウントのイベントルーティングをサポートしています。 イベントルールを使用すると、イベントをフィルタリングし、同一または異なる Alibaba Cloud アカウントに属するイベントバスにルーティングできます。 このトピックでは、EventBridge にイベントをルーティングするための前提条件、背景情報、注意事項、および手順について説明します。
前提条件
背景情報
同一アカウントルーティング
次の図に示すように、システムイベントバス default とカスタムイベントバス A、B、C はすべて Alibaba Cloud アカウント A に属しています。これらのイベントバスのいずれかから、同じアカウント内の別のカスタムイベントバスにイベントをルーティングして、一元的に処理できます。
クロスアカウントルーティング
次の図に示すように、Alibaba Cloud アカウント A と B は、同じ組織または関連する組織に属しています。送信元アカウント (アカウント A) から受信側アカウント (アカウント B) のイベントバスにイベントをルーティングして、一元的に処理できます。一般的なワークフローは次のとおりです。
-
受信側アカウント (アカウント B) は RAM ロールを作成します。このロールの信頼されたエンティティは、送信元アカウント (アカウント A) です。
-
受信側アカウント (アカウント B) は、RAM ロールにイベントを発行する権限を付与します。これにより、アカウント A はそのロールを引き受け、アカウント B にイベントを発行できるようになります。
-
受信側アカウント (アカウント B) は、RAM ロールの信頼ポリシーを変更して、送信元アカウントの EventBridge サービスがそのロールを引き受けられるようにします。
-
送信元アカウント (アカウント A) は、イベントルールを作成して、受信側アカウント (アカウント B) のイベントバスにイベントをルーティングします。

受信アカウントの 1 つのイベントバスで、複数の送信アカウントからのイベントをサポートできます。これらのイベントの aliyunoriginalaccountid 拡張フィールドはその送信元を識別し、受信アカウントは aliyunoriginalaccountid フィールドを使用してイベントをフィルターできます。
注意事項
-
同一アカウントルーティングとクロスアカウントルーティングの両方で、異なるリージョン間のイベントルーティングがサポートされています。
-
システムイベントバスからカスタムイベントバスへのイベントルーティングのみが可能です。同様に、カスタムイベントバスから別のカスタムイベントバスへのイベントルーティングのみが可能です。
同一アカウントルーティング
-
EventBridge コンソールにログインし、左側のナビゲーションペインで、イベントバス をクリックします。
-
トップナビゲーションバーで、リージョンを選択します。[イベントバス] ページで、システムイベントバス [default] をクリックします。
-
左側のナビゲーションペインで、[イベントルール] をクリックし、[ルールの作成] をクリックします。
-
ルールの作成 ウィザードで、以下の手順を完了します。
-
基本情報の設定 タブで、ルールの Name と Description を入力し、Next をクリックします。
-
イベントパターンの設定 タブで、次のパラメーターを設定し、Next をクリックします。
-
[イベントソース]: Alibaba Cloud サービスを選択します。
-
[イベントタイプ]: イベントタイプを選択します。
-
[パターン内容]: イベントパターンを入力します。
-
-
イベントターゲットの設定 タブで、以下のパラメーターを設定し、Create をクリックします。
-
[サービスタイプ]: EventBridge を選択します。
-
[ターゲットタイプ]:同一アカウントのイベントバス を選択します。
-
[リージョン]:ターゲットのイベントバスが配置されているリージョンを選択します。
-
[イベントバス]: イベントバスを選択します。
-
[Event]: デフォルトは 完全なイベント であり、CloudEvents 1.0 形式で未変換の完全なイベントを配信します。
説明イベントルールには最大 5 つのターゲットを設定できます。
-
その後、ターゲットのイベントバスでイベントをクエリできます。詳細については、「イベントのクエリ」をご参照ください。
-
クロスアカウントルーティング
ステップ 1: RAM ロールの作成
-
受信側アカウント (アカウント B) で[RAM コンソール]にログインします。
-
ナビゲーションペインで、[ID] > [ロール] を選択します。
-
[ロール] ページで、[ロールの作成] をクリックします。
-
[ロールの作成] ページで、[信頼できるエンティティタイプ] に [Alibaba Cloud アカウント] を選択し、[次へ] をクリックします。
-
[現在の Alibaba Cloud アカウント]:現在の Alibaba Cloud アカウント内のすべての RAM ユーザーと RAM ロールがこのロールを引き受けることを許可します。
-
[他の Alibaba Cloud アカウント]:別の Alibaba Cloud アカウントのすべての RAM ユーザーと RAM ロールがこのロールを引き受けることを許可します。その後、他のアカウントの ID を入力する必要があります。このオプションは、クロスアカウントのリソースアクセスに使用されます。詳細については、「RAM ロールを使用した Alibaba Cloud アカウント間のリソースへのアクセス」をご参照ください。 アカウント ID は セキュリティ設定 ページで確認できます。
-
-
ロール情報を設定します。
-
ロール名 を入力します。
-
任意: Remarks を入力します。
-
[信頼できる Alibaba Cloud アカウントの選択] で [その他の Alibaba Cloud アカウント] を選択し、送信元アカウント (アカウント A) の ID を入力した後、完了 をクリックします。
-
ステップ 2: ロールへの権限付与
-
受信アカウント (アカウント B) でRAM コンソールにログインします。
-
左側のナビゲーションペインで、[ID] > [ロール] を選択します。
-
[ロール] ページで、対象の RAM ロールを探し、[操作] 列の [権限の追加] をクリックします。
複数の RAM ロールを選択し、リストの下部にある [権限を追加] をクリックして、権限を一括で付与することもできます。
-
ポリシーのアタッチ パネルで、以下の設定を構成します。
-
承認範囲を選択します。
-
[アカウント]:権限は Alibaba Cloud アカウント全体に適用されます。
-
[リソースグループ]:権限は指定されたリソースグループにのみ適用されます。
説明リソースグループに権限を付与するには、クラウドサービスがリソースグループをサポートしている必要があります。 詳細については、「リソースグループと連携するサービス」をご参照ください。
-
-
プリンシパルを指定します。
プリンシパルは、承認する RAM ロールです。システムは現在の RAM ロールを自動的に選択しますが、他のロールを追加することもできます。
-
権限ポリシーを選択します。
[ポリシー] リストから、AliyunEventBridgePutEventsPolicy を検索して選択し、[OK] をクリックします。
説明-
一度に最大 5 つのポリシーをアタッチできます。それ以上アタッチするには、操作を繰り返してください。
-
システムポリシーが要件を満たさない場合は、カスタムポリシーを作成してきめ細かなアクセス制御を行い、送信元アカウントに特定のイベントバスに対する権限を付与します。詳細については、「カスタムポリシーの作成」をご参照ください。
-
-
ステップ 3: 信頼ポリシーの変更
-
受信側アカウント (アカウント B) でRAM コンソールにログインします。
-
ナビゲーションペインで、[ID] > [ロール] を選択します。
-
[ロール] ページで、対象の RAM ロールの名前をクリックします。
-
[信頼ポリシー] タブをクリックし、次に [信頼ポリシーの編集] をクリックします。
-
信頼ポリシーを変更し、[信頼ポリシーの保存] をクリックします。
次のコードは、信頼ポリシーのサンプルです。
{ "Statement":[ { "Action":"sts:AssumeRole", "Effect":"Allow", "Principal":{ "Service":[ "Account_A_ID@eventbridge.aliyuncs.com" ] } } ], "Version":"1" }ポリシーを保存すると、送信側アカウント (アカウント A) の EventBridge サービスは RAM ロールを引き受けることができます。
ステップ 4: イベントルールの作成
-
送信アカウント (アカウント A) でEventBridge コンソールにログインします。左側のナビゲーションペインで、イベントバス をクリックします。
-
上部のナビゲーションバーでリージョンを選択します。[イベントバス]ページで、システムイベントバス [default] をクリックします。
-
左側のナビゲーションペインで、[イベントルール] をクリックし、次に [ルールの作成] をクリックします。
-
ルールの作成 ウィザードで、以下の手順を完了します。
-
基本情報の設定 タブで、ルールの Name と Description を入力し、Next をクリックします。
-
イベントパターンの設定 タブで、次のパラメーターを設定し、Next をクリックします。
-
[イベントソース]: Alibaba Cloud サービスを選択します。
-
[イベントタイプ]: イベントタイプを選択します。
-
[パターン内容]:イベントパターンを入力します。
-
-
イベントターゲットの設定 タブで、次のパラメーターを設定し、Create をクリックします。
-
[サービスタイプ]: EventBridge を選択します。
-
[ターゲットタイプ]: クロスアカウントイベントバス を選択します。
-
[リージョン]:ターゲットアカウントのリージョンを選択します。
-
[アカウント ID]:受け取り側のアカウント (アカウント B) の ID を入力します。
-
[イベントバス名]: default を入力します。
-
[ロール設定]: 手順 1 で作成した RAM ロールの名前を入力します。
-
[Event]: デフォルトは 完全なイベント で、変換されていない完全なイベントを CloudEvents 1.0 フォーマットで配信します。
説明イベントルールには最大 5 つのターゲットを設定できます。
-
その後、受信側アカウント (アカウント B) はルーティングされたイベントをクエリできます。詳細については、「イベントのクエリ」をご参照ください。
-