Skip to content
ArchFoundry Docs Open the canvas

Move from Azure to AWS

Updated October 19, 2026Plans: Free, Pro, Enterprise

Overview

ArchFoundry reads the Terraform state that Microsoft's own export tool writes for an Azure resource group, and redraws each Azure resource as the AWS card that replaces it, sized at least as large. It shows what the setup costs on Azure today next to the AWS projection, and a Migrate tab lists the steps of the move and who does each one. Today ArchFoundry designs, prices and builds the AWS side. Moving data and switching traffic are not built yet, and stay with you.

Prerequisites

  • Microsoft's aztfexport tool, and read access to the Azure resource group.
  • An ArchFoundry account. To build the AWS side, a connected AWS account with deploy granted. See Connect your AWS account.

Steps

  1. Run the export command in the example below. It writes terraform.tfstate into a folder named export.
  2. On the canvas, press Ctrl+I (⌘I on a Mac) to open Import from Terraform.
  3. Drop export/terraform.tfstate onto Drop state files here. The file stays in your browser and is never uploaded.
  4. Read the report: On Azure today at Azure's list price, On AWS projected, the cost of moving the data, what Cannot move yet, and what Works differently on AWS.
  5. Click Put it on the canvas. The Migrate tab opens beside it, under Move to AWS.
  6. Work down the steps. Approve this design records your approval, and Open Deploy opens the deploy flow for the AWS stack.

Example

This exports one resource group as Terraform state, without prompts:

bash
aztfexport resource-group --non-interactive -o export <your-resource-group>

Change <your-resource-group> to the name of the Azure resource group. The steps the Migrate tab lists are:

text
Read the Azure setup                 available
Approve the AWS design               available, you approve
Build the AWS stack                  available
Fill the secrets                     available, you fill them
Check the database can move          not built yet, if the design has a database
Copy the data and keep it in sync    not built yet, if the design has a database
Copy the files                       not built yet, if the design has Azure storage
Check the new stack works            available, if the design has no database
Pick the cutover window              not built yet
Freeze, final sync, switch DNS       not built yet
Watch the new stack                  not built yet
Turn off Azure                       not built yet

A step with nothing to move, such as copying data in a design with no database, is marked Done. Steps marked Not built yet are ones ArchFoundry cannot do for you today, and the tab stops at the first one and says so. Copying data, the cutover, switching DNS and turning off Azure stay with you.

Verify it worked

  • The canvas shows AWS cards in place of the Azure resources.
  • The Migrate tab marks each finished step Done and says who the next one waits on.

Troubleshooting

Cannot move yet. Some Azure resources have no AWS card yet. They are drawn as Azure and kept in view so nothing is forgotten.

Azure resources that are wiring rather than services. Resource groups, plans, role assignments and network rules are counted but not drawn.

The next step is one Archie cannot do yet. The move has reached a step that is not built. Do that step yourself, outside ArchFoundry.

Next steps