CubeAPM
CubeAPM CubeAPM

Amazon CloudWatch Pricing Calculator (2026) – CubeAPM

Why use this CloudWatch pricing calculator?​

Amazon CloudWatch pricing can become hard to estimate as usage grows because AWS bills logs, metrics, alarms, dashboards, and several advanced features separately. This calculator helps you estimate the main CloudWatch cost components using current us-east-1 pricing as of April 2026. Adjust the inputs above to match your workload, then read below to understand what drives each line item

AWS CloudWatch Pricing · Verified April 2026

Estimate your AWS CloudWatch bill

CloudWatch bills across 9+ separate billing dimensions - logs, metrics, alarms & dashboards, application observability, and infrastructure observability - with no committed-use discounts.

✓ All regions covered ✓ April 2026 prices ✓ No sign-up needed
Region
* Log & Synthetics prices vary by region; Metrics, Alarms & App Signals are global (us-east-1 rates apply worldwide)
Team size
View costs as:
No annual discount AWS CloudWatch is 100% pay-as-you-go - no committed-use pricing, no reserved capacity option
🔍
Application Observability
App Signals · X-Ray Traces · Synthetics · RUM
$0
App Signals billing mode:
$1.50/M · $0.75/M · $0.30/M (tiered)
M signals / mo
First 100M: $1.50/M · Next 900M: $0.75/M · Over 1B: $0.30/M (default for new App Signals users)
$0.000005 / trace
K traces / mo
$0.0012 / run
runs / mo
$0.00001 / event · $1 per 100K
M events / mo
📋
Logs
Ingestion · Storage · Insights Queries · Live Tail · Data Protection · Contributor Insights
$0
$0.50 / GB · varies by region
GB / mo
us-east-1: $0.50/GB flat for application logs (no volume discount) · first 5 GB/mo free · regional rates vary. Vended logs (VPC Flow, Route53, CloudFront) do qualify for AWS volume discounts - those workloads will bill less than shown.
$0.03 / GB-month stored
Billed on compressed size ≈ 15% of raw ingested volume × retention months · first 5 GB archival free (AWS Always Free)
$0.005 / GB scanned
GB / mo
us-east-1: $0.005/GB scanned · no volume tiers · rate varies by region · no standing free tier
$0.01 / min
min / mo
$0.12 / GB scanned
Off
$0.50 / rule · $0.02 / M events
rules M events / mo
🏗
Infrastructure Observability
Container Insights · DB Insights · Internet Monitor · Network Monitor
$0
$0.21 / M observations
B obs / mo
Tiered: $0.21/M (first 1B) · $0.18/M (1–4B) · $0.10/M (>4B)
$0.0125 / vCPU-hour
vCPUs
730 hrs / month assumed · Standard tier (free) not counted here
$0.003125 / ACU-hour
ACUs
730 hrs / month assumed · For Aurora Serverless v2 instances
$0.01 / resource-hour ≈ $7.30 / mo
resources
$0.0069 / resource-hour ≈ $5.04 / mo
resources
🔔
Dashboards & Alarms
Dashboards · Standard Alarms · High-Res Alarms · Composite Alarms
$0
$3.00 / dashboard / mo
dashboards
+ ~$4.32 API cascade / dashboard / mo from auto-refresh widget calls
$0.10 / alarm / mo
alarms
1-minute or 5-minute evaluation period
$0.30 / alarm / mo
alarms
$0.50 / alarm / mo
alarms
📊
Custom Metrics
Custom Metrics · GetMetricData API Calls · Metric Streams
$0
$0.30 → $0.10 → $0.05 → $0.02
metrics
Tier 1 (11–10,000) · $0.30/metric/mo
⚠️ High-cardinality trap: Using user_id, request_id, or session_id as a dimension multiplies your metric count by the number of unique values - potentially millions of billable metrics overnight.
Metric countRate / metric / month
First 10FREE
11 – 10,000$0.30
10,001 – 250,000$0.10
250,001 – 1,000,000$0.05
Over 1,000,000$0.02
$0.01 / 1,000 metrics analyzed
M metrics / mo
$10 per million metrics analyzed across all queries this month
$0.01 / 1,000 calls
M calls / mo
$0.003 / 1,000 updates
streaming metrics
43,200 updates / metric / month at 1-min resolution
CloudWatch Bill
📍 US East (N. Virginia) - us-east-1
🔍App Observability$0
📋Logs$0
🏗Infra Observability$0
🔔Dashboards & Alarms$0
📊Custom Metrics$0
Total CloudWatch / month
$0
list pricing · us-east-1
CubeAPM equivalent
$1,000
per month
-
Flat $0.15/GB covers logs, metrics, traces & APM. Runs entirely inside your own AWS account - your data never leaves your VPC.
Book a Demo →
Why teams switch
What's included with CubeAPM
CloudWatch charges across 9+ billing dimensions. CubeAPM replaces all of it with a single flat rate - $0.15/GB - running entirely inside your own AWS account.
📊
Unlimited Custom Metrics
No per-metric fees, no tier pricing, no high-cardinality traps. Add any dimension - user_id, request_id, region - without a surprise bill.
📋
Logs with Unlimited Retention
No triple billing for the same data. One $0.15/GB charge covers ingestion, storage, and querying - with no expiry policy required.
🔔
Unlimited Alarms & Dashboards
No $0.10/alarm/month. No $3/dashboard/month. No GetMetricData API cascade charges. Create as many as your team needs.
🔍
Full APM & Distributed Tracing
Application Performance Monitoring, distributed traces, and service maps - the same coverage as CloudWatch Application Signals at no extra per-GB rate.
🏗
Infrastructure & Container Monitoring
Host metrics, Kubernetes pod/container metrics, and service-level aggregates - no per-observation billing, no Container Insights surcharge.
🔒
Data Stays in Your VPC
CubeAPM deploys inside your own AWS account. Your logs, metrics, and traces never touch CubeAPM's infrastructure - full data sovereignty.
How it works: CubeAPM installs as a set of services inside your AWS account. All telemetry data - logs, metrics, traces, APM - is stored and queried within your own VPC. CubeAPM bills you $0.15 per GB of data ingested, with a $1,000/month minimum. Your cloud provider (AWS) bills you separately for the underlying compute and storage (~$0.02/GB infrastructure overhead).
FeatureAWS CloudWatchCubeAPM
Pricing model9+ separate billing dimensionsFlat $0.15/GB
Custom metrics $0.30–$0.02 per metric/month Unlimited, included
Log storage $0.03/GB/month (separate charge) Included, unlimited retention
Alarms $0.10–$0.50 per alarm/month Unlimited, included
Dashboards $3 per dashboard/month Unlimited, included
APM / Distributed Tracing $1.50/M signals (App Signals) Included in $0.15/GB
Container monitoring $0.21/M observations (Container Insights) Included in $0.15/GB
Annual commitment discount None - 100% pay-as-you-go Available on request
Multi-account volume pricing Each account pays full tier rates Single flat rate across all accounts
Data stays in your infrastructure In your AWS account In your AWS account
  • Log ingestion / storage / insights and Synthetics prices are region-specific (verified April 2026); Custom Metrics, Alarms, App Signals, Container Insights, DB Insights, Internet Monitor and Network Monitor are billed at us-east-1 list rates regardless of region
  • Log ingestion is flat $0.50/GB in us-east-1 for application logs (the tiered discount - $0.25/$0.10/$0.05 at higher volumes - applies only to AWS vended logs such as VPC Flow and Route53 DNS, not PutLogEvents / CloudWatch Agent traffic)
  • Presets are aligned to the Datadog pricing calculator's canonical sizes (2 / 10 / 50 / 250 / 1000 hosts) so CubeAPM's competitor calculators model the same workload profiles. Log volume = 72 GB/host/mo; App Signals ~= 5 req/sec/host; custom metrics 60-200/host (falls with scale).
  • App Signals - Golden Signals mode (default): billed per million signals at $1.50/M (first 100M), $0.75/M (next 900M), $0.30/M (over 1B). Preset signal counts are derived from host count × request rate, not from log volume.
  • App Signals - Transaction Search mode: billed per GB of APM span data at tiered rates ($0.35/GB first 10 TB, $0.20/GB next 20 TB, $0.15/GB above 30 TB). 1% of spans indexed free; additional indexing $0.75/M indexed spans (1 span ≈ 1 KB).
  • X-Ray: $0.000005/trace (recorded traces) after the 100,000/month Always Free allowance. Retrieval/scan not priced separately here.
  • Log storage: compressed size = ingested GB × 0.15 (gzip ~6.7:1) × retention months; first 5 GB/month archival free (AWS Always Free).
  • Log Insights: flat $0.005/GB scanned - no volume tiers, no standing free tier (the 5 GB allowance is AWS 12-month Free Tier only and is not applied here).
  • RUM: $0.00001 per web event with no standing free tier (the 1M-events allowance is AWS 12-month Free Tier only).
  • Alarms: first 10 alarm-metrics free (AWS Always Free); composite and high-resolution alarms are not part of that allowance.
  • Custom Metrics: first 10 metrics free (AWS Always Free), then tiered $0.30 → $0.10 → $0.05 → $0.02.
  • Contributor Insights: first rule free, events have no free tier ($0.02/M events from zero).
  • Metrics Insights: $0.01 per 1,000 metrics analyzed per query = $10 per million metrics analyzed/month.
  • Dashboard API cascade: 10 widgets × 43,200 refresh calls ÷ 1,000 × $0.01 = $4.32/dashboard/month. Applied to every dashboard, not just paid ones.
  • Synthetics cascade: ~$0.000003/run additional (Lambda + S3 + Logs per run). First 100 runs/month free (AWS 12-month Free Tier).
  • Metric Streams: 43,200 updates/metric/month at 1-minute resolution.
  • Database Insights: 730 hours/month assumed. Standard (free, 7-day history) tier not counted.
  • Annual view = monthly estimate × 12 (AWS CloudWatch has no annual pricing tier).
  • CubeAPM GB = log ingestion (raw) + APM data + metrics data + container observations. Coefficients: App Signals GS mode = 3.6 GB / M signals (~10 spans/signal × ~360 B/span; equivalent to the 45 GB/APM-host Uptrace benchmark), TS mode = user-entered GB; custom metrics = 3 MB/metric/month (time-series at 1-min resolution); container obs = 75 GB / billion. These mirror the realistic per-span payload range (500 B - 2 KB) and match the Datadog calculator's CUBEAPM_APM_GB_HOST constant.
  • Source: https://aws.amazon.com/cloudwatch/pricing/ - verified April 2026

