SRCCUTOVERDESTIndependent · No vendor bias · Updated Apr 2026
Source -> Destination · AWS to Azure

AWS to Azure migration cost, 2026

Cross-cloud migrations carry a different cost shape than on-premise migrations. AWS egress is paid on the way out, IAM and VPC must be re-architected, and AWS-native managed services need Azure-native equivalents. This is the 2026 cost reference for AWS to Azure, including egress math, RDS to Azure SQL conversion, and a worked 50-server cross-cloud scenario.

Cross-cloud migrations are not on-premise migrations with a different destination. The cost shape is fundamentally different. Egress is paid on the source side, by you, to the provider you are leaving. Every managed service has an equivalent on the destination side that does not match the source one-to-one. IAM, networking, encryption, secrets management, and monitoring all need rework, not just lift. This page is the cost reference for AWS to Azure cross-cloud migration in 2026.

Why AWS to Azure migrations happen at all

The cost case for moving an existing workload from AWS to Azure rarely closes on steady-state economics alone. AWS and Azure compute on like-for-like SKUs typically land within 5 percent of each other; Azure pulls ahead on Microsoft-licensed workloads via Hybrid Benefit, AWS pulls ahead on open-source and Linux-heavy workloads. The 3-year saving from a switch is usually 5 to 15 percent. The one-time cost of the cross-cloud migration frequently exceeds two years of that saving, which means the financial case has to draw on other levers.

The four most common drivers in practice are licence consolidation (the Microsoft Enterprise Agreement aligns better with Azure), identity and security platform alignment (Microsoft Entra ID, Defender for Cloud, Sentinel), commercial leverage in a multi-cloud RFP, and specific sovereign or regulated workloads that Azure addresses more directly in regions like Azure for US Government, Azure Sovereign, or Azure China. Cost matters but it is rarely the leading argument.

The egress line, the dominant migration cost

AWS charges data transfer out (DTO) on most cross-region and cross-cloud movements. The rate schedule for EC2 internet egress is on the public AWS EC2 pricing page, data transfer section: $0.09 per GB for the first 10 TB per month, $0.085 for the next 40 TB, $0.07 for the next 100 TB, and $0.05 for everything above 150 TB. S3 to internet egress follows a similar tiered structure. The cost is paid per region, per month, so phased migrations that move 20 TB per month for three months pay the first-tier rate three times rather than once.

AWS to Azure egress cost by dataset size, single-month transfer

DatasetAWS DTO at typical tierCostNotes
5 TB$0.09 per GB$461First-tier rate applies
20 TB$0.087 blended$1,78010 TB at $0.09, 10 TB at $0.085
50 TB$0.077 blended$3,944Blended across first three tiers
100 TB$0.070 blended$7,168Most of the data in the $0.07 tier
200 TB$0.061 blended$12,49250 TB in the $0.05 tier
500 TB$0.055 blended$28,160350 TB in the $0.05 tier
1 PB$0.052 blended$53,247850 TB in the $0.05 tier

The Snowball Edge Export option

AWS offers Snowball Edge for export from AWS, which physically ships data out at a per-device fee of roughly $300 plus shipping. For datasets above 100 TB this is usually cheaper than internet egress, although the destination side still needs to ingest from the Snowball device and Azure Data Box has no direct AWS-to-Azure device. The pattern is to use Snowball Edge Export to land data on local storage, then Azure Data Box for the Azure-side ingest. The combined per-TB cost typically lands around $40 to $60 per TB versus $70 to $90 per TB for direct internet egress at scale.

IAM and VPC re-architecture

AWS IAM and Azure Entra ID solve the same problem with different primitives. AWS IAM uses policies attached to users, groups, and roles with resource-level ARN-based policies. Azure uses role-based access control (RBAC) at the resource group and subscription level, with identity managed through Microsoft Entra ID. The two models do not translate one-for-one. Service accounts, federated identities, cross-account roles, and resource policies all need redesign for the Azure model.

Network re-architecture is similarly structural. AWS VPCs map roughly to Azure Virtual Networks but the security boundary primitives differ. AWS Security Groups are stateful firewalls attached to ENIs; Azure Network Security Groups are stateful but attached to subnets or NICs with different rule precedence. AWS Transit Gateway maps to Azure Virtual WAN. AWS PrivateLink maps to Azure Private Endpoints. Each mapping requires design, implementation, and validation effort.

