SRCCUTOVERDESTIndependent · No vendor bias · Updated Jun 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

Snowball Edge Export does not avoid egress charges

AWS Snowball Edge Storage Optimized (210 TB) ships data out physically at an on-demand job fee of $1,800 for up to 100 TB or $3,200 for 101 to 210 TB, each including 15 days on site ($250 per day beyond that), plus return shipping. The common misconception is that this replaces internet egress; it does not. Export jobs still incur the standard S3 Data Transfer Out charge for reading the data off S3 onto the device, so the job fee is added on top of the same per-GB egress you would pay over the internet, as documented on the AWS Snowball pricing page. Snowball Export earns its place by saving time and avoiding a saturated network link for large datasets, not by being cheaper per TB. The destination side then still needs an Azure Data Box (there is no direct AWS-to-Azure device) to ingest from local storage, adding further cost.

Free egress when leaving AWS

Since 5 March 2024, AWS provides free data transfer out to the internet for customers migrating off AWS to another cloud or on-premises, aligned with the EU Data Act. Unlike Azure, AWS does not require you to close your account: you request the credit from AWS Support, complete the transfer within 60 days, and AWS credits back the egress charges even if you keep other workloads running. For a genuine exit this can zero the egress line above, so confirm eligibility with AWS Support before budgeting the transfer at the standard rates.

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. If this is a genuine exit from AWS, request the free data-transfer-out credit from AWS Support first (live since March 2024); it can zero the egress line entirely and, unlike Azure, does not require closing your account.
  3. For a partial migration that does not qualify for the free-exit credit, push the bulk of the transfer into a single billing month. AWS DTO tiers reset monthly, so spreading 100 TB over three months pays the expensive first-tier $0.09 rate three times rather than once; consolidating reaches the cheaper $0.07 and $0.05 tiers sooner.
  4. Use Snowball Edge Export above 100 TB to save time and spare the network link, not to cut the egress bill. Export still incurs standard S3 Data Transfer Out on top of the device fee, so it is not cheaper per TB than internet egress.
  5. Convert managed services during migration, not after. A second-stage refactor pays the full programme overhead twice.
  6. Apply for AMMP early. The partner needs to register the project before contract signing.
  7. 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.
  8. 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. Since March 2024, AWS offers free data transfer out for customers genuinely leaving AWS (EU Data Act aligned), applied as a credit by AWS Support and, unlike Azure, without requiring account closure; a partial migration still pays the standard rates above.

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