Multi Cloud Network Architecture

Building Networking Skills in the age of the Cloud

Multi Cloud Network Architecture

AWS TGW Migration to Aviatrix

Share on linkedin
Share on twitter
Share on email

In order to satisfy my own curiosity on the subject, I set about testing a migration scenario from AWS TGW to Aviatrix.

We have many customers running on AWS TGW, which is a great product but lacks the Multi-Cloud agility that many of our customers seek.

One of the blocking points, however, is the complexity around migration. I do not want to underestimate this risk, but I would like to highlight how feasible it is. The below lab I put together in one afternoon.

I am not advocating managing your migration in this way, but I would simply like to point out that such migrations can be straightforward and painless when planned correctly.

I set off a continuous ping in both directions for the duration of the migration below to check the change’s impact on reachability.

Finally, in this post I am doing everything in the console. In reality, we would be scripting many of the changes as well as preparing roll-back scripts.

Disclaimer: This is not an official migration plan. I have done many data centre migrations in the past, and they require weeks and months of preparation. Use your judgment in adopting any of the suggestions I set out in the workflow below.

The Starting Point

Let’s look at the environment we have set up for testing.

In this scenario, we have 2 application VPCs deployed who communicate with each other over the TGW.

We have deployed an Aviatrix Transit Hub and connected this to the AWS TGW via an IPSec tunnel running BGP on top.

We have deployed and attached 2 Aviatrix spoke gateways in one of the VPCs and simply deployed the gateways in the other (no attachment). This is simply to show that the traffic is indeed flowing through the AWS TGW.

No impact on connectivity

Step 1 – Migrate VPC 1 to Aviatrix Transit Solution

We will modify the route table of VPC 1 ( to use the Aviatrix transit.

This is easy since we have already made the Aviatrix spoke attachment and the is already in the route table.

Traffic to continues to use the TGW as there is a more specific CIDR match in the route table.

We will remove this more specific match in the VPC route table. VPC route table

Now the traffic routes to the Aviatrix Transit, and because we have no direct attachment to, we use the BGP route via the AWS TGW.

No impact on connectivity. Traffic flow is suboptimal, but this is a transitory situation.

Step 2 – Attach the Aviatrix Spokes in

In the Aviatrix controller, we will attach the Aviatrix spoke gateways in VPC to the Aviatrix Transit hub. This will insert the route automatically in the spoke VPC route table. However, since there is a more specific to using the AWS TGW, there will be no impact on traffic.

Aviatrix Controller “Attach Spoke Gateways”

No impact on traffic flow

Step 3 – Migrate the spoke to Aviatrix

We do this by removing the static route pointing to the AWS TGW. VPC Route Table

Step 4 – Remove the legacy TGW attachments

Now for the clean-up, we will remove the legacy TGW VPC attachments.

AWS TGW Attachments table

No impact on traffic flow


Migrations are tricky and present their own risks.

Approach this in a professional way and seek support where you need it.

However, from a technology perspective, an almost seamless migration is feasible. I am aware I am only using 1 workload above and verifying using ICMP, but the premise remains the same.

Check out the next post where we do the same for Azure vWAN.

Thanks for reading.

Share if you liked it
Share on linkedin
Share on twitter
Share on email
0 0 votes
Article Rating
Notify of
Inline Feedbacks
View all comments

20 year veteran of the networking industry currently specialising in Cloud Networking and Security.

CCIE #16661 (R&S, SP)


I am currently an employee of Aviatrix. All opinions, views and statements are my own and do not reflect that of my employer. Any errors are mine and mine alone. Any ignorance is mine, though I do believe my parents and the public school system should shoulder some of that blame. 

Recent Posts