Posts

The Lonely VGW

Image
Gilles Chekroun
Lead VMware Cloud on AWS Solutions Architect
---
Once upon a time in a remote country, there lived a VGW. 
He was lonely and not attached to anything. 
A few SDDCs were sad to see that lonely VGW and decided to establish route-based VPN to him to make some friendship. 
The lonely VGW was very happy to have new friends and decided to propagate all SDDC routes to everyone. 
SDDCs were even more happy because they learned everyone's routes via BGP and were able to communicate freely. 
SDDCs and VGW lived together very happily for ever after. BackgroundDuring my studies on VPN, I saw a very interesting site here that describes how a Virtual private Gateway can propagate BGP routes learned from attached Customer Gateways. I decided to do a quick test using VMware Cloud on AWS SDDCs as customer gateways and I was really surprised by the results. SetupVery straight forward as described in the picture below: 1 - Create a Virtual private Gateway 2 - Create VPN Connections Note the SDDC V…

VMware Cloud on AWS: From Zero to TKG

Image
Gilles Chekroun
Lead VMware Cloud on AWS Solutions Architect
---
With the recent release of Tanzu Kubernetes Grid (aka TKG), the updated preview from William Lam and the excellent post from Alex Dess, I wanted  to use the Terraform work I did in previous blogs here and here and try to automate the complete deployment from creating the SDDC, configuring the NSX-T networking and security and deploying the TKG clusters.
I wanted  also to give credits to Tom Schwaller for helping me on various traps in this whole process.
Terraform + Ansible = buddies In this exercise, I will use Terraform to deploy the VMware Cloud on AWS infrastructure and Ansible to configure and deploy the TKG clusters. Recap on TKG+ on VMCThere are many many posts around TKG and the short description is that Tanzu Kubernetes Grid leverages Cluster API to bring declarative statements for the creation, configuration and management of Kubernetes Clusters.
VMware Tanzu Kubernetes Grid Plus on VMware Cloud on AWS enables you to d…

Using Terraform to provision vSphere Templates with GOVC and AWS S3

Image
Gilles Chekroun
Lead VMware Cloud on AWS Solutions Architect
---
With my recent post about using Terraform for VMware Cloud on AWS provisioning, I had to provision OVA templates in my VMC vCenter so I would be able to use the Terraform vSphere provider to clone and deploy VMs.
Since this requires access to ESXi inside VMware Cloud on AWS, it's not possible to do it from an external machine like my Mac over the internet.
Only coming from a VPN connection or a Direct Connect will allow this but . . . 
. . . it is possible to use an AWS EC2 instance on the attached VPC to provision and this is the goal of this post.
AWS EC2 DeploymentUsing AWS terraform provider, I am deploying a very simple EC2 without any initialisation. I could do the provisioning at this time but my code needs output parameters stored in the tfstate file. What I need now is the Public IP and the Public DNS name of my EC2 instance. This will be part of the terraform output. Connect to the EC2 with SSHBefore we can connect to…

Using Terraform with multiple providers in multiple phases to deploy and configure VMware Cloud on AWS

Image
Gilles Chekroun
Lead VMware Cloud on AWS Solutions Architect
---
With the recent development of new VMware Terraform providers for NSX-T and VMware Cloud on AWS, we have now the possibility to create code for a full automation and deployment of Infrastructure including AWS, VMC, NSX-T and vSphere.

ArchitectureThis code architecture will be done in 3 phases and the output of one phase will be used as input for another.
The code is done using Terraform modules. The first phase will use AWS provider combined with VMC provider. Terraform AWS provider and the VPC moduleWe will start with terraform.tfvars file to hold our secret parameters. // VMC Credentials vmc_token = "Your VMC API Token" // AWS Credentials access_key = "Your AWS Access Key" secret_key = "Your AWS Secret Key" AWS_account = "Your AWS Account Number" // ORG ID my_org_id = "Your VMC ORG ID" The variables.tffile will hold different parameters like VPC subnets range and AWS …