Estimates based on publicly available AWS CloudWatch list pricing, verified April 2026. Actual bills vary by region, usage patterns, and AWS account credits. This calculator is not affiliated with or endorsed by Amazon Web Services, Inc.

CloudWatch
$0
CubeAPM
$1,000
- Book Demo

Quick Reference: CloudWatch Pricing at a Glance (US East — N. Virginia)

*Pricing varies by region. All figures reflect us-east-1 as of April 2026.

ComponentFree TierPaid Rate
Custom Metrics10 metrics/month$0.30 per metric for first 10,000; $0.10 per metric for next 240,000; $0.05 per metric above 250,000
Log Ingestion (Standard class)5 GB/month of CloudWatch Logs usage$0.50/GB for first 10 TB; $0.25/GB for next 20 TB; $0.10/GB for next 20 TB; $0.05/GB above 50 TB
Log Ingestion (Infrequent Access class)Starts at $0.25/GB for eligible logs
Log Storage (archived)Included within logs free tier$0.03/GB/month
Logs Insights Queries5 GB scanned/month$0.005/GB scanned
Standard Alarms10 alarm metrics/month$0.10 per alarm metric/month
High-Resolution Alarms$0.30 per alarm metric/month
Anomaly Detection AlarmsEffectively 3 standard alarm metrics per alarm, so about $0.30/month for one standard anomaly alarm
Composite Alarms$0.50/alarm/month
Custom Dashboards3 dashboards/month$3/dashboard/month
API Requests1 million requests/month$0.01 per 1,000 requests
Canary Runs (CloudWatch Synthetics)100 runs/month$0.0012/run
Container Insights (EKS enhanced observability)$0.21 per million observations for first 1 billion, then lower tiers at higher volume
Metric Streams$0.003 per 1,000 metric updates
Contributor Insights1 rule + first 1 million matched log events/month$0.50 per additional rule/month + $0.02 per 1 million matched log events
RUM Events$1.00 per 100,000 events

