bjlevine
bjlevine

Reputation: 984

Default vs custom EventBridge bus

I have a cross-account EventBridge bus which receives events from a number of EventBridge buses in different regions and accounts. I am currently using the default buses for both the source (sending) buses and target (receiving) bus. The events I'm monitoring come from the Batch and EC2 services and I also send one custom event via PutEvents. The target/cross-account bus sends the events to an HTTP endpoint. This all works fine. The reason I'm using the default buses is that I think only the default buses can receive events from AWS services. However, my infrastructure consists of separate "stacks" for the dev, staging, and production environments and so I'd really prefer to create my own buses in each of those environments. So having to use the default event buses is pretty limiting.

I wanted to confirm that my understanding is correct that:

  1. For the source event buses: only the default event bus can receive events from AWS services.
  2. For the target/cross-account event bus: since it's receiving AWS service events (forwarded from the sourceevent buses), it also must be the default event bus.

I'm basing this on these statements from the EventBridge docs:

Many AWS services generate events that EventBridge receives. When an AWS service in your account emits an event, it goes to your account’s default event bus.

and

The default event bus accepts events from AWS services, other authorized AWS accounts, and PutEvents calls.

Upvotes: 7

Views: 6112

Answers (1)

Tomasz Breś
Tomasz Breś

Reputation: 705

Only the default event bus can receive events from AWS services.

However you can create EventBridge Rule to forward messages from defaut bus to custom bus.

You can create custom buses for your app and forward all/required messages from default bus to your app bus.

You can provide Event Bus ARN for cross account message delivery so it can be custom event bus, not the default one

Upvotes: 14

Related Questions