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:
- For the source event buses: only the default event bus can receive events from AWS services.
- 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.