How Amazon CloudWatch Pricing Works

Amazon CloudWatch uses a pay-as-you-go pricing model. There is no base subscription fee, and charges are split across separate components depending on the features you use.

The free tier is useful for small workloads, but teams often move past it quickly as they add more services, logs, metrics, dashboards, and alarms.

A simple way to understand CloudWatch pricing is to break it into five main cost areas:

CloudWatch Metrics Pricing: What You’re Actually Paying For

Standard vs. Custom Metrics

Standard metrics are the built-in metrics that AWS services publish automatically, such as CPU utilization for EC2 or invocation count for Lambda. These standard service metrics are generally included at no extra CloudWatch metrics charge. You pay for custom metrics, which are metrics you publish to CloudWatch yourself, including metrics sent through the PutMetricData API or the CloudWatch agent.

In us-east-1, custom metrics are priced in tiers:

  • First 10,000 metrics: $0.30 per metric per month
  • Next 240,000 metrics: $0.10 per metric per month
  • Above 250,000 metrics: $0.05 per metric per month

Each unique combination of metric name and dimensions is counted as a separate custom metric. That means adding high-cardinality dimensions can increase costs very quickly, because every distinct dimension set is billed as its own metric.

Custom metrics are not charged as all-or-nothing monthly flat fees. They are prorated by the hour and billed only while metrics are being sent to CloudWatch. This means short-lived metrics cost less than metrics that run all month. AWS also applies the same hourly prorating idea to detailed monitoring.

 

