All terms

Glossary

Cost and Usage Report

Also: CUR · AWS Data Exports · CUR 2.0

The most detailed cost report AWS offers: every resource, every hour, every pricing component as raw data instead of a chart.

Cost Explorer answers what is expensive. The Cost and Usage Report answers why. The difference is resolution: Cost Explorer aggregates by service, the CUR delivers every single usage line with timestamp, usage type, pricing component and, if you enable it when creating the export, the resource ID.

In practice it is set up as an export to S3 and queried with Athena. Setup takes about an hour. From then on you answer cost questions with SQL instead of guesses, and that is the real jump: a question like "which single log group costs us 400 euros" cannot be asked in Cost Explorer and is one line of SQL in the CUR.

The most important switch when creating the export is the option to include resource IDs. It is easy to miss, and without it exactly the column is missing that turns "CloudWatch is expensive" into "these fourteen metrics are expensive". Enabling it later works, but it does not apply retroactively.

The report has several cost columns and they answer different questions. Unblended shows what was charged in a month. Amortized spreads upfront payments and reservation fees across their term. As soon as commitments are involved, comparing two months in the unblended view is misleading.

The CUR itself costs almost nothing, the queries on it a few cents. Ironically Athena often shows up as a large cost item in grown accounts, but that comes from application queries over unpartitioned data, not from cost analysis.

How you notice it

  • Cost questions are answered with screenshots from Cost Explorer.
  • Nobody can say which individual resource sits behind a large line item.
  • There is no export to S3, or there is one without resource IDs.
  • Monthly comparisons are made in the unblended view although commitments exist.

Not to be confused with

Cost Explorer
Aggregated interface for the overview, good for trends and forecasts. It cannot resolve to individual resources and therefore answers no question about cause.
AWS Budgets
An alert on thresholds, not an analysis. Useful as a complement so that an outlier does not surface only at month end.
Cost Anomaly Detection
Reports outliers per service, free of charge. It tells you that something happened, not what. Still, it shortens the time to analysis considerably.

When it fits

  • Before any cost measure meant to move more than a few hundred euros.
  • When a line item in Cost Explorer is large but nobody can name the cause.
  • As soon as several teams or applications share the same accounts.

When it does not

  • For a single small account with three services Cost Explorer is enough.
  • As a replacement for tagging. The CUR shows which resource costs money, not who owns it.

How to approach it

  1. Create the export, with resource IDsAWS Data Exports, Parquet format, a dedicated S3 bucket as target. Set the resource ID option; it is the difference between overview and cause.
  2. Make it queryable with AthenaDefine a table over the export and partition it by date. Unpartitioned, every query scans the whole set, and that set grows daily.
  3. Group by usage type firstNot by service. line_item_usage_type shows whether CloudWatch means metrics, logs or dashboards, and those have different solutions.
  4. Then resolve to the resourceFor the conspicuous usage type, group by line_item_resource_id. That puts the specific log group, volume or table on the table.
  5. Turn the result into a list of measuresPer item: estimated monthly saving, effort in days, risk to operation. That list is the actual working document, not the report.

Frequently asked

What does the Cost and Usage Report itself cost?

The export costs only S3 storage, so cents. Queries with Athena are billed per terabyte scanned and stay in the cent range as well with partitioned data. A full analysis of a mid-sized account costs less than lunch.

Why not just use Cost Explorer?

Because it aggregates. "CloudWatch: 2,600 euros" is not information you can work with: behind it sit metrics, logs, dashboards and alarms with entirely different causes and solutions. Cost Explorer is good for the trend, the cause needs the raw data.

What is the difference between unblended and amortized?

Unblended shows what was actually charged in a month. Amortized spreads upfront payments and recurring reservation fees across their term. Without commitments the two are almost identical. With commitments, the amortized view is the only one in which a month-to-month comparison means anything.

How far back does the data go?

Only to the day the export was created. That is why it is worth setting up early, even when no cost question is pending: analysis needs comparison periods, and those only accumulate over time.

Read moreCutting AWS cost from 15,000 to 2,500 euros a month