/AVX-MCNA

Terraform code to deploy an Aviatrix MCNA environment for labs and demos

Primary LanguageHCLMIT LicenseMIT

avx-mcna-as-code

Terraform code to deploy an Aviatrix Multi-Cloud Network Architecture (MCNA) environment for labs and demos.

What the code does

With the default values, the code will deploy Hub & Spoke topologies in AWS, Azure and GCP, with a Transit VPC/VNet and three Spoke VPCs/VNets (Prod/Dev/Shared) in each Cloud. Aviatrix Gateways are deployed in the Transit and the Prod Spoke with HA, and in the Dev and Shared Spokes without HA. Transit VPCs/VNets are peered to each other to build the Multi-Cloud Network Architecture. The code also deploys another Transit VPC in a different region to simulate a Data Center connected to AWS through Site-to-Cloud (BGP over IPSec).

Each Spoke VPC/VNet, as well as the Site-to-Cloud Transit, contains an instance/VM that is configured to send traffic to the other instances/VMs in the network. An additional Jump Host / Bastion Host is deployed in the third AWS Spoke VPC, allowing SSH access from the Internet (restricted to the IP address of the workstation running the code), in order to connect to the instances/VMs of the environment. The public IP address of this Jump Host is provided as an output of the code.

Adjusting the variables allows for various customization :

  • Add or remove Spoke VPCs/VNets
  • Remove S2C
  • Enable / disable HA
  • Enable services such as HPE, FireNet, Single IP Source NAT,...

Architecture diagram (default values) :

image

Architecture diagram with network domains :

image

Prerequisites

Tested versions

  • Aviatrix Controller release 6.7.1319
  • Terraform Aviatrix provider 2.22.1

Known caveats

  • FireNet is only available on AWS, with Palo-Alto VM-Series
  • FireNet support on Azure and GCP, and with other NGFW vendors, is planned in the future

Additional comments