EC2 Detailed Monitoring is billed as 7 custom metrics per instance, prorated hourly. So if you enable Detailed Monitoring on 50 EC2 instances for a full month, that equals 350 custom metrics. At the first-tier rate, that is about $105 per month before any higher-volume tier pricing applies. 

CloudWatch Logs Pricing: Where Bills Grow the Fastest

Log Ingestion Costs

CloudWatch Logs is often one of the biggest cost drivers in a CloudWatch bill, especially as log volume grows. In us-east-1, standard log ingestion uses tiered pricing:

  • $0.50/GB for the first 10 TB per month
  • $0.25/GB for the next 20 TB
  • $0.10/GB for the next 20 TB
  • $0.05/GB above 50 TB 

For log groups that do not need the full feature set of the Standard class, CloudWatch Logs Infrequent Access starts at a lower ingestion price and is designed for logs you query less often. AWS launched this class at 50% lower per-GB ingestion price than the Standard class, while still supporting Logs Insights queries. 

AWS introduced volume-tiered pricing for AWS Lambda logs sent to CloudWatch Logs on May 1, 2025. Before that change, Lambda logs were commonly priced at a flat $0.50/GB in us-east-1. Under the newer model, Lambda logs sent to CloudWatch Logs now start at $0.50/GB and tier down as volume increases, reaching rates as low as $0.05/GB in the lowest tier. AWS says this change applies automatically and does not require code or configuration changes. 

CloudWatch charges separately for archived log storage after the free tier, at $0.03/GB per month in us-east-1. If log groups are left on long retention or never-expire settings, storage costs can build up over time even if ingestion stays flat. Setting shorter retention periods for debug or development logs is one of the simplest ways to reduce cost without losing useful visibility. 

CloudWatch Logs Insights charges $0.005 per GB of log data scanned. The cost depends on how much data your query reads, not on how many results it returns. Narrower time ranges and smaller log group selections help reduce query cost.

Main fixes from your draft:

  • Changed the standard log ingestion tiers to include the missing $0.10/GB band between 30 TB and 50 TB. 
  • Changed the Lambda logs pricing date from May 2026 to May 1, 2025. 
  • Removed the exact “60 TB = roughly $12,500 instead of $30,000” example because your draft did not show the full calculation and it is better to keep this section precise and source-safe. 

CloudWatch Alarms Pricing

CloudWatch alarm costs depend on the type of alarm and the number of metrics involved. At small scale the pricing looks simple, but costs can rise quickly when you use metric math, anomaly detection, or large numbers of alarms.

Dashboards, Container Insights, and Advanced Features

