AWS アカウント間での Amazon EventBridge イベントの送受信
EventBridge は、AWS アカウントのイベントバス間でイベントを送受信するように設定することができます。アカウント間でイベントを送受信するように EventBridge を設定する場合、どの AWS アカウントが自分のアカウントとの間で イベントバスにイベントを送信したり、イベントを受信したりできるかを指定することができます。また、イベントバスに関連する特定のルールからのイベントや、特定のソースからのイベントを許可または拒否することもできます。詳細については、「Amazon EventBridge リソースポリシーによるクロスアカウントアクセスの簡素化
注記
AWS Organizations を使用する場合は、組織を指定し、その組織内のすべてのアカウントにアクセス許可を付与できます。さらに、別のアカウントにイベントを送信する場合、送信イベントバスには IAM ロールがアタッチされている必要があります。詳細については、AWS Organizations ユーザーガイドの AWS Organizations とはを参照してください。
注記
Incident Manager の対応プランをターゲットとして使用している場合、アカウントで共有されているすべての対応プランがデフォルトで利用できます。
送信先リージョンがサポートされているクロスリージョン 送信先リージョンである限り、すべてのリージョンの同じリージョン内の AWS アカウント間、および異なるリージョン内のアカウント間でイベントバスを送受信できます。
EventBridge が別アカウントのイベントバスにイベントを送信したり、イベントバスからイベントを受信したりするように設定するステップは以下のとおりです。
-
受信側アカウントで、指定した AWS アカウント、組織、またはすべての AWS アカウントが受信側アカウントにイベントを送信できるように、イベントバスに対するアクセス許可を編集します。
-
送信側アカウントで、受信側アカウントのイベントバスをターゲットとする 1 つ以上のルールを設定します。
送信側アカウントが、AWS 組織からイベントを送信する権限を継承している場合、送信側アカウントは、受信側アカウントにイベントを送信できるポリシーを持つ IAM ロールも必要です。受信側アカウントのイベントバスを対象としたルールの作成に AWS Management Console を使用すると、ロールが自動的に作成されます。AWS CLI を使用する場合は、このロールを手動で作成する必要があります。
-
受信側アカウントで、送信側アカウントからのイベントに一致する 1 つ以上のルールを設定します。
1 つのアカウントから別のアカウントに送信されたイベントは、カスタムイベントとして送信側アカウントに課金されます。受信側アカウントには課金されません。詳細については、「Amazon EventBridge の料金
受信側アカウントで、送信側アカウントから受信したイベントを第三のアカウントに送信するルールが設定されていても、それらのイベントは第三のアカウントには送信されません。
次のビデオでは、アカウント間のルーティングイベントについて説明します。
他の AWS アカウントからのイベントを許可するアクセス許可の付与
他のアカウントや組織からイベントを受信するには、まず、イベントを受信するイベントバスに対する許可を編集する必要があります。デフォルトのイベントバスは、AWS のサービス、他の承認された AWS アカウント、および PutEvents
コールからイベントを受け入れることができます。イベントバスに対するアクセス許可は、イベントバスにアタッチされたリソースベースのポリシーを使用して付与または拒否されます。ポリシーでは、アカウント ID を使用して他の AWS アカウントに、または組織 ID を使用して AWS 組織に許可を付与することができます。ポリシーの例など、イベントバスに対するアクセス許可についての詳細は、Amazon EventBridge イベントバスのアクセス許可 を参照してください。
注記
EventBridge では、すべての新しいクロスアカウントイベントバスターゲットに IAM ロールを追加することが必要になりました。これは、2023 年 3 月 2 日以降に作成されたイベントバスターゲットにのみ適用されます。この日より前に IAM ロールなしで作成されたアプリケーションは影響を受けません。ただし、IAM ロールを追加して、ユーザーに別のアカウントのリソースへのアクセスを許可することをお勧めします。これにより、サービスコントロールポリシー (SCP) を使用する組織の境界が適用され、組織内のアカウントからイベントを送受信できるユーザーを特定できるようになります。
重要
すべての AWS アカウントからイベントを受信することを選択した場合、他のアカウントから受信するイベントにのみ一致するルールを慎重に作成します。より安全なルールを作成するには、各ルールのイベントパターンに、Account
フィールドと、イベントの受信元の 1 つ以上のアカウントのアカウント ID が必ず含まれるようにします。[Account] フィールドを含むイベントパターンを持つルールは、[Account
] フィールドにリストされていないアカウントから送信されたイベントと一致しません。詳細については、「Amazon EventBridge イベント」を参照してください。
AWS アカウント間のイベントのルール
アカウントが他の AWS アカウントからイベントバスを受信するように設定されている場合、それらのイベントに一致するルールを作成できます。他のアカウントのイベントバスから受信しているイベントと一致するように、ルールのイベントパターンを設定します。
ルールのイベントパターンで account
を指定した場合を除き、アカウントのルール (新規と既存の両方) のうち、他のアカウントのイベントバスから受信しているイベントに一致するすべてのルールがトリガーされます。別のアカウントのイベントバスからイベントを受信し、自分のアカウントから生成されたときにそのイベントパターンのみでルールがトリガーされるようにするには、account
を追加し、自分のアカウント ID をルールのイベントパターンに指定する必要があります。
すべての AWS アカウントのイベントバスからイベントを受け入れるように AWS アカウントを設定する場合、アカウントの各 EventBridge ルールに account
を追加することを強くお勧めします。これにより、アカウントのルールで、不明な AWS アカウントからのイベントによるトリガーの発生を防止できます。ルールで account
フィールドを指定するときは、1 つ以上の AWS アカウントのアカウント ID をフィールドで指定できます。
許可を付与した AWS アカウントのイベントバスから一致するイベントに対してルールをトリガーするには、ルールの [account
] フィールドに * を指定しないでください。これにより、* はイベントの account
フィールドに表示されないため、どのイベントとも一致しません。代わりに、ルールから account
フィールドを省略します。
AWS アカウント間でイベントを送信するルールの作成
別のアカウント内のイベントバスをターゲットとして指定することは、ルール作成の一部です。
コンソールを使用して、イベントを別の AWS アカウントに送信するルールを作成するには
「イベントに反応する Amazon EventBridge ルールの作成」のステップに従います。
「ターゲットを選択する」ステップで、ターゲットタイプを選択するように求めるプロンプトが表示された場合:
[EventBridge イベントバス] を選択します。
[別のアカウントまたはリージョン内のイベントバス] を選択します。
[ターゲットとしてのイベントバス] に、使用するイベントバスの ARN を入力します。
ステップに従ってルールの作成を完了します。