Synopsis
Put the detailed bill somewhere your team controls
CUR 2.0 delivers detailed cost and usage records to an S3 bucket you own. Create it from the payer or management account that matches the scope of the questions your team needs to answer.
Observation
The setup choices will shape later investigations
Time granularity, resource inclusion, file format, compression, overwrite behavior, and S3 location affect cost, query design, and what you can investigate later.
Procedure
Set it up deliberately
- Open Billing and Cost Management → Data Exports.
- Create a standard export from the Cost and Usage Report 2.0 table.
- Choose hourly, daily, or monthly granularity from the question you expect to ask.
- Include resource IDs if resource attribution is required.
- Prefer Parquet for analytical queries; choose the S3 bucket and prefix deliberately.
- Review the generated bucket policy before creating the export.

Limits
Do not promise an answer the same afternoon
AWS states that initial report delivery can take up to 24 hours. Resource IDs are not populated for every service. Tags must be activated as cost-allocation tags before they appear, and they do not backfill historically.
Kulshan
Keep the source, then analyze a copy
kulshan analyze cost /path/to/export.parquet kulshan analyze ec2 /path/to/export.parquet
Keep the original export immutable and treat derived output as reproducible analysis.
Keep reading