Custom Dashboards

  • The first 3 custom dashboards each month are included in the free tier.
  • After that, custom dashboards cost $3 per dashboard per month in us-east-1.
  • AWS also notes that automatic dashboards are free.

  • Pricing is based on observations, not hosts.
  • In us-east-1, AWS charges $0.21 per million observations for the first 1 billion observations each month.
  • The rate then drops to lower tiers as volume increases.

  • The free tier includes 100 canary runs per month.
  • After that, CloudWatch Synthetics costs $0.0012 per run.
  • A canary that runs every 5 minutes would run about 8,640 times in a 30-day month.
  • That works out to about $10.37 in canary charges before adding Lambda, logs, metrics, and any storage costs created by the canary.

  • AWS includes a first-time free trial with 1 million web RUM events per account.
  • After that, RUM is billed separately based on event volume.
  • In your quick reference table, keeping this as $1.00 per 100,000 events is correct for us-east-1.

  • The free tier includes 1 Contributor Insights rule per month.
  • It also includes the first 1 million log events that match the rule each month.
  • After that, Contributor Insights has separate paid charges for additional rules and matched events.

  • AWS treats Application Signals as its own application observability pricing area.
  • The free usage depends on which Application Signals mode you use.
  • For the version that includes transaction visibility, AWS gives 3 months of free usage up to 100 GB ingested or 1 million indexed spans, whichever comes first.
  • For the golden-metrics-only version, AWS gives 3 months of free usage up to 100 million signals, whichever comes first.
  • Because of that, it is better to model Application Signals as its own calculator input instead of folding it into a small flat add-on line. 

Real-World CloudWatch Cost Scenarios

Small Serverless App (~$3–$8/month)

Growing Team (~$80–$200/month)

Mid-Size (~$250–$500/month)

Enterprise (~$5,000–$15,000+/month)

4 CloudWatch Billing Traps That Quietly Inflate Your Bill

High-cardinality metric dimensions

Every unique combination of metric name and dimensions counts as a separate custom metric in CloudWatch. That means if you add a high-cardinality field such as user ID, request ID, or another unbounded value, your custom metric count can grow very quickly. A safer way to phrase this is that high-cardinality dimensions are a major cause of unexpected custom metric growth.

CloudWatch Logs storage is billed separately, and storage costs can build up over time if log groups are kept for long periods or left on never-expire retention settings. If teams do not actively manage retention, storage charges can quietly grow month after month even when ingestion stays steady. Shorter retention for debug and development logs is one of the simplest ways to control this.

Deleting an EC2 instance, Lambda function, or another monitored resource does not automatically remove the CloudWatch alarms tied to it. Those alarms can remain in place and continue to bill until they are deleted manually. Reviewing old alarms regularly is a simple way to reduce unnecessary spend.

An anomaly detection alarm costs more than a standard alarm because CloudWatch bills it as three alarm metrics: the actual metric, the upper expected band, and the lower expected band. So one standard-resolution anomaly detection alarm costs about three times as much as a standard single-metric alarm. Teams that enable anomaly detection broadly can see alarm costs rise faster than expected if they do not account for this.

How to Reduce Your CloudWatch Bill

Set log retention policies on all log groups

CloudWatch storage costs can grow over time if logs are kept longer than necessary, and AWS specifically recommends changing log retention settings to lower storage costs. For development and debugging logs, shorter retention periods can reduce spend without affecting day-to-day monitoring.

AWS recommends using the Infrequent Access log class where appropriate because it is designed for logs that do not need the full Standard class feature set. It offers lower ingestion cost, but fewer features, so it should be used only where that tradeoff makes sense.

AWS notes that when a resource is deleted, the related metric alarms can still remain and typically move into the INSUFFICIENT_DATA state. Those alarms can continue to exist until they are removed manually, so checking for stale alarms is a practical cost-control step. AWS even documents using aws cloudwatch describe-alarms –state-value INSUFFICIENT_DATA for this check.

Because each unique combination of metric name and dimensions is billed as a separate custom metric, avoiding high-cardinality dimensions is one of the simplest ways to prevent unnecessary metric growth and cost. This is especially important for dimensions tied to unbounded values such as request IDs or user-level identifiers.

Logs Insights charges are based on how much data is scanned, so broader queries can cost more than necessary. Keeping query windows narrow and limiting the amount of log data scanned is a simple way to reduce analysis costs. AWS also notes that reviewing saved query history can help reduce unnecessary repeat query costs.

