CostCatch
Docs/ Connectors/ AWS
Available Cloud

Connect AWS

Cost Catch reads your AWS Data Exports — a Cost & Usage Report (CUR 2.0) or a FOCUS export — straight from your own S3 bucket, landing as tables in your Snowflake account. Already have a compatible export? Just point Cost Catch at the bucket — there's nothing to recreate.

Before you start

You'll want three things in place. The app generates everything technical for you — this is just who and what you need:

  • An AWS Data Export (CUR 2.0 or FOCUS) delivering to an S3 bucket. Already have one? Use it as-is — you just point Cost Catch at the bucket. No export yet? The wizard shows you how to create one in a minute.
  • Access to AWS Billing & Cost Management and IAM (to reach the export and create a read-only role).
  • A Snowflake ACCOUNTADMIN to run one short grant that lets Snowflake read the bucket. The app writes the exact statement for you.

Choose your options

If you already export cost data from AWS, Cost Catch can most likely read it directly — point it at the bucket and it handles the rest. What it needs is a modern AWS Data Exports delivery; within that, use whatever you have:

  • Export type — CUR 2.0 or FOCUS. Both work. CUR 2.0 is AWS's full-detail billing schema; FOCUS is the cross-cloud-normalized shape (handy if you also run Azure or GCP and want one common model). Pick whichever you already have — or either, if you're starting fresh.
  • Format — Parquet or CSV. Both are supported (Snappy Parquet or gzipped CSV). Parquet is a little faster and smaller; creating a new export via the Amazon Athena integration gives you Parquet automatically.
  • Granularity — Hourly or Daily. Daily is plenty for cost tracking and reconciliation; choose Hourly only if you want intra-day usage detail.

There's no wrong choice — use what you've got. One caveat: it must be an AWS Data Exports export; the older legacy Cost & Usage Reports layout isn't supported, so if that's what you have, create a Data Exports export instead. You can also connect more than one AWS account, each as its own connection.

Create the export

No export yet? Create one in the AWS console — it takes about a minute, and the settings below are the ones Cost Catch expects:

  1. Open the Billing and Cost Management console and choose Data Exports in the navigation pane, then Create export.
  2. Under Export type, choose Standard data export (this is CUR 2.0) — or FOCUS 1.0 with AWS columns if you prefer the cross-cloud shape. Give the export a name.
  3. For CUR 2.0, set Time granularity to Daily (or Hourly if you want intra-day detail), and tick Include resource IDs so per-resource costs are captured.
  4. Under Column selection, leave all columns selected (the header checkbox selects them all).
  5. For Report data integration, choose Amazon Athena — this sets Parquet format and file overwrite automatically, which is exactly what Cost Catch reads.
  6. Under Data export storage settings, select or create an S3 bucket and enter an S3 path prefix. Note the bucket name and prefix — that's what you'll point Cost Catch at.
  7. Choose Create.

Full walkthrough with every option explained: Creating a standard data export in the AWS documentation.

Refresh cadence

Pick how often Cost Catch checks your export for new data. Every connection offers the same menu; we suggest a default that matches how often AWS actually republishes.

Cadence option Good for
Every hourTightest freshness; rarely needed for AWS
Every 6 hours Recommended AWS refreshes the export up to once a day, but not at a fixed hour — polling a few times a day catches it the same day without spending credits to load nothing.
Every 12 hoursLighter footprint; still same-day
DailyLowest cost; a once-a-day snapshot is enough
CustomAny schedule you like, on your own cron

The app pre-selects Every 6 hours and shows this reasoning right next to the picker — override it any time.

What to expect

  • First files: 24–48 hours. A brand-new AWS export takes a day or two to deliver its first data. If you already have an export running, Cost Catch picks it up on the next scheduled run.
  • Recent numbers settle over a few days. AWS revises the current period as usage is re-rated and credits land. Cost Catch re-reads the export whenever AWS re-issues a period and replaces the earlier version, so RAW.VENDOR_BILLING_CURRENT always holds AWS's latest figures.
  • Where your data lands. Raw evidence goes to RAW.VENDOR_BILLING; use RAW.VENDOR_BILLING_CURRENT for current committed totals. Nothing leaves your account.

Connect it

That's every decision you need to make. Open AWS in the app's setup wizard and it takes over from here — it generates your Snowflake access grant, pre-fills the read-only IAM role policies for your account, and starts the schedule. There's nothing to hand-write.

Stuck on a step? Email [email protected].