Amazon Redshift Enterprise Data Warehouse: Cost & Migration
- LAST UPDATED
- 17 min read
Key takeaways
- Redshift fits AWS-first estates best. If your data is already governed through IAM, KMS, and Lake Formation, you avoid signing a second contract and running a second identity system, which is what Snowflake or Databricks would bring.
- Most enterprises end up running two deployment models. The bank's overnight loads would sit on provisioned RG nodes, while its month-end dashboards and the fraud agent each get a Redshift Serverless workgroup.
- List prices rarely blow the budget. A mid-sized Serverless BI workload comes to about $3,100 a month at US East list prices, and the overruns we see come from uncapped workgroups and legacy systems left running.
- Eligibility isn't the same as compliance. Redshift is HIPAA eligible and in scope for PCI DSS, SOC, and ISO 27001, but an examiner will look at your roles, your masking, and your audit logs.
- AI agents need their own workgroup. A separate Serverless workgroup with a scoped IAM role and query limits keeps an agent's 2 a.m. table scan away from the CFO's close dashboards.
- Discovery sets the migration date. The bank's 3,000 BTEQ scripts will move its timeline far more than its terabytes will.
Quick Answer
So is Amazon Redshift the right enterprise data warehouse for you? If you're already on AWS, it usually is. Over the past year AWS added Graviton-based RG instances, Serverless scaling that adjusts itself, and row-level writes to Apache Iceberg, on top of zero-ETL loads from your operational databases, so we'd now expect one Redshift estate to carry the BI dashboards, the regulatory reports, and the AI agents off the same governed data. Picking Redshift tends to be the quick decision. What takes the time is choosing a deployment model for each workload, capping what Serverless can spend, and getting the old warehouse switched off on a date someone has signed, and that's what most of this guide is about, along with compliance and AI readiness.
| Capability | What shipped | What it means for your program |
|---|---|---|
Graviton-based RG instances |
Up to 2.2x faster than RA3 on warehouse workloads and up to 2.4x on Iceberg, at 30% lower price per vCPU, according to AWS |
We'd re-run your TCO on RG before renewing any RA3 reservation |
AI-driven Serverless scaling |
The default for new workgroups since April 2026, for base capacity between 8 and 512 RPUs, with a cost-versus-performance slider |
Spiky and seasonal workloads no longer need someone tuning them full time |
Apache Iceberg writes |
Row-level UPDATE, DELETE, and MERGE, plus Iceberg v3 row lineage and deletion vectors on Serverless and RG |
Redshift, Athena, and EMR can all work on one open copy of the data, which takes most of the heat out of the lock-in debate |
Zero-ETL ingestion |
Concurrency scaling now covers zero-ETL and auto-copy loads on Serverless and RA3 |
Operational data shows up in minutes, without a separate pipeline tier to babysit |
| Cross-Region data lake queries | Query S3 data in another Region, with traffic kept inside your VPC when enhanced VPC routing is on | Multi-Region estates and EU residency designs get a lot simpler |
| Agent Toolkit for AWS | Since August 2026, coding agents get the AWS MCP Server and a set of Redshift skills | We'd let agents help build, query, troubleshoot, and migrate warehouses, under the IAM controls you already have |
Put together, those releases make Redshift the obvious pick for a certain kind of buyer. We'd check your own estate against the lists below before anyone signs a reservation.
When we'd usually recommend Amazon Redshift:
- Your estate is AWS-first and the security team already runs IAM, KMS, and Lake Formation day to day.
- You've got hundreds of analysts, dashboards, and apps hitting the same tables, and someone actually gets paged when response times slip.
- Regulators expect row-level security, dynamic data masking, and audit logs, and you'd rather have all three in one place.
- You want warehouse speed on open Iceberg storage, not a second proprietary copy of the data.
When we'd think twice:
- Most of your data lives with another hyperscaler because of a multi-cloud mandate.
- The data is small and the queries are ad hoc, in which case Amazon Athena by itself might do the job.
- Most of the work is Spark feature engineering. That belongs on EMR or SageMaker, and Redshift would just serve the curated output.
The bank checks every box on the first list. The pattern we'd deploy for it, and the one we deploy most often, treats Redshift as the serving layer over an Iceberg lakehouse on Amazon S3, with zero-ETL feeding it from the operational databases. If you're still designing the lake side, our guide to AWS data lake architecture covers the storage and catalog choices. It's the same architecture behind our data platform modernization work, and the diagram below shows how the pieces fit.