AWS recommends deciding whether certain vended logs should go to CloudWatch or to Amazon S3 based on the use case. If logs are mainly needed for auditing, compliance, or long-term storage rather than active CloudWatch analysis features, sending them to S3 can be the better fit.

When CloudWatch Gets Costly and What to Do About It

Why CloudWatch works well early on

CloudWatch is a strong default choice for teams early in their AWS journey. It gives built-in visibility for many AWS services, works directly with IAM and AWS resource tagging, and includes a free tier that is useful for smaller workloads.

The pricing model becomes harder to forecast as environments grow. CloudWatch charges are spread across separate components such as custom metrics, log ingestion, log storage, Logs Insights queries, alarms, dashboards, and advanced features. As usage increases across several of these areas at the same time, the total bill becomes harder to predict.

Teams that want simpler cost forecasting often start looking at alternatives with more predictable pricing models, especially when CloudWatch usage grows beyond basic AWS-native monitoring. This should be framed as your interpretation, not as something AWS states.

CubeAPM uses a flat ingestion-based model at $0.15/GB across metrics, logs, and traces, with no per-metric charges, no per-alarm fees, and no per-query costs. For a mid-size team ingesting 10 TB of telemetry per month, that is approximately $1,500 per month with more predictable billing. CubeAPM deploys in your own VPC, with no egress charges, full data control, and unlimited retention.

Conclusion

Amazon CloudWatch pricing is straightforward at small scale and genuinely complex at production scale. The free tier covers early development comfortably. Once you cross into custom metrics, high log volumes, Container Insights, and Synthetics, you’re navigating 15+ billing dimensions that compound in non-obvious ways.

Use the calculator above to model your specific workload before you commit. Apply the optimization strategies in this guide  log retention policies, IA log class, alarm audits, and dimension hygiene  to reduce your bill without reducing observability.

If your CloudWatch estimate is higher than you expected, it’s worth comparing to alternatives built with simpler pricing models. CubeAPM’s flat $0.15/GB pricing makes large-scale observability costs predictable and linear.

FAQs

Is Amazon CloudWatch free?

CloudWatch has an always-free tier that includes 10 custom metrics and 10 alarm metrics, 1 million API requests, 5 GB of log data ingestion, 5 GB of log data archive storage, and 3 dashboards with up to 50 metrics each per month. Standard metrics published automatically by many AWS services are generally available without custom metric charges. Most production workloads move beyond these free-tier limits fairly quickly.

Custom metrics are billed per metric per month and prorated by the hour. In us-east-1, the rate is $0.30 per metric for the first 10,000 custom metrics, $0.10 per metric for the next 240,000, and $0.05 per metric above 250,000 in the AWS pricing example. Each unique combination of metric name and dimensions counts as a separate custom metric. If a metric is sent only for part of the month, you pay only for the hours it was active.

Common causes include high-cardinality dimensions creating more custom metrics than expected, long log retention increasing storage costs, stale alarms that were never deleted, and anomaly detection alarms costing more than standard single-metric alarms. It is safer to avoid saying these are “the most common causes” unless you have a separate source for that ranking. AWS recommends using billing data and CloudWatch billing guidance to identify which features are driving spend.

No. The key pricing change happened on May 1, 2025, not in 2026. AWS introduced volume-tiered pricing for AWS Lambda logs sent to CloudWatch Logs, with pricing in us-east-1 starting at $0.50/GB and tiering down as volume increases, reaching as low as $0.05/GB in the lowest tier. Any guide that still treats Lambda logs as flat-rate pricing without this tiering is outdated.

Use the calculator at the top of your page to model your CloudWatch usage by component. For a broader AWS estimate that includes services such as EC2, RDS, and others outside CloudWatch itself, use the AWS Pricing Calculator. For CloudWatch specifically, it is important to estimate metrics, logs ingestion and storage, query scan volume, alarms, dashboards, and any advanced add-ons separately.

Yes. Using the CloudWatch agent, you can send metrics and logs from on-premises servers and from servers running in other cloud environments. In those cases, standard CloudWatch pricing for custom metrics and log ingestion still applies.

×
×