Snowflake on AWS
A managed warehouse that runs in Snowflake's own account inside an AWS region. Data reaches it from your AWS account in four ways, and agents on AWS can query it through MCP. You pay for compute in credits and for the storage Snowflake holds.
Data comes in from your AWS account. Answers go out to your agents.
Snowpipe and COPY INTO copy the data into Snowflake storage. The three paths in the box leave it in your S3 and Snowflake keeps a pointer: external tables read files as they are; Iceberg tables keep their metadata either in Snowflake (full DML, Snowflake writes the files) or in Glue Data Catalog, reached through its Iceberg REST endpoint with SigV4 and Lake Formation permissions. AWS DMS has no Snowflake target, so it writes full loads and CDC changes to S3 first.
Load it, query it in place, or share the tables.
Snowpipe
An S3 event notification goes to a Snowflake-managed SQS queue, and the pipe loads each file as it lands. Fits DMS change files and streaming drops.
COPY INTO
A command that loads files from an S3 stage into a table, run by a scheduled task or your orchestrator. Fits nightly exports and the initial migration load.
External tables
Snowflake queries files in your bucket without copying them. Read-only and slower than loaded tables; for Parquet, Snowflake recommends Iceberg tables instead.
Iceberg tables
Data stays in your S3 as Iceberg. With Glue as catalog, Athena, EMR and Snowflake read the same tables. With Snowflake as catalog you get full DML, and other engines read through Open Catalog sync or the Snowflake Catalog SDK.
Most of the bill and the speed come from here.
What size warehouse
Credits per hour double at each size. Billing is per second with a 60-second minimum each time the warehouse starts, so auto-suspend matters.
Load into Snowflake or keep it in S3
Loading copies the data into Snowflake storage, with Time Travel and Fail-safe. Keeping it in S3 leaves one copy that Athena, EMR and Snowflake share, billed on your AWS account, without Fail-safe. External tables read slower than loaded tables.
Who owns the Iceberg catalog
Use Snowflake as the catalog, point a catalog integration at an external one like Glue, or sync through Snowflake Open Catalog so other engines read the same tables.
Bar lengths are to scale with credits per hour from the Snowflake warehouse sizes table. Dollar price per credit depends on edition and region.
A Snowflake bill, in one line.
Platform selection & architecture
AWS native, Databricks or Snowflake. A costed decision, trade-offs written down.
Read the approach →The one-page Snowflake on AWS field guide.
Best practices, cost traps and performance checks, in the order you should run them. Printable, no fluff.