CloudWatch Logs Cost Calculator

CloudWatch Logs cost usually comes from three drivers: ingestion (GB), retention storage (GB-month), and Logs Insights scans (GB scanned). This calculator groups those line items into one model so you can estimate a realistic monthly total and compare baseline vs peak months.

Maintained by CloudCostKit Editorial Team. Last updated: 2026-01-28. Editorial policy and methodology.

Best next steps

Use this calculator for the first estimate, then validate the answer with the closest guide or companion tool.

Inputs

Ingest volume (GB / day)
Retention (days)
Billing days (per month)
Ingest price ($ / GB)
Storage price ($ / GB-month)
Insights scanned (GB / day)
Insights price ($ / GB scanned)
Insights queries (per day)
Avg GB per query
Est 240 GB/day.
Scenario presets

Results

Estimated monthly total
$805.00
Ingestion cost
$760.00
Retention storage cost
$45.00
Logs Insights scan cost
$0.00
Monthly ingestion
1,520 GB
Stored volume (steady state)
1,500 GB

CloudWatch-specific gotchas

  • Subscription filters / exports: forwarding logs to another system can create a second ingestion bill.
  • Dashboards and alerts: frequent refresh + wide windows can multiply Insights scan volume.
  • Retention drift: log groups often default to "never expire" unless explicitly set.

CloudWatch Logs is one AWS bill with three moving parts

This page should be read as a CloudWatch-specific logging model: ingestion, retention, and Logs Insights scan behavior. Teams often notice the first line and miss the other two, which is why CloudWatch log cost can feel unpredictable even when ingestion is stable.

  • Log groups: the real unit of policy drift in CloudWatch, because retention often varies group by group.
  • Retention: defaults and drift create silent cost growth when groups stay on long or infinite retention.
  • Insights: query cadence and scan scope create a behavior-driven second bill.

Where CloudWatch log estimates usually drift

  • Large log groups are inventoried, but small long-lived groups with bad retention policies are ignored.
  • Insights scan activity is treated as occasional debugging even though dashboards may be querying constantly.
  • One blended GB/day number hides which log groups are actually driving ingestion growth.
  • Default "never expire" retention is assumed to be temporary but remains in place for months.

What to review before trusting the CloudWatch total

  • List the highest-volume log groups and verify retention on each one, not only on the largest few.
  • Separate ingestion, retention, and Insights scan behavior so you know which lever actually matters.
  • Review dashboard refresh cadence and recurring Insights queries before assuming scans are ad hoc only.
  • Treat incident-heavy months separately because CloudWatch query behavior changes materially during outages.

Baseline vs scan-heavy CloudWatch scenarios

Scenario Ingestion Retention Insights scans
Baseline Expected Current policy Typical dashboards
Peak High Same policy Incident queries

How to review the first real CloudWatch Logs bill

  • Check whether the miss came from ingestion, long-retention groups, or Insights-scanned bytes before changing assumptions.
  • Validate retention per log group and review whether recurring dashboards are causing most of the scan behavior.

Example scenario

  • Model baseline ingestion + retention first, then optionally add Logs Insights scans if you query heavily.
  • Retention can dominate when you keep high-volume logs for 90+ days; scans can dominate when dashboards query broad windows.
  • Use a peak multiplier when incidents or deploys spike ingestion and scans.

Included

  • Ingestion estimate from GB/day and $/GB.
  • Retention storage estimate from GB/day, retention days, and $/GB-month.
  • Optional Logs Insights scan estimate from scanned GB/day and $/GB scanned.
  • Optional query-based scan estimator (queries/day x GB per query).
  • Baseline vs peak comparison for incident spikes.

Not included

  • Exports/subscription filters to other systems (which may have their own ingestion charges).
  • Vendor-specific minimums and advanced features (anomaly detection, premium analytics).

How we calculate

  • Ingestion cost = (GB/day x billing days) x $/GB.
  • Retention storage (steady state) = (GB/day x retention days) x $/GB-month.
  • Optional: Logs Insights scan cost = (GB scanned/day x billing days) x $/GB scanned.
  • Model a peak month for incident logging and dashboard spikes.
  • Sum the line items for a monthly estimate.

FAQ

Why do CloudWatch Logs bills spike during incidents?
Incidents create retries/timeouts and verbose logs, which multiply ingestion. Incident dashboards often scan broader windows more frequently, multiplying Insights scans.
What is the most common modeling mistake?
Using one blended GB/day and forgetting that retention and scans are independent multipliers (retention days and query frequency).
How can I reduce costs quickly?
Drop noisy logs at source, shorten retention for low-value logs, and reduce broad Insights queries (narrow time windows and filter early).

Related tools

Related guides

Disclaimer

Educational use only. Not legal, financial, or professional advice. Results are estimates based on the inputs and assumptions shown on this page. Verify pricing and limits with your providers and documentation.

Last updated: 2026-01-28. Reviewed against CloudCostKit methodology and current provider documentation. See the Editorial Policy .