Redshift to Snowflake Migration Cost, Savings Math on Published Prices and What Breaks in the Move

Marcus Feld, Analytics·Sep 29, 2026·8 min read

Moving from Redshift to Snowflake saves money for bursty, part-time workloads and often costs money for warehouses that run all day. Here is the monthly math on both vendors' published prices, the one-off costs most plans leave out, and what has to be rewritten by hand.

Connected · demo_shop · MySQL · read‑only

Ask the demo shop a question, or type your own:

Reading the schema, writing SQL… Writing SQL… Running (read‑only)… SQL AgentSQL wrote

▋

Refine: refined ✓

A real MySQL shop: customers, products, orders and signups over the last year. AgentSQL writes the SQL, runs it read-only, and answers.

A Redshift to Snowflake migration saves money when your warehouse is busy only part of the day, and often costs money when it runs around the clock. On list prices read on 29 September 2026, a Snowflake X-Small warehouse on Standard costs $2.00 per busy hour and nothing while suspended, while a single Redshift rg.large node costs $0.3801 an hour, $277.47 a month, whether anyone is querying or not. The two bills meet at about 4.6 busy hours a day. On top of the new monthly bill sit three one-off costs that migration plans tend to leave out: the months you run both warehouses, any Redshift reservation you still owe, and converting the SQL that Snowflake does not accept as written.

This article prices each piece on published rates so you can put a number on the move before anyone signs a Snowflake contract. If you are still choosing between the two warehouses rather than planning a move, the full side-by-side, with a break-even chart, is on our Snowflake vs Redshift comparison.

How much does it cost to migrate from Redshift to Snowflake?

Start with the bill you pay every month afterward, because it decides whether the project pays back at all. Snowflake bills compute in credits: $2.00 each on Standard, $3.00 on Enterprise and $4.00 on Business Critical in AWS US East, per its Credit Consumption Table effective 25 September 2026. Warehouse sizes double at each step, 1 credit an hour for X-Small, 2 for Small, 4 for Medium, 8 for Large. Storage is $23 per TB a month. Redshift prices come from AWS's Price List API, which is the source its pricing page is built from; the offer file we read was published on 11 September 2026.

Take a realistic mid-size setup: a four-node ra3.xlplus cluster at $1.086 per node-hour, running on demand. That is $3,171.12 a month. Suppose testing shows a Snowflake Medium handles the same queries, and your analysts keep it busy ten hours on each of 22 working days, 220 hours a month:

OptionMonthly computeHow it is built
Redshift, 4 x ra3.xlplus on demand (today)$3,171.124 nodes x $1.086 x 730 hours
Redshift, 4 x rg.xlarge on demand$2,219.784 nodes x $0.7602 x 730 hours, same vCPU count
Snowflake Medium, Standard$1,760220 hours x 4 credits x $2.00
Snowflake Medium, Enterprise$2,640220 hours x 4 credits x $3.00

Against the RA3 bill the move looks like a clear win, $1,411 a month saved on Standard. Against the newer rg generation, which AWS prices at exactly 70 percent of the matching RA3 node, the saving shrinks to $460 on Standard and turns into a $420 loss on Enterprise, which is the edition most companies with compliance needs end up on. So the first question in any Redshift to Snowflake business case is whether it was priced against RA3 or RG. Our Redshift pricing page lists every node type and reservation term if you want to re-run this with your own cluster.

Now flip the workload. If the same warehouse serves a customer-facing dashboard that is queried all night, the Snowflake Medium runs 730 hours and costs $5,840 a month on Standard, while the rg.xlarge cluster stays at $2,219.78. Always-on workloads are where Redshift's provisioned nodes are hardest to beat, and no migration fixes that math.

The one-off costs most plans leave out

Paying both warehouses at once. Nobody switches off Redshift on the day Snowflake goes live. A normal plan runs both for one to three months while numbers are reconciled. At the Enterprise figures above, two months of overlap is $5,280 of Snowflake on top of the Redshift bill you were already paying.

A reservation you still owe. AWS says plainly on its pricing page that reserved nodes are charged "even if you are not currently running a cluster, or if an existing cluster is paused". A one-year no-upfront reservation on one rg.large node is $0.26607 an hour, $194.23 a month. If you migrate with seven months left on four of them, that is $5,438 you pay for nothing. Check the Reserved Nodes tab in the Redshift console and time the cut-over to the end of the term.

Data movement. The standard path is Redshift UNLOAD to Parquet in S3, then Snowflake COPY INTO from an external stage. The copy itself is cheap, a few credits for loading plus S3 storage for the export. Keep the Snowflake account in the same AWS region as the bucket so the data does not cross regions, and delete the export once it is loaded.

Engineering time. This is usually the largest number and the least predictable one, and it depends on what is in your Redshift account rather than how big it is. The next section is the list to count.

What breaks when you move from Redshift to Snowflake

