Free — no signup required

Cost Explorer vs. Cost & Usage Report (CUR)

3 min read

Two Tools, Two Levels of Detail

Think of AWS cost tooling like a hospital. Cost Explorer is the triage nurse — it gives you a quick overview and flags obvious problems fast. The Cost & Usage Report (CUR) is the full diagnostic lab — it gives you every data point, but you need expertise to interpret it.

Cost Explorer: The Dashboard

Cost Explorer is a browser-based visualization tool built into the AWS Billing Console. It requires no setup and is available to any AWS account.

  • Granularity: Daily or Monthly by default. Hourly granularity is available but incurs an additional charge (~$0.01 per 1,000 data points queried).
  • Filtering: You can slice spend by Service, Region, Linked Account, Tag, Instance Type, and more.
  • Use Cases:
    • "Why is our bill 20% higher this month compared to last month?"
    • "Show me RDS spend broken down by Region for the last 6 months."
    • "Which AWS service is our top cost driver?"
  • Limitation: Cost Explorer aggregates data. If you have 2,000 EC2 instances and one of them is misbehaving, Cost Explorer will show you the total EC2 line item but cannot easily isolate the specific offending instance ID. For that, you need CUR.

Cost & Usage Report (CUR): The Raw Data

CUR is the source of truth for all AWS billing data. AWS generates it automatically and delivers it as CSV or Parquet files to an S3 bucket you specify, updated 2–3 times per day.

  • Granularity: Hourly, at the individual resource level. Every resource ID, every usage type, every pricing dimension gets its own row.
  • Scale: A large AWS organization can produce CUR files with tens of millions of rows per month. You cannot open these in Excel.
  • Analysis Engine: You must query CUR with a tool. The standard AWS-native approach is Amazon Athena — a serverless SQL query engine that reads directly from S3. You define a table schema over your CUR files and then write SQL to answer billing questions.
  • Use Cases:
    • "Show me the exact cost of Lambda function image-resizer between 2:00 PM and 4:00 PM last Tuesday."
    • "Which untagged resources cost us more than $100 last month?"
    • "What percentage of our EC2 spend is covered by Savings Plans vs. On-Demand?"

CUR Setup Checklist:
1. Go to Billing Console → Cost & Usage Reports → Create Report.
2. Enable Resource IDs (critical — without this, you lose per-resource granularity).
3. Enable Athena integration (AWS will create the Glue table definition for you).
4. Choose Parquet format (columnar storage — Athena queries are 10–100x faster and cheaper than CSV for analytical workloads).
5. Activate Cost Allocation Tags in the Billing Console (covered in the Tagging section).

Interview Tip

Interviewers frequently ask: "What's the difference between Cost Explorer and CUR?" The trap is treating them as alternatives. The correct answer is that they serve different purposes at different levels of granularity. Cost Explorer is for quick visual analysis and trend spotting. CUR is for programmatic, resource-level auditing — especially when you need to build internal dashboards, automate anomaly detection, or do chargeback accounting. A mature FinOps practice uses both.

This is one of 18 chapters

Get every chapter — Kubernetes, Terraform, SRE, distributed systems, and more — with fast daily review built in.

See pricing