AWS Cost and Usage Report (CUR)

Think of CUR as your AWS itemized receipt, delivered daily to S3. It breaks down charges by hour, product, resource, and tag for spreadsheets or Athena queries. Mid-month numbers are estimates, so do not lock budgets until the report finalizes after invoicing.
WHY IT EXISTS: AWS billing generates enormous detail across thousands of line items, but CUR is the most comprehensive cost and usage dataset available. It was built so you can analyze, attribute, and audit every charge programmatically instead of relying on less detailed summaries.
THE MENTAL MODEL: Treat CUR like a daily bank statement delivered to your own filing cabinet. Every transaction is listed, but the balance is provisional until the bank closes the books at month end. You own the storage, you choose the analysis tool, and you accept that today's numbers are a running estimate.
HOW IT WORKS: After you create a report, AWS delivers CSV files to an S3 bucket you specify within 24 hours. The report updates at least once daily, and each version within a month is cumulative, containing all line items from the first of the month through the current date. Every unique combination of product, usage type, and operation gets its own row. The dataset always includes identity, bill, and lineItem columns, while optional columns such as savingsPlan only appear if you used those services. If the report exceeds roughly one million rows, AWS splits it into multiple CSV files and adds a manifest. You can choose to overwrite the previous file or create new versions on every update, which accumulates more objects in your bucket.
WHEN TO USE IT: Use CUR when you need to allocate costs by custom tag, analyze usage by product or resource, or feed the data into Athena or Redshift for deeper queries. It is the canonical source for anything more granular than a monthly total.
WHEN NOT TO USE IT: Do not use CUR when you need immediate, finalized cost data. The report updates only once daily and mid-month figures are estimates that change as services report usage. Charges remain subject to change until AWS finalizes the report after invoicing, so relying on preliminary numbers for hard commitments risks accuracy problems.
ONE CANONICAL EXAMPLE: A platform team wants to charge back EC2 and S3 spend to the teams that provisioned the resources. They tag every resource with a TeamID, enable CUR to deliver hourly CSVs to S3, and query the data with Athena. On the fifteenth of the month they see a spike for the mobile team, but they wait until the report finalizes after invoicing on the first of the next month before issuing the internal chargeback, because support fees and credits often post around the sixth or seventh.
Source: docs.aws.amazon.com
Read the original → docs.aws.amazon.com
- #aws
- #billing
- #cost-management
- #s3
- #cur
Get five bites like this every day.
Tezvyn delivers a daily feed of 60-second tech bites with quizzes to lock in what you learn.