DuckDB on AWS
An open-source analytical database that runs inside your own process. On AWS it turns a Lambda function or a Fargate task into an ETL job: read raw files from S3 with SQL, transform them, and write Iceberg tables to S3 Tables. You pay for the seconds of compute and the storage, with no cluster and no engine licence.
A file lands, a small job starts, DuckDB writes tables every engine can read.
- 1A new file lands in S3, or a schedule fires.
- 2Lambda or a Fargate task starts and runs DuckDB with your SQL, reading the raw files directly from S3.
- 3DuckDB writes the result as Iceberg through an attached catalog (S3 Tables or Glue), or as plain Parquet files.
- 4Athena, Redshift, Aurora PostgreSQL or Spark read the same tables, with no copy.
Writing Iceberg from DuckDB requires an attached Iceberg REST catalog, such as S3 Tables or AWS Glue; reading files directly needs no catalog. DuckLabs, the team that maintains DuckDB, joined AWS in September 2026; Aurora PostgreSQL is the first AWS service to embed DuckDB. DuckDB itself stays open source.
Three places to run the same SQL.
Lambda
One file in, one table out. Up to 10,240 MB of memory, up to 10,240 MB of /tmp for spills, 15 minutes per run, billed by the millisecond.
Fargate
A container task with the vCPU and memory you choose, for jobs that outgrow a Lambda run. Fargate Spot cuts the price for jobs that can restart.
Local or CI
The same binary runs on a developer machine and in a pull request check, so the transformation is tested before it ships.
Three decisions keep it cheap and keep it working.
Lambda or Fargate
Lambda fits per-file and hourly jobs and costs nothing between runs. Move to Fargate when a run needs more memory, more time, or a steady batch window.
Files or Iceberg tables
Plain Parquet is enough for append-only outputs. Iceberg adds updates, deletes and schema changes that other engines see; S3 Tables also runs compaction for you.
When to hand over to another engine
DuckDB runs on one machine. When a job's working set no longer fits in memory plus local disk, or many users query the same tables, Athena or Spark takes over on the same Iceberg data.
Tag values describe mechanisms, not measured figures. Athena price for US East (N. Virginia).
A DuckDB-on-AWS bill: compute seconds and storage.
Industrial-grade data pipelines
Use cases in production, not POCs: tests, CI/CD, lineage, on-call that sleeps at night.
Read the approach →The one-page DuckDB on AWS field guide.
Best practices, cost traps and performance checks, in the order you should run them. Printable, no fluff.