Each group of consumers gets its own warehouse over the same Iceberg copy. That way a runaway agent query can't slow down the close dashboards, and every team carries its own line on the bill.
Which Amazon Redshift Deployment Model Fits Your Workloads?
We'd decide it per workload rather than per company. Most of the enterprises we work with end up running two models side by side, joined by data sharing so every consumer reads one governed copy. For the bank, that would mean the jobs replacing its overnight BTEQ scripts run on provisioned RG nodes, since they keep a cluster busy for hours every night, while the month-end dashboards and the new fraud agent each get a Redshift Serverless workgroup.
| Deployment model | What we'd run on it | How billing works | How it scales | What tends to go wrong |
|---|---|---|---|---|
Redshift Serverless |
Spiky BI, the month-end close, sandboxes, and new AI workloads |
You pay per RPU-hour while queries run, by the second, and can reserve for 1 or 3 years |
AI-driven scaling adds capacity before queues form | An agent or analyst running wild because nobody set a usage limit |
Provisioned RG (Graviton) |
Steady reporting and ELT that keeps nodes busy |
Per node-hour, cheaper with reserved instances |
Concurrency scaling handles bursts, and you can resize | It isn't in every Region yet |
Provisioned RA3 |
Clusters you're partway through a reservation on |
Per node-hour, plus managed storage |
Same as RG | You'll overpay once RG shows up in your Region |
Multi-warehouse with data sharing |
Keeping ETL, BI, data science, and agent traffic out of each other's way |
Each warehouse bills on its own model |
Each consumer scales on its own | Deciding who owns shared objects and how teams get charged back |
Rules of thumb we use in scoping:
- When a workload keeps a cluster busy most of the business day, every day, we'd usually put it on provisioned nodes with reservations, because the unit cost comes out lower.
- When demand jumps around by the hour, the quarter, or the campaign, Redshift Serverless nearly always comes out ahead, provided someone has set usage limits.
- Each new kind of consumer, and AI agents in particular, gets its own Serverless workgroup that reads through data sharing. That keeps the BI SLA safe and makes it obvious who spent what.
- We never carry a legacy workload management (WLM) design across one for one. The queues get rebuilt from the workloads you actually run today, which for the bank would look nothing like the Teradata setup someone tuned a decade ago.

