This lab aims to demonstrate how using the terraform Equinix provider, in conjunction with the AWS provider and Google provider, you can fully automate the entire process of establishing a secure, direct connection between multiple clouds.
After completing the lab you will be able to communicate from an virtual machine in AWS (EC2 instance) to a virtual machine in Google Cloud using private addressing.
- Equinix Fabric Account:
- Permission to create Connection and Network Edge devices
- GCP Account:
- Permission to create a project or select one already created
- Enable billing.
- Enable APIs: Compute Engine API, and Cloud Deployment Manager API.
- AWS Account:
- Permission to access IAM Resources and create an access key
- IAM user with EC2 full access
- Curently, this demo only works on Linux. If you do not have access to a Linux environment, we recommend using the GCP cloud shell since it already includes other dependencies listed below.
Required steps to setup your environment for the lab:
- Install and setup Google Cloud SDK Installing Google Cloud SDK. Skip this step if you are using Google cloud shell.
- Install jq for Linux. Skip this step if you are using Google cloud shell.
- Create or import a key pair into AWS AWS Create or import a key pair
-
Clone this project
mkdir -p $HOME/Workspace/equinix; cd $HOME/Workspace/equinix git clone https://github.com/equinix/terraform-equinix-fabric-multicloud-sample.git
-
Enter provider directory and use your text editor to set the required parameters. Only the ones with no default value are necessary, the others can be left as is.
cd terraform-equinix-fabric-multicloud-sample vim terraform.tfvars
-
From the provider directory execute terraform
terraform init terraform plan terraform apply -auto-approve
-
SSH login in one of the instances and run iperf to test the connection
ssh -i ~/.ssh/vm-ssh-key [VM_EXTERNAL_IP] bash /tmp/run_iperf_to_int.sh
- TBD include other CSP options