Posts

Showing posts from February, 2020

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 …