A migration is mostly planning. Start with an inventory of what runs in Azure: VMs, databases, storage, identity, networking, monitoring and who depends on what.
| Azure | AWS equivalent |
|---|---|
| Virtual Machines | EC2 |
| Blob Storage | S3 |
| Azure SQL Database / SQL Managed Instance | RDS for SQL Server, or re-platform to RDS PostgreSQL |
| AKS | EKS |
| Azure Container Registry | ECR |
| Entra ID groups and roles | IAM Identity Center and IAM roles |
| Azure Monitor / Log Analytics | CloudWatch |
| Key Vault | Secrets Manager and KMS |
| Azure DNS, Front Door | Route 53, CloudFront |
Choose a strategy per workload: rehost (lift and shift), replatform (move to a managed service), or refactor. Rehost what is simple, and change as little as possible during the move.
Prepare the landing zone first: AWS Organizations with separate accounts for production and non-production, a VPC design that does not overlap Azure address ranges, IAM Identity Center, CloudTrail, and tagging rules. Write the rollback plan and success criteria before the first cutover.