CloudWatch Pricing Explained: Ultimate Guide 2024
Introduction
Navigating AWS CloudWatch’s pricing can feel overwhelming, given the variety of features and services it offers. From monitoring metrics to storing logs, CloudWatch pricing covers multiple components that might leave you scratching your head. But don’t worry! In this blog post, we’ll simplify the pricing model and break it down into digestible sections, helping you understand what to expect so you can optimize your costs effectively.
Free Tier
Amazon CloudWatch offers a free tier to help you get started without incurring any costs upfront. Many AWS services, like EC2, S3, and Kinesis, automatically send basic metrics to CloudWatch at no additional charge, making it possible to run small applications entirely within the free tier limits.
Here’s a quick overview of what’s included in the CloudWatch Free Tier:
- Metrics:
- 10 custom or detailed monitoring metrics.
- 1 million API requests (some operations are excluded, such as
GetMetricData
).
- Dashboards:
- Up to 3 custom dashboards, each referencing 50 metrics.
- Alarms:
- 10 standard-resolution alarms (direct metric alarms without using Metric Insights).
- Logs:
- 5 GB data ingestion, storage, or scanned by Log Insights queries.
- 1,800 minutes of Live Tail logging (around 1 hour per day).
- Contributor Insights:
- 1 rule per month with the first 1 million log events matching the rule free.
- Application Monitoring and Synthetic Tests:
- 100 canary runs per month for testing application endpoints.
- 100 million Signals or 3 months of free usage (whichever comes first).
- Additional Free Trials:
- Evidently: 3 million events and 10 million analysis units.
- RUM (Real User Monitoring): 1 million events.
- Cross-account observability: 1 free trace copy from the source to the monitoring account.
After exceeding the free tier limits, CloudWatch switches to paid pricing based on usage for each feature, such as metrics storage, alarm triggers, or log ingestion.
By planning your monitoring needs within the free tier, you can efficiently manage costs and know exactly when you’ll need to switch to paid services. In the next section, we’ll break down the paid pricing model to show what costs you might encounter and how to control them effectively.
Paid Tier: Understanding CloudWatch Costs
CloudWatch’s billing is structured across 12 distinct features, each with its own cost model. These include metrics, logs, alarms, dashboards, and more. Throughout this guide, we’ve included detailed pricing examples to help you understand costs better and manage them effectively, avoiding surprises.
Before diving into the pricing details, it’s important to note that all price examples referenced here are based on the us-east-1 (N. Virginia) region. Keep in mind that pricing may vary slightly across other AWS regions, so be sure to check region-specific rates when planning your CloudWatch usage.
CloudWatch Logs Pricing
CloudWatch logs pricing depends on data ingestion, storage, and analysis. Below is a quick breakdown to help you understand the different components involved:
- No Data Transfer IN Charges: Ingesting logs into CloudWatch is free from AWS services.
- Data Transfer OUT: Outbound transfers follow the same pricing as EC2 data transfers to other services or the internet.
General Logs Pricing
- Ingestion (Data Collection):
- Standard: $0.50 per GB
- Infrequent Access: $0.25 per GB
- Archival (Data Storage):
- $0.03 per GB (compressed with a 0.15 compression ratio).
- Log Insights Queries:
- $0.005 per GB of data scanned.
- Live Tail Logging:
- $0.01 per minute for real-time streaming of logs.
- Data Masking and Protection:
- $0.12 per GB of data scanned for masking sensitive information.
Vended Logs Pricing
Vended logs are native AWS logs (e.g., VPC Flow Logs) that can be delivered to multiple destinations, such as CloudWatch Logs, S3, or Kinesis Data Firehose. The pricing for vended logs includes volume-based discounts:
- Ingestion (per GB):
- First 10 TB per month: $0.50
- Next 20 TB per month: $0.25
- Next 20 TB per month: $0.10
- Over 50 TB per month: $0.05
- Archival (Storage):
- $0.03 per GB (compressed).
- Converted to Apache Parquet (for VPC Flow Logs):
- $0.03 per GB.
Example: CloudWatch Logs Pricing
If you monitor HTTP response codes 24/7, sending 1 GB of log data per day for 30 days, your charges will look like this:
- Log Ingestion:
- 1 GB/day * 30 days = 30 GB
- First 5 GB: Free
- Next 25 GB: $0.50/GB * 25 = $12.50
- Monitoring Metrics:
- 3 metrics = $0
- Archived Logs:
- 6 GB compressed
- First 5 GB: Free
- Next 1 GB: $0.03 * 1 = $0.03
Total Monthly Cost: $12.50 + $0 + $0.03 = $12.53
CloudWatch Metrics Pricing
CloudWatch charges for custom metrics and detailed monitoring based on the number of metrics you use, with pricing tiers to reduce costs as usage increases.
Metrics Pricing (per month):
- First 10,000 metrics: $0.30 per metric
- Next 240,000 metrics: $0.10 per metric
- Next 750,000 metrics: $0.05 per metric
- Over 1 million metrics: $0.02 per metric
API Requests:
- GetMetricData, GetInsightRuleReport: $0.01 per 1,000 metrics requested
- GetMetricWidgetImage: $0.02 per 1,000 metrics requested
- Dashboard-related API requests: $0.01 per 1,000 requests
CloudWatch Metric Streams
Metric streams let you push real-time metrics to endpoints like Kinesis Firehose. Charges apply for the number of metric updates:
- Cost: $0.003 per 1,000 metric updates
Additional data transfer fees may apply for streaming metrics to external endpoints or across regions.
Example: EC2 Detailed Monitoring Costs
If your application runs on 5 EC2 instances with detailed monitoring enabled and each instance sends 7 metrics, the charges would be:
- Total Metrics: 7 metrics * 5 instances = 35 metrics
- Monthly Cost: 35 * $0.30 = $10.50 per month
Once you exceed 10,000 metrics, volume pricing tiers will apply.
CloudWatch Dashboards Pricing
- Automatic dashboards (these are the default dashboards available in the Monitoring section of various AWS services) are free.
- Custom dashboards cost $3 per dashboard per month, with pro-rated charges based on the hours the dashboard exists.
You are only charged for custom dashboards, and shared dashboards may incur API request costs (e.g., GetMetricData
) to render the data. Using Lambda metric math functions in dashboards counts as one metric per reference.
CloudWatch Alarms Pricing
CloudWatch charges for alarms based on their type and the metrics they monitor:
- Standard Resolution Alarm:
- $0.10 per alarm metric
- $0.10 per query analyzed (for Metric Insights queries)
- High-Resolution Alarm:
- $0.30 per alarm metric (evaluates every 10 or 30 seconds)
- Composite Alarm:
- $0.50 per composite alarm
Note:
- You are charged for each metric listed in an alarm’s expression (up to 10 metrics with metric math).
- Anomaly detection alarms incur extra charges for the upper and lower band metrics generated by the detection model.
Example: Alarming with Composite Alarms
Composite alarms combine multiple CloudWatch alarms into one, with a fixed price per composite unit. Here’s how the cost breaks down:
- 4 standard resolution alarms:$0.10 per alarm metric * 4 = $0.40 per month
- 1 composite alarm:$0.50 per month
Total Monthly CloudWatch Charges:
$0.40 + $0.50 = $0.90 per month
CloudWatch Contributor Insights Pricing
Contributor Insights provides visibility into your top contributors, helping you analyze log events, DynamoDB activities, and PrivateLink traffic.
Contributor Insights for CloudWatch Logs:
- $0.50 per rule per month
- $0.02 per 1 million log events matching the rule
Contributor Insights for DynamoDB:
- $0.50 per rule per month
- $0.03 per 1 million DynamoDB events
Contributor Insights for PrivateLink:
- $9.00 per rule per month
This tool helps you identify top contributors to specific metrics, making troubleshooting easier by
Example: Monitoring with Contributor Insights
If you monitor VPC Flow Logs with a monthly volume of 225 billion log events and use three Contributor Insights rules, your costs will be:
Rule Charges:
- 3 rules total
- First rule: Free
- 2 additional rules: 2 * $0.50 = $1.00
Matched Log Events Charges:
- 360 billion matched log events
- First 1 million events: Free
- 359,999 million events * $0.02 = $7,200
Total Monthly CloudWatch Charges:
$1.00 + $7,200 = $7,201
CloudWatch Application Signals Pricing
Application Signals monitor the inbound and outbound requests related to your applications and Service Level Objectives (SLOs).
Application Signals Pricing (per million signals):
- First 100 million signals: $1.50
- Next 900 million signals: $0.75
- Over 1 billion signals: $0.30
AWS X-Ray Tracing:
- First 100,000 traces per month: Free
- First 1 million traces retrieved or scanned: Free
- Additional traces are priced according to the AWS X-Ray pricing.
Example: CloudWatch Application Signals Costs
For an application receiving 25,000 requests per minute (inbound and outbound), with Service Level Objectives (SLOs) and X-Ray tracing enabled, here’s the monthly breakdown:
- Application Signals from Requests:
- Inbound requests: 1,095,000,000 signals
- Outbound requests: 2,190,000,000 signals
Total: 3,285,000,000 signals per month
- Application Signals from SLOs:
- 1-minute SLI period: 876,000 signals
- 5-minute SLI period: 175,200 signals
- 10-minute SLI period: 87,600 signals
Total: 1,138,800 signals per month
- Total Signals (Requests + SLOs):
- 3,286,138,800 signals per month
- Application Signals Charges:
- First 100 million signals @ $1.50 per million: $150
- Next 900 million signals @ $0.75 per million: $675
- Remaining 2,286,138,800 signals @ $0.30 per million: $685.84
Total: $1,510.84 per month
- X-Ray Traces:
- Traces stored: 54,650,000 (after free tier) @ $0.000005 per trace = $273.25
- Traces retrieved/scanned: 232,655,000 traces @ $0.000005 per trace = $115.82
Total: $389.07 per month
Total Monthly Charge for Application Signals & X-Ray:
$1,510.84 + $389.07 = $1,899.91
CloudWatch Synthetics Pricing
Amazon CloudWatch Synthetics allows you to create canaries—scripts that run on a schedule to monitor your endpoints and APIs. These canaries mimic customer behavior by following the same routes and actions, enabling you to proactively identify issues before they affect your users. Even without active customer traffic, canaries help ensure a smooth user experience.
Pricing:
- $0.0012 per canary run
Example: CloudWatch Synthetics Pricing
If you run 5 canaries every 5 minutes for one month, with alarms on 5 metrics and data storage, here’s your estimated monthly cost:
- Canary Run Charges:
- 44,640 runs @ $0.0012 per run = $53.57
- Alarms: 5 alarms @ $0.10 per month = $0.50
Total Canary Charges: $54.07
- Additional Charges from Other AWS Services: Each canary run triggers other AWS services, which can lead to extra costs:
- Lambda:
- Requests + 20-second duration per run
Cost: $14.89 per month
- Requests + 20-second duration per run
- CloudWatch Logs:
- Log collection and storage
Cost: $3.55 per month
- Log collection and storage
- S3 Storage:
- Storage of results in S3 buckets
Cost: $1.25 per month
- Storage of results in S3 buckets
- CloudWatch Metrics:
- 3 custom metrics (SuccessPercent, Duration, Failed)
Cost: $0.90 per month
- 3 custom metrics (SuccessPercent, Duration, Failed)
- Lambda:
- Total Additional Charges: $20.59
Total Monthly Cost:
$54.07 + $20.59 = $74.66
CloudWatch RUM Pricing
Amazon CloudWatch RUM enables real user monitoring to collect client-side data about your web application's performance from actual user sessions in near real time. With RUM, you can gain insights into page load times, client-side errors, and user behavior. This data can be viewed in aggregate or broken down by the browsers and devices your users are on, helping you improve the overall user experience.
Pricing:
- $1.00 per 100,000 RUM events
Example: CloudWatch RUM Costs
If your application receives 500,000 visits per month and you collect CloudWatch RUM events at 100% sampling for page load performance and error tracking, each visit generates 20 data events (e.g., start event, page view, web vitals, navigation, resource loads, and errors).
Calculation:
- Total RUM Data Events:
20 data events/visit × 500,000 visits = 10,000,000 data events - Charges:
10,000,000 data events @ $1 per 100,000 events = $100 per month
Monthly CloudWatch RUM Cost: $100
CloudWatch Evidently Pricing
CloudWatch Evidently helps developers run experiments to test feature performance by exposing them to selected users, monitoring metrics, and expanding rollouts safely.
Pricing:
- Evidently Events:
- $5.00 per million events
- (e.g., user actions like clicks or page views)
- Evidently Analysis Units:
- $7.50 per million units
- (e.g., a checkout event producing multiple analysis units, like cart value and item count)
Example: Evidently Traffic Splitting Costs
If you run a traffic-splitting campaign with two versions (old and new) and get 200,000 page views per month, your application generates one Evidently assignment per view to decide which version users see.
- Evidently Events: 200,000 assignments
- Pricing: $5 per million events
Monthly Cost:
200,000 events = $1.00
Note: CloudWatch metrics generated by Evidently will incur additional charges based on standard CloudWatch pricing.
CloudWatch Internet Monitor Pricing
Internet Monitor helps track the availability and performance of resources across multiple networks, identifying issues that affect user experience.
Pricing:
- Monitored resources:
- $0.01 per resource per hour
- Monitored city-networks:
- $0.74 per 10,000 city-networks per hour (after the first 100 city-networks per account)
Example: Internet Monitor Costs
If you monitor 10 CloudFront distributions and 20 VPCs, covering 45,000 city-networks, your monthly charges will be:
- Monitored Resources:
- 30 resources @ $0.01 per hour
Cost: 30 * $0.01 * 730 hours = $0.30 per hour
- 30 resources @ $0.01 per hour
- City-Network Charges:
- Total city-network hours: 45,000 * 730 = 32,850,000
- First 100 city-networks (flat rate): Free
- Remaining 32,776,000 city-network hours @ $0.74 per 10,000 hours
Cost: 32,776,000 * 0.000074 = $2,425.42 per month
- CloudWatch Logs:
- Top 500 city-networks generate 15 GB of logs per month
- First 5 GB: Free
- Remaining 10 GB @ $0.50 per GB
Cost: 10 * $0.50 = $5.00 per month
Total Monthly Cost:
$2,425.42 + $5.00 = $2,430.42
Additional Charges:
Internet Monitor publishes diagnostic logs to CloudWatch Logs, which may incur additional log storage and processing costs.
CloudWatch Network Monitor Pricing
Network Monitor tracks the performance of network resources, such as subnets in VPCs and on-premises IP addresses, ensuring visibility into network health.
Pricing:
- Monitored resources: $0.10 per resource per hour
Example: Network Monitor Costs
For a setup monitoring 3 VPC subnets connected to 8 on-premises destinations, here’s the monthly breakdown:
- Monitored Resource Charges:
- 3 subnets * 4 destinations per subnet @ $0.10 per hour
- Multiplied by 2 to cover all 8 destinations
Cost: 3 * 4 * 720 * $0.10 * 2 = $432 per month
- CloudWatch Metrics Charges:
- 3 subnets * 8 destinations = 24 probes
- 24 probes * 3 metrics per probe = 72 metrics
- 72 metrics @ $0.30 per metric per month
Cost: 72 * $0.30 = $21.60 per month
Total Monthly Charge:
$432 + $21.60 = $453.60
Network Monitor provides metrics for the resources it tracks, which may incur additional CloudWatch metric charges based on standard pricing.
CloudWatch Container Insights Pricing
Container Insights provides monitoring for containerized applications on EKS and ECS at both cluster and service levels. You can choose to enable enhanced observability for more granular metrics and insights.
Pricing (per Million Observations):
- First 1 billion observations: $0.21
- Next 3 billion observations: $0.18
- Over 4 billion observations: $0.10
Note:
- Without enhanced observability, you still get aggregated metrics at the cluster and service level.
- Logs generated by containers are billed separately under the CloudWatch Logs pricing model.
Container Insights provides critical visibility into EKS and ECS workloads, helping you monitor performance and troubleshoot containerized environments effectively.
Example: Container Insights Pricing for ECS
If you monitor 1 ECS cluster with:
- 10 EC2 instances
- 50 containers
- 20 task names
- 5 service names
Here’s how the costs break down:
CloudWatch Metrics Cost:
- 183 metrics (from clusters, tasks, and services)
- Cost: 183 metrics * $0.30 = $54.90 per month
CloudWatch Logs Cost:
- Total logs size: 3.49 GB (across clusters, services, tasks, and containers)
- Cost: 3.49 GB * $0.50 = $1.75 per month
Total Monthly CloudWatch Cost:
$54.90 (metrics) + $1.75 (logs) = $56.65 per month
Conclusion
AWS CloudWatch offers a wide range of features, from metrics and logs to alarms and dashboards, with a pricing model that reflects its versatility. While the free tier provides a great starting point for small applications, understanding the nuances of the paid pricing structure is crucial for managing costs as your usage scales. By carefully planning your monitoring strategy, optimizing log storage, and leveraging volume-based pricing, you can avoid unexpected expenses. Whether you're monitoring EC2 instances, running synthetic tests, or analyzing container workloads, CloudWatch equips you with the tools to maintain visibility across your AWS environment. Balancing functionality with cost-efficiency will help you get the most value out of CloudWatch, ensuring smooth operations without budget surprises.