Reputation: 984
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:
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
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