How Does Amazon Redshift Compare With Snowflake and Databricks on AWS?
We get asked this in almost every evaluation, and the fair answer depends on where your data, your people's skills, and your controls already sit. We integrate with all three and they all run fine on AWS, so in our experience the Redshift vs. Snowflake decision turns on contracts and controls far more than on raw speed.
| What you're comparing | Amazon Redshift | Snowflake on AWS | Databricks SQL on AWS |
|---|---|---|---|
Control plane |
Native AWS service under your IAM and KMS |
Vendor-managed service in the AWS Region you choose |
Vendor control plane, with compute in your account |
Commercial model |
On your AWS bill, counting toward AWS commitments |
Separate credit contract |
Separate DBU contract |
Open format posture |
Reads and writes Apache Iceberg |
Reads and writes Apache Iceberg |
Delta Lake by default, with managed Iceberg tables and UniForm for interoperability |
Strongest fit |
AWS-first estates with high-concurrency BI and regulated reporting |
Multi-cloud data sharing and a data marketplace strategy |
Spark-heavy engineering and ML on one platform |
When most of your security model, spend commitments, and operational tooling already sit in AWS, as they do at the bank, Amazon Redshift usually takes a contract, an identity boundary, and a billing reconciliation out of the program. Auditors and CFOs tend to care about that kind of simplicity a lot more than they care about a benchmark chart.
What Does Amazon Redshift Really Cost an Enterprise?
On paper, Amazon Redshift pricing is a handful of rates, and most of them are easy to look up. When we review a Redshift budget that has gone over, though, the list rates are rarely the reason. It's usually consumption that nobody capped, a legacy system left running in parallel for too long, or lake data being scanned the expensive way.
| What you pay for | US East list price | What makes it go up |
|---|---|---|
Redshift Serverless compute |
$0.375 per RPU-hour, charged by the second, and you can start as low as 4 RPUs of base capacity |
How many queries run, how many run at once, and where you set max capacity |
Provisioned compute (RG or RA3) |
Each node is billed by the hour, and reserving for 1 or 3 years brings that down |
Node count, the hours they run, and the share you've reserved |
Redshift Managed Storage |
$0.024 per GB-month |
Mostly retained history, then snapshots and stray copies of tables |
Redshift Spectrum (RA3) |
$5.00 per TB scanned on RA3, while on Serverless the lake scans are part of RPU time and RG has its own lake query engine built in |
Lake tables left unpartitioned or uncompressed |
| Concurrency scaling | Up to one free hour of credits per cluster per day, then per-second billing | Peak dashboard storms and month-end jobs |
Serverless reservations now come in 1-year and 3-year terms, paid No Upfront or All Upfront. AWS quotes savings of up to 24% for one year and up to 45% for three, and up to 50% on the 3-year All Upfront option. EU Regions such as Frankfurt and Ireland usually list a bit higher than US East, so we'd price the workload in the Region your residency rules require rather than the cheapest one on the calculator.
What Does a Typical Monthly Bill Look Like?
When a CFO asks what this will cost, we usually sketch something like the table below on a whiteboard. It's priced at US East list rates for a mid-sized BI and reporting workload on Redshift Serverless, about the size of the bank's month-end dashboards.
| Line item | Assumption | Monthly cost |
|---|---|---|
Compute |
32 RPUs on average, 10 hours a day, 22 business days (7,040 RPU-hours) |
$2,640 |
Managed storage |
20 TB, about 20,000 GB |
$480 |
Data lake queries |
Included in the RPU-hours above on Serverless |
$0 |
Total |
Before reservations or tuning |
$3,120 |
Compute is $2,640 of the $3,120, about 85%, which is why we'd watch it before anything else. What tends to happen is that someone sets up one workgroup without a ceiling, then the dashboards, the ad hoc analysts, and an AI agent or two all end up on it, and by the end of the quarter the compute line has doubled without anyone looking at it. If the bank had stayed on RA3, those lake queries would go through Spectrum instead, at $5 per TB scanned, and 30 TB a month would put about $150 back on the bill.

