aws_cloudwatch_event_rule cost estimation
An EventBridge (CloudWatch Events) rule that routes events to targets. The rule is free; custom events published cost ~$1/million. AWS-service events are free.
An aws_cloudwatch_event_rule is an Amazon EventBridge (formerly CloudWatch Events) rule — it matches events on a bus and routes them to targets (Lambda, SQS, Step Functions, etc.). The rule itself and its evaluations are free. What costs money is custom events published to a custom bus: ~$1.00 per million. Events from AWS services on the default bus, and the rule matching/scheduling, are free. So 1M custom events is ~$1/month.
This makes EventBridge rules nearly free for the most common patterns: scheduled rules (cron-like triggers) and rules reacting to AWS-service events (EC2 state changes, S3 events, etc.) cost nothing. You only pay when your own applications publish custom events to a custom event bus.
The cost driver, where it exists, is custom-event volume — and even then it's inexpensive ($1/million). Schema discovery and archive/replay have their own small charges. For high-volume custom event routing, the broader pattern comparison (vs SQS/SNS) matters more than the per-rule cost.
c3x prices the rule from custom-event volume as usage, so projected cost can be modelled — usually negligible unless you publish many custom events.
Terraform example
A minimal but realistic configuration that C3X can estimate.
resource "aws_cloudwatch_event_rule" "nightly" {
name = "nightly-batch"
schedule_expression = "cron(0 2 * * ? *)"
}
resource "aws_cloudwatch_event_target" "batch" {
rule = aws_cloudwatch_event_rule.nightly.name
arn = aws_lambda_function.batch.arn
}Pricing dimensions
What you actually pay for when you provision aws_cloudwatch_event_rule.
| Dimension | Unit | What's being charged |
|---|---|---|
| Custom events | per event | Custom events published to a custom bus, ~$1/million. AWS-service events on the default bus, rule matching, and scheduled rules are free. $0.000001/event → 1M custom events = $1/month |
Sample C3X output
1M custom events published in a month:
aws_cloudwatch_event_rule.nightly
└─ Custom events 1,000,000 events $1.00
Monthly $1.00Optimization tips
Common ways to reduce aws_cloudwatch_event_rule cost without changing the workload.
Use AWS-service events and schedules freely
These patterns are freeRules reacting to AWS-service events (EC2/S3/etc.) and scheduled (cron) rules cost nothing — the rule and its evaluations are free. Use them liberally; there's no per-rule charge to optimize.
Only custom events cost — and little
Minimal at typical volumesYou pay ~$1/million only for custom events your apps publish to a custom bus. Even high custom-event volume is inexpensive; it's rarely worth optimizing the per-event cost.
Compare routing patterns at high volume
Pattern-dependent at scaleFor very high-volume event routing, the choice between EventBridge, SNS, and SQS matters more than the per-event cost — EventBridge's content-based routing justifies its rate when you need it. See the messaging cost comparison.
FAQ
How is an EventBridge rule billed?
The rule itself, its evaluations, scheduled rules, and AWS-service events on the default bus are all free. You only pay ~$1/million for custom events your applications publish to a custom event bus. 1M custom events is ~$1/month.
Do scheduled (cron) EventBridge rules cost anything?
No — scheduled rules and rules reacting to AWS-service events are free. Cost only arises from custom events published to a custom bus, and even then it's ~$1/million.
How does c3x estimate the cost?
It's usage-driven, so c3x models it from custom-event volume in c3x-usage.yml. For most rules (schedules, AWS-service events) the cost is zero.
Related resources
Estimate this resource in your own Terraform
Free, open source, no API key. C3X parses your Terraform and shows line-item cost for every resource, including aws_cloudwatch_event_rule.