For a 50-workload AWS to Azure migration, IAM and network re-architecture together typically cost $80K to $250K depending on the complexity of the existing AWS access patterns and the volume of cross-account or cross-VPC interactions. This is a one-time cost that does not feature on on-premise migrations because there is no existing cloud IAM to translate from.

Managed service conversion costs

The most expensive cross-cloud migrations are dominated by managed service conversion rather than compute lift. Each AWS managed service has an Azure equivalent that requires schema, code, or configuration work to land. The conversion cost depends on how deeply the source workload uses AWS-native services.

AWS to Azure managed service conversion, typical cost band

AWS serviceAzure equivalentConversion cost (per workload)Notes
RDS for SQL ServerAzure SQL Managed Instance$8,000 to $35,000DMS does most of the data lift; app-side connection string and ORM tweaks
RDS for PostgreSQLAzure Database for PostgreSQL Flexible Server$5,000 to $20,000Engine compatibility good; extensions need audit
DynamoDBAzure Cosmos DB (Table API or NoSQL)$20,000 to $90,000API shape differs; consistency model and pricing model differ
LambdaAzure Functions$10,000 to $50,000Runtime differences (Node, Python, .NET); trigger model differs
S3Azure Blob Storage$3,000 to $15,000Object API mostly compatible; SDK swap and IAM policy translation
SQS / SNSAzure Service Bus / Event Grid$8,000 to $30,000Queue semantics differ; consumer pattern rework
EKSAzure Kubernetes Service (AKS)$5,000 to $25,000Kubernetes is portable; ingress and network plugin choices vary
CloudWatchAzure Monitor + Log Analytics$5,000 to $20,000Dashboard rebuild, alert reconfiguration, log pipeline rebuild
IAMMicrosoft Entra ID + Azure RBAC$15,000 to $60,000Identity and policy model differs; covered above
Secrets ManagerAzure Key Vault$3,000 to $12,000Secret rotation pattern and SDK swap

RDS to Azure SQL Managed Instance, the largest single line

For Microsoft-heavy AWS estates the largest single cost line in the cross-cloud move is frequently the RDS for SQL Server to Azure SQL Managed Instance conversion. Azure Database Migration Service supports an online migration path from RDS for SQL Server with near-zero downtime, similar to AWS DMS. The cost shape is dominated by the parallel-running period (both source RDS and destination Azure SQL MI running together) plus the data ingress into Azure SQL MI from RDS, which counts as AWS egress on the source side.

A typical 5 TB SQL Server database moves in two to four weeks of parallel running with DMS replication, with around $450 of AWS egress, $1,200 of DMS instance cost, and $4,000 to $12,000 of partner-led validation and cutover labour. The post-migration economic case is dominated by Hybrid Benefit on Azure SQL MI, which typically reduces the run-rate by 30 to 45 percent compared with the AWS RDS list-price equivalent.

Worked 50-server cross-cloud scenario

A representative cost build for a 50-server AWS to Azure migration, mid-market scope, 50 TB of data across S3 and RDS, mixed strategy (70 percent rehost on Azure VMs, 20 percent replatform to managed Azure services, 10 percent retire), 9-month programme.

Worked AWS to Azure cost build, 50 servers, 50 TB, 9 months

Cost lineLow estimateTypical estimateHigh estimate
Assessment and planning (Azure Migrate + partner)$30,000$55,000$110,000
AWS egress (50 TB at blended $0.077 per GB)$3,500$4,000$4,500
Migration labour, 45 workloads, blended$320,000$640,000$1,150,000
IAM and VPC re-architecture$80,000$160,000$250,000
RDS to Azure SQL MI conversion (5 databases)$25,000$70,000$160,000
Lambda to Azure Functions refactor (8 functions)$15,000$45,000$95,000
Parallel running (4 months, AWS + Azure both live)$110,000$220,000$420,000
Cutover and downtime contingency$30,000$60,000$150,000
Azure Premier Support (9 months)$85,000$130,000$170,000
Staff retraining (5 engineers)$15,000$28,000$48,000
Security rework (Defender for Cloud, Sentinel)$30,000$80,000$170,000
Contingency at 15 percent$110,000$220,000$425,000
AMMP partner funding($100,000)($170,000)($300,000)
Net total estimate$753,500$1,542,000$2,852,500

The typical-column number, $1.54M for 50 workloads, works out at roughly $30,800 per workload, materially higher than the per-workload number for the on-premise to Azure scenario ($23,500 per workload). The premium reflects the cross-cloud nature: IAM rework, managed service conversion, and source-side egress all add up. The case for the migration rarely closes on cost alone; it closes on licence consolidation, identity alignment, or regulatory drivers.