Where Does Redshift Spend Usually Leak?
Most Redshift cost optimization work comes down to six leaks, and each one has a guardrail we'd put in before go-live.
| Leak | Guardrail we'd put in place |
|---|---|
No ceiling on Serverless capacity |
We'd set a max RPU and RPU-hour usage limits on every workgroup, with alerts before the cap |
Dev and test clusters running 24/7 |
Pause and resume schedules, or we'd move them to Serverless |
Spectrum scanning raw files |
We'd store hot lake data as partitioned, compressed Iceberg tables |
Agent and notebook queries sharing the BI warehouse |
A dedicated workgroup with its own limits and chargeback tag |
| Legacy platform running for months after cutover | Decommissioning written into the plan as a dated deliverable |
| Reservations bought before the workload settles | We'd run 60 to 90 days on demand, then commit to the baseline you've actually seen |
The last two are where the real money is. As we put it in our point of view on funding AI from your existing budget:
“Most of the AI budget you think you need is already in the building. It is paying interest on the old stack.”
For the bank, cancelling the Teradata renewal next June is worth more to the P&L than any Redshift discount it could negotiate, and the same goes for a Netezza or Exadata renewal. We'd treat legacy retirement as the main financial outcome of the program and size the Redshift reservations only after the old platform is switched off.
How Do You Keep Amazon Redshift Compliant in Regulated US and EU Environments?
Redshift itself is HIPAA eligible, and it's inside AWS's audit scope for PCI DSS, SOC, and ISO 27001. That's where AWS's part ends, though. Under the shared responsibility model, whether an examiner walks away happy depends on how you've configured it, how access is designed, and what evidence you can hand over.
The stakes keep rising. IBM's Cost of a Data Breach Report for 2026 came in at $4.99 million for the average breach worldwide, which is a record. For the bank, the warehouse is the one place where customer, card, and loan data all sit together, so it's the system we'd least want to see in that report.
We map the controls once and build them so the same design satisfies US and EU rules. This is the map we start from.
Two details catch out even experienced teams. Dynamic data masking and row-level security have to be designed around your real roles, or analysts quietly end up with exported extracts to get around them. And audit logs only count as evidence if someone can tie each query to a named person or agent, which shared service accounts make impossible. At the bank, that second one usually shows up as a single ETL service account that runs half the BTEQ jobs.
Our view, drawn from a regulated financial data platform we shipped, is “compliance as a foundation, not a tax.” Day to day, the platform writes the lineage, access records, and audit evidence as it goes, so there's no consultant team pulling it together the month before an exam. The analysts don't lose any speed, compliance stops chasing screenshots, and when an auditor at the bank asks where a Call Report number came from, someone can answer with a query instead of starting a quarter-long project.
For US banks, insurers, and payment firms, our financial services data modernization approach shows how FFIEC, SEC, and FINRA alignment gets built into the same foundation. Health systems and payers working under HIPAA can see how the same controls carry over in our healthcare data platform work.
European buyers have a couple of extra things to plan around. The AWS European Sovereign Cloud became generally available on January 15, 2026, and Amazon Redshift is on AWS's initial service roadmap for it, so we'd confirm availability in the sovereign Region before designing around it. Then there's the EU AI Act. The Digital Omnibus, adopted as Regulation (EU) 2026/1744, moved the high-risk obligations for Annex III systems to December 2, 2027 and for Annex I systems to August 2, 2028. That's a planning window rather than a reprieve, especially if a credit or fraud model reads from the warehouse.
How Do You Make Amazon Redshift Ready for AI Agents?
Whether a warehouse is ready for AI agents comes down to three checks we'd run. The agent has to be able to find the right table, read fresh data under its own identity, and leave an audit trail a regulator would accept. Plenty of the warehouses we assess miss on at least one of those, and nobody finds out until the pilot tries to grow. The bank's fraud agent is a good example. It looked great in the demo because it was querying a clean extract someone had prepared for it. In production it would have to use the live card tables, and there are four transaction tables in the warehouse with no note anywhere saying which one is the real one.
The good news is that Redshift already has most of the pieces. What's left is connecting them with sensible guardrails, which is most of what data warehouse modernization means when we scope it, and the table below lists what we'd check before go-live.
| What the agent needs | What we'd use in Redshift | How we'd know it's working |
|---|---|---|
Fresh data |
We'd set up zero-ETL from Aurora, RDS, DynamoDB, or the SaaS apps you already use |
New rows show up within the minutes we agreed, and someone hears about it when they don't |
Tables it can understand |
We'd write table and column descriptions and publish them through the AWS Glue Data Catalog and SageMaker Unified Studio |
Each table the agent can see has a named owner, a plain description, and a sensitivity tag |
Inference that stays in the warehouse |
We'd use Redshift ML to call SageMaker or Amazon Bedrock models straight from SQL |
Card data and other sensitive rows don't leave the governed boundary to be scored |
Natural-language SQL |
Amazon Q generative SQL in Query Editor v2 |
Generated SQL still respects row-level security for whoever is asking |
| Agent tooling | Agent Toolkit for AWS, with the AWS MCP Server and Redshift skills | Agents run under scoped IAM roles and are read-only by default |
| Answers it can back up | Iceberg v3 row lineage plus query logging | We can pick any agent answer and trace it to source rows in one query |
If the bank built its agents on Amazon Bedrock, there's a useful side effect, because Redshift ML can call those same models from SQL. So the fraud team could ask for a summary or a risk label on a batch of card transactions, and the rows would stay where they are.
Why Should AI Agent Traffic Get Its Own Redshift Workgroup?
Agents also put a different kind of load on a warehouse. An analyst writes a query, reads what comes back, and thinks for a while before the next one. The bank's fraud agent won't pause like that. It'll send dozens of small exploratory queries, retry each one that fails, and if someone hands it a vague prompt before going home, it can end up scanning the whole card table at 2 a.m. Put agents on the same warehouse as the CFO's close dashboards, and the CFO will be the first to notice.
Before the bank's fraud agent touches production data, we'd put five guardrails in place:
- We'd give the agent fleet its own Redshift Serverless workgroup, reading through data sharing, with RPU-hour limits on it.
- Each agent would get its own IAM principal. We'd make it read-only to start, and any write would go through a stored procedure someone has signed off on.
- We'd add query monitoring rules on runtime, rows returned, and scan size, because otherwise a vague prompt can end up reading ten years of card history.
- We'd run a set of business questions with known answers as an evaluation harness before any prompt or model change ships.
- We'd tie every log line to the agent's identity, so audit can replay what it asked and what it saw.
These controls are what separate a demo from a system your risk committee will sign off on. They're also the controls we build into every AI agent we ship into production on AWS, because an agent is only as trustworthy as the warehouse underneath it. Our view on agentic AI in production goes further into the engineering discipline this takes.
What Is the Right Amazon Redshift Migration and Implementation Strategy?
We've rarely seen the data copy be the hard part of a Redshift migration. Discovery and validation are, and when a program ends up two or three times over budget, it's almost always because nobody took a full inventory of the stored procedures, scheduled jobs, and downstream reports up front, so they turned up one at a time in user acceptance testing.
So our data warehouse migration work starts with automated discovery. At the bank we'd want to know about every one of those 3,000 BTEQ scripts, the Control-M schedule that calls them, and each Tableau workbook and Call Report extract downstream, all before anyone puts a cutover date in writing.
Which Legacy Platforms Migrate to Amazon Redshift, and What Slows Each One Down?
| Source platform | Where the friction usually hides | AWS tooling we'd use | What we'd watch closely |
|---|---|---|---|
Teradata |
BTEQ scripts, macros, SET table semantics, and decades of WLM tuning |
AWS SCT, AWS DMS, and Agent Toolkit migration skills |
Business logic buried in scheduler scripts |
Netezza |
Distribution that's specific to the appliance, plus NZSQL procedures |
AWS SCT and AWS DMS |
Teams used to zone maps, which have to be rethought as sort keys |
Oracle Exadata or Oracle data warehouses |
PL/SQL packages, materialized views, and when the license renews |
AWS SCT, AWS DMS, and zero-ETL from Oracle Database@AWS |
The renewal date, because that's the real deadline |
SQL Server data warehouses |
T-SQL procedures and a pile of SSIS packages |
AWS SCT, AWS DMS, and AWS Glue |
SSIS logic that nobody ever wrote down |
| Hadoop and Hive | HiveQL, and far too many small files | Amazon EMR, AWS Glue, and Apache Iceberg | We'd land the data as Iceberg first, then load the warehouse |
For a Teradata to Amazon Redshift migration like the bank's, we'd expect most of the surprises to come out of the scheduler. A BTEQ script that looks like a plain load will turn out to apply a business rule, or hard-code a date, or read a temp table another job left behind, and you only find that out by reading it. Our Redshift migration consulting team does that reading as part of discovery, then runs the parallel-run reconciliation, all against a cutover date that's written into the statement of work.
How Should You Sequence the Program?
We run every Redshift program through five phases, and each one ends with a signed exit before the next begins. That discipline is at the core of how we work, with a forward-deployed engineer making the judgment calls at each gate, and it's what lets a fixed date survive contact with a real estate.
A single business domain with a few hundred objects can usually reach production inside a quarter. A multi-petabyte estate with thousands of objects should move in domain waves, each following the same five phases. The bank, for example, might move finance and the Call Report first, because that's where the auditors' questions are, and leave card history and the fraud tables for the second wave.
What Should Be True Before You Cut Over?
We'd want every item on this list signed off before the bank's finance domain moves:
- Row counts and checksums match on every object we migrated.
- The queries the business can't live without return the same results on both platforms.
- P95 query latency meets or beats legacy under peak concurrency.
- Row-level security and masking pass testing with real user personas.
- BI semantic layers and extracts have been repointed and signed off by their owners.
- Rollback criteria are written down, and the rollback has been rehearsed.
- IT and finance have both signed the legacy decommission date.
Which Mistakes Derail Redshift Programs Most Often?
| Mistake | What it costs you | What we'd do instead |
|---|---|---|
Moving the schemas and WLM over exactly as they are |
Queries run slowly and compute costs climb |
We'd redesign distribution and sort keys, then let automatic table optimization handle the tuning |
Cutting everything over in one weekend |
If anything breaks, it all breaks in the same 48 hours |
We'd move one domain at a time, and each wave gets its own rollback plan |
Checking a few reports by hand |
The first time a report disagrees, people stop trusting the numbers |
We'd reconcile every object automatically |
Leaving the ETL tier alone |
Half the legacy cost can stay on the books |
We'd swap pipelines for zero-ETL, AWS Glue, or dbt wherever they fit |
| No decommission date | You end up paying for two platforms with no end in sight | We'd write legacy retirement into the contract |
Sometimes the warehouse move is tied to getting off Oracle or SQL Server as well, and in that case we'd plan the two together. Our application and database modernization team treats the operational database and the warehouse as one dependency graph, so nobody ends up building the same pipelines twice.
FAQs
Is Amazon Redshift still a good choice for an enterprise data warehouse?
Should we choose Redshift Serverless or provisioned clusters?
How much will Amazon Redshift cost us per month?
Mostly it comes down to compute hours and storage. The mid-sized Serverless example in this guide, averaging 32 RPUs for ten business hours a day, works out to about $3,100 a month at US East list prices, and lake queries are included in that RPU time. A large provisioned estate will cost far more, so we'd model your own workload, and keep in mind that Serverless reservations take up to 24% off on a 1-year term and up to 45% on a 3-year term.
Is Amazon Redshift HIPAA compliant?
Can Amazon Redshift meet GDPR and EU data residency requirements?
How long does a Teradata to Amazon Redshift migration take?
Can AI agents query Amazon Redshift safely?
Does Amazon Redshift support Apache Iceberg?
Yes. Amazon Redshift reads and writes Apache Iceberg tables, including row-level UPDATE, DELETE, and MERGE, and since August 2026 it has handled Iceberg v3 features such as row lineage and deletion vectors on Serverless and RG clusters. In practice that means Redshift, Athena, and EMR can all work on one open copy of the data instead of each keeping its own.
What should we look for in an Amazon Redshift consulting partner?
Written by
Ammar Nizami
Senior Forward-Deployed Engineer, Data Engineering practice
Keep reading
Next in AI Agents for Apps.
Let's deliver
Bring us the process. We will bring the authority model.
The agent-native AWS modernization firm. Data platforms moved. Legacy retired. AI agents in production. AWS Premier Tier Services Partner since 2026, on AWS since 2008.
- 01 AWS Premier Tier Services Partner, on AWS since 2008.
- 02 Forward-deployed engineers own architecture, cutover and the date.
- 03 Acceptance criteria per phase, with the signer named in the SOW.
- 04 The golden set and the trace data belong to you.