Plain SELECT statements mostly port as written, since both warehouses speak a close relative of PostgreSQL's SQL. The work sits in the Redshift-specific parts:

  • Table definitions. DISTKEY, SORTKEY, DISTSTYLE and ENCODE clauses have no Snowflake equivalent and are dropped. Large tables that were tuned with sort keys may want a clustering key instead, which Snowflake bills as background compute.
  • Stored procedures. Redshift procedures are written in PL/pgSQL. Snowflake uses Snowflake Scripting, JavaScript or Python, so each procedure is converted and retested.
  • Loading and unloading. COPY and UNLOAD syntax differs, and IAM role references become Snowflake storage integrations and stages.
  • Spectrum external schemas. Queries over S3 through Redshift Spectrum become Snowflake external tables or Iceberg tables.
  • Workload management. WLM queues and query monitoring rules become separate warehouses per workload plus resource monitors that cap credit spend.
  • Monitoring queries. Anything reading STL_, SVL_ or SYS_ system views, including cost dashboards and alerting, is rewritten against Snowflake's ACCOUNT_USAGE views.
  • Pipelines. Every loader, dbt profile, reverse-ETL job and BI connection has to be re-pointed. If most of your feeds come from SaaS apps, this is a good moment to move the connectors onto a single data integration platform rather than re-pointing a dozen scripts one by one.

Snowflake's SnowConvert AI is free and lists Amazon Redshift as a supported source for tables, views and procedural code. Use it for the first pass, then budget for review: automated conversion handles syntax well and business logic less reliably, and every converted procedure still needs its output compared with the Redshift original.

Is Snowflake cheaper than Redshift after the migration?

It depends on busy hours, not on data size. Storage is close to a tie, $23 per TB a month on Snowflake against $0.024 per GB, about $24.58 per TB, for Redshift managed storage. Compute is where the bills separate. Snowflake charges only while a warehouse runs and suspends after an idle timeout you set, so a team that queries in bursts during the working day pays for those bursts and nothing else. Redshift provisioned nodes charge every hour, which is expensive for bursty use and cheap for constant use, and Redshift Serverless sits in between at $0.375 per RPU-hour from a 4 RPU minimum.

The practical test takes a week. Pull a month of query history from Redshift, count the hours in which at least one query was running, and multiply by the credit rate of the warehouse size that handles your heaviest query. If that number is well below your current Redshift bill, the migration pays for its one-off costs within months. If it is close, the cheaper move may be to stay on Redshift and switch RA3 nodes to RG, or move a bursty cluster to Serverless.

Snowflake warehouse sizing is the lever that moves this number most after the move. A Small left on for a nightly job and a Large sized for one quarterly report cost very different amounts for the same answers. Our guide to Snowflake warehouse size covers how to pick and cap them.

Should you migrate from Redshift to Snowflake at all?

Migrate when the reasons are operational as well as financial: a provisioned cluster that queues when many people query at once, a data team spending hours a week on vacuuming and sort keys, a need to share data with partners on other clouds, or a plan to run on Azure or Google Cloud later. Snowflake removes most of that work, and that is worth paying for.

Stay, or at least re-price first, when the case rests on cost alone and the workload runs most of the day. The rg generation and Serverless have closed much of the gap that older migration business cases were built on. If Redshift is not working for you but Snowflake does not fit either, our Amazon Redshift alternatives guide prices BigQuery and the others on the same basis.

Where AgentSQL fits in a migration

A warehouse migration is also the moment to ask which dashboards need rebuilding at all. In most Redshift accounts a large share of reports exist to answer one-off questions: how many orders shipped late last week, which accounts renewed below list price. Rebuilding those in a new BI layer on Snowflake is migration work you can skip.

AgentSQL connects to Snowflake with a read-only role, turns a typed question into Snowflake SQL, runs it on the warehouse you choose and returns the answer with the SQL beside it so an analyst can check it. Team is $99 a month billed yearly for up to 10 seats, with no per-question meter. It does not connect to Redshift, so it becomes useful the day your data lands in Snowflake. Setup takes a few minutes on the Snowflake connection page, and you can try the console above against a demo database first.

›_ frequently asked

Common questions

How much does it cost to migrate from Redshift to Snowflake?
Three costs add up. The ongoing Snowflake bill replaces the Redshift one, and it can be higher or lower depending on how many hours a day the warehouse is busy. The one-off costs are the months you pay both platforms in parallel, any Redshift reservation you still owe, and the engineering time to convert SQL and re-point pipelines. The conversion tool itself, SnowConvert AI, is free.
Is Snowflake cheaper than Redshift?
For part-time workloads, usually. A Snowflake X-Small on Standard costs $2.00 per busy hour and nothing while suspended, while one Redshift rg.large node costs $277.47 a month always on. Snowflake is cheaper below about 4.6 busy hours a day and more expensive above it. Redshift Serverless is cheaper per hour than Snowflake at the smallest size.
Is there a tool to convert Redshift SQL to Snowflake?
Yes. Snowflake's SnowConvert AI is free and lists Amazon Redshift as a supported source, converting table definitions, views and procedural code. Treat its output as a strong first draft: distribution and sort keys are dropped, stored procedures change language, and anything that queries Redshift system tables has to be rewritten against Snowflake's own views.
How long does a Redshift to Snowflake migration take?
It scales with code and pipelines, not with data volume. Copying terabytes through S3 takes hours to days. Converting stored procedures, re-pointing every loader and dashboard, and validating that numbers match takes weeks to months. Count your procedures, scheduled jobs and live dashboards first, then time the conversion of a representative handful.
Can I keep my data in S3 when moving to Snowflake?
Yes. Snowflake runs on AWS, reads Parquet and Iceberg files in S3 through external stages, and can query Iceberg tables in place. Create the Snowflake account in the same AWS region as your bucket so the copy does not cross regions, and use a storage integration with an IAM role rather than access keys.

See AgentSQL write and run the SQL live.

Ask a question in plain English, watch the query appear, and get a chart and an answer with the SQL shown. Then point AgentSQL at your own database.

See how it works

Ask your data in plain English.