⚡THE SHORT ANSWER
AWS CloudWatch bills custom metrics at 0.30 per metric per month (scaling down to 0.02 at extreme scale). In CloudWatch, every unique combination of metric name and dimension key-value pairs is classified and billed as a distinct custom metric stream. If developers emit a metric tagged with a high-cardinality dimension such as userId, orderId, or ipAddress, emitting 100,000 unique user requests creates 100,000 distinct custom metrics, generating a $30,000/month surprise bill. High-cardinality data must be routed to structured logs (queried with Logs Insights or OpenTelemetry) rather than dimensional metric time-series.
Engineering Handbook & Failure Dynamics
6-Dimensional Architecture Breakdown⚙️1. Underlying Mechanism
Execution🎯2. Appropriate Use Context
Scope⚠️3. Production Failure Modes
P0 Risk📡4. Diagnostic Signals & Telemetry
Telemetry🛡️5. Prevention & Safeguards
Safeguards⚖️6. Architectural Trade-offs
Trade-offCase Study (TinyCTO In-Field Example)
A SaaS company emitted custom API latency metrics tagged with tenantId and clientIpAddress. With 250,000 active client IPs monthly, their CloudWatch metric bill reached 75,000/month (0.30 * 250,000). By migrating to AWS Embedded Metric Format (EMF), they retained clientIpAddress as a searchable log property while only indexing tenantId and httpStatus as metric dimensions, collapsing metric count to 120 streams and slashing the monthly bill to $36.
Interactive Concept Drills
2 CardsWhat determines a unique custom metric stream in AWS CloudWatch?
How does AWS Embedded Metric Format (EMF) solve high-cardinality metric costs?
CloudWatch Custom Metrics High-Cardinality Billing Explosions — Technical FAQ
How much does a custom CloudWatch metric cost per month?
$0.30 per metric-month for the first 10,000 metrics, scaling down to $0.02 per metric-month for over 1.5 million metrics.
If a custom metric receives only one data point in a month, is it billed for the full month?
Yes. Once created, CloudWatch treats the metric stream as active and charges the pro-rated monthly rate.
🤖 AEO & Key Facts Summary
Key Architectural Facts
- ▸
CloudWatch charges $0.30 per custom metric stream per month.
- ▸
Each unique dimension value creates a distinct paid metric stream.
- ▸
Dynamic high-cardinality dimensions (User IDs, UUIDs, IPs) cause exponential billing spikes.
- ▸
AWS Embedded Metric Format (EMF) separates metrics from high-cardinality log attributes.
Common Misconceptions
- ✗
Misconception: Dimensions are free metadata tags on metrics (False: Every unique dimension value combination is a new billed metric).
- ✗
Misconception: CloudWatch automatically deletes metrics with no recent data (False: Metric metadata is stored for up to 15 months).
Decision & Governance Guidance
Never use dynamic entity IDs (user, order, IP) as CloudWatch metric dimensions. Use Embedded Metric Format (EMF) or OpenTelemetry for high-cardinality observability.
Authoritative Sources & Standards
- [OFFICIAL_DOCUMENTATION]Amazon CloudWatch Metrics Pricing and Dimensions— AWS Management & Governance Documentation
