構成
受信側EventBridgeの事前準備
EventBridgeのターゲットに異なるアカウントのEventBridgeを指定する際、受信側のEventBridgeイベントバスARNを指定する必要があります。
受信側EventBridgeのイベントバスARNをメモするために受信側アカウントにサインインします。
次に、送信側アカウントからのイベントを受信できるようにするためのアクセス許可を行います。
送信側EventBridgeの設定
送信側アカウントにサインインし、EventBridgeルールを作成します。
失敗しました。
異なるリージョンのターゲット追加は許可されていないようです。
同じリージョン間で作成します。
今度は作成できました。
ついでに自動作成されたIAMロールの内容を確認します。
受信側アカウントのイベントバスにイベント送信を許可するIAMポリシーがアタッチされていました。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"events:PutEvents"
],
"Resource": [
"arn:aws:events:us-east-1:${受信側アカウントID}:event-bus/default"
]
}
]
}
これで受信側EventBridgeで受信できるようになっているはずです。
受信側EventBridgeの設定
送信側EventBridgeからのイベントに一致するためのルールを作成します。
送信側EventBridgeからイベントの受信に成功したようで、ターゲットに指定したSNSからメールが届きました。
イベントの内容はJSON形式にすると以下のようになりました。
{
"version":"0",
"id":"724ffb86-a0db-06ef-5cef-1c1b407cfcb4",
"detail-type":"Scheduled Event",
"source":"aws.events",
"account":"${送信側EventBridgeのアカウントID}",
"time":"2021-02-16T10:38:38Z",
"region":"us-east-1",
"resources":["arn:aws:events:us-east-1:${送信側EventBridgeのアカウントID}:rule/test-cross-account"],
"detail":{}
}
料金
EventBridgeでクロスアカウントで送信した場合、送信アカウントに料金が請求されます。
無料ではないようです。
百万件の公開済みイベントごとに1ドルでした(2021.2.16現在)。
https://aws.amazon.com/jp/eventbridge/pricing/