EventBridge global endpoints should have event replication enabled
Checks that event replication is enabled for the EventBridge global endpoint. Replication sends custom events to the event buses in both the primary and the secondary Region; without it, events return to the primary Region after a failover only once the Route 53 health check is reset to healthy by hand.
- service
- EventBridge
- severity
- Medium
- scope
- evaluated in every region
How to fix it
- Can break clients: Every custom event is then processed in both Regions, so consumers that are not idempotent can act on the same event twice.
In the console
EventBridge → Global endpoints → the endpoint → Edit → Event replication
- Event replication enabled
- Selected
- Execution role
- Create a new role for this specific resource, or an existing role EventBridge can use for replication
With the AWS CLI
aws events update-endpoint --name <endpoint-name> --replication-config State=ENABLED --role-arn <replication-role-arn> --region <region>With Terraform
resource "aws_cloudwatch_event_endpoint" "this" {
name = var.endpoint_name
role_arn = var.replication_role_arn
event_bus {
event_bus_arn = var.primary_event_bus_arn
}
event_bus {
event_bus_arn = var.secondary_event_bus_arn
}
replication_config {
state = "ENABLED"
}
routing_config {
failover_config {
primary {
health_check = var.health_check_arn
}
secondary {
route = var.secondary_region
}
}
}
}
See which of your accounts this check is failing on.
Book a live scan