Quotas, Limits & Regional Constraints
Like all AWS services, CloudWatch has service limits (also known as quotas) to protect both the customer and the service from unintentional or malicious resource over-consumption. Understanding these limits is crucial for designing scalable and reliable monitoring solutions. Some limits are adjustable (soft limits), while others are fixed (hard limits).
150 transactions per second (TPS).
50 TPS.
400 TPS.
20 metrics maximum.
10 dimensions maximum.
Metric data retention is fixed and cannot be changed. It is designed to automatically roll up data over time.
High-resolution metrics retained for 3 hours.
1-minute data retained for 15 days.
5-minute data retained for 63 days.
1-hour data retained for 455 days (15 months).
256 KB maximum.
1 MB or 10,000 events maximum.
800 TPS per log stream (bursts allowed).
20,000.
20 per account per Region.
60 minutes maximum.
20 maximum.
For adjustable limits, use the AWS Service Quotas console to request an increase before you hit the limit.
For APIs like `PutMetricData` and `PutLogEvents`, batch as much data as possible into a single call to reduce TPS.
When making API calls, implement exponential backoff with jitter in your application to handle throttling gracefully.
Avoid high-cardinality dimensions (like UserID or RequestID) that can cause a rapid increase in the number of unique metrics.
For long-term log storage, export logs from CloudWatch to Amazon S3, which is more cost-effective for archival.