How to reduce AWS to Azure migration cost

  1. Audit AWS licensing first. BYOL Windows and SQL Server workloads with Software Assurance recover Hybrid Benefit on Azure; LI workloads do not and need re-licensing.
  2. Stage egress across calendar months to avoid the first-tier rate compounding. A 100 TB transfer over three months is cheaper than the same transfer in one month at AWS DTO rates.
  3. Consider Snowball Edge Export for datasets above 100 TB. The combined Snowball plus Data Box pattern is typically 30 to 50 percent cheaper than direct internet egress at scale.
  4. Convert managed services during migration, not after. A second-stage refactor pays the full programme overhead twice.
  5. Apply for AMMP early. The partner needs to register the project before contract signing.
  6. Compress the parallel-running window. Dual-cloud parallel running costs roughly 2 to 3 times single-cloud parallel running because both clouds are paid simultaneously.
  7. Retire before migrating. The cheapest workload to move is one you do not move.

Cross-cloud migration is the most expensive shape of cloud migration on a per-workload basis. The egress arithmetic, the IAM and network rework, and the dual-cloud parallel running all compound. Teams that succeed at cross-cloud moves at sensible cost are disciplined about scope: only move what genuinely needs to move, retire aggressively before migrating, and converge managed services during the move rather than running a second refactor programme. The cost discipline is the same as for on-premise migration; the line items are different and several percent more expensive each.

Q&A

Frequently asked

Q. How much does it cost to migrate from AWS to Azure?

A. Cross-cloud migrations are structurally more expensive than on-premise to cloud migrations because every line item carries a cloud-out egress cost on the source side. A 50-server, 50 TB AWS to Azure move typically costs $220K to $750K over a 6 to 12 month programme. The biggest cost drivers are AWS egress ($0.05 to $0.09 per GB), IAM and VPC re-architecture, RDS to Azure SQL Managed Instance conversion, and the parallel-running window where both clouds are paid simultaneously.

Q. Can I use Azure Hybrid Benefit on a migrated AWS workload?

A. Yes, if the underlying Windows Server or SQL Server licences with Software Assurance were owned independently of AWS. Licences purchased through AWS Marketplace as License Included instances are not transferable to Azure. The licence audit before migration is critical; many AWS estates have a mix of BYOL and LI workloads and the migration cost case can hinge on how much of the licence base ports across.

Q. What does AWS egress actually cost for a cross-cloud move?

A. AWS publishes the EC2 Data Transfer Out rate as $0.09 per GB for the first 10 TB per month, dropping to $0.085 for the next 40 TB, $0.07 for the next 100 TB, and $0.05 above 150 TB. A 50 TB cross-cloud move pays roughly $4,400 in AWS egress alone, before counting Direct Connect or AWS PrivateLink fees. AWS S3 to internet egress follows a similar tiered schedule.

Q. Why would I move from AWS to Azure in the first place?

A. The four most common drivers are (1) consolidating Microsoft licensing on Azure to access Hybrid Benefit, (2) Microsoft 365 and Azure integration for identity and security tooling, (3) commercial leverage in a multi-cloud RFP process, and (4) regulatory or sovereign cloud requirements that Azure addresses more directly in specific regions (notably the EU, UK Sovereign, and Australia Government regions). Cost alone is rarely the primary driver because the cross-cloud migration cost frequently exceeds the steady-state cost saving for several years.

Q. How long does a cross-cloud AWS to Azure migration take?

A. Small workload moves of 5 to 20 servers complete in 3 to 6 months. Mid-market moves of 50 to 150 workloads typically run 6 to 18 months. The timeline is dominated by the cutover phasing required to avoid coincident dual egress fees. Most teams stage migrations in waves of 10 to 20 workloads to manage egress cost bursts.

Q. Should I use Azure Migrate or a third-party tool for the AWS source?

A. Azure Migrate Server Migration supports AWS EC2 as a source directly. The tooling cost is zero. Third-party tools (Carbonite Migrate, CloudEndure, Zerto) add per-server licence costs of roughly $300 to $800 per server but offer faster cutover for stateful workloads with low downtime tolerance. For most mid-market migrations the Azure-native tooling is the cheaper path; the third-party tools earn their keep on high-availability workloads where minutes of downtime carry significant revenue impact.

Related

Read next

Updated 2 May 2026