I've been working various flavors of SD-WAN for some time - arguably going back to my DMVPN days. The hotness these days seems to be around Velocloud, Viptela (Cisco SD-WAN), and SilverPeak. Today I want to focus on Velocloud, and specifically, what it takes to get a virtual Velocloud edge deployed and functioning in AWS. Head over here if you need background on the Velocloud solution.
Counter to the spirit of gross marketing oversimplification, I've used a baker's dozen different tools and stacked up enough TLA's to give myself a nosebleed. Velocloud has its own share of nouns, and AWS adds to that plenty more technical debt concepts to make it interesting. It was quite a struggle to get all this going from scratch, so it seemed like a good idea to capture it in Terraform in order to stand up / tear down on-demand, and capture as many of the touch points I could in code. So strap in, it's time Terraform time.
GoalWe're going to demonstrate using the IAC tool Terraform to drive all the AWS provisioning necessary for this. The outcome I'm trying to produce looks something like this:
Python Prep (Optional)
I use the Velocloud Python SDK in my setup to create an AWS Edge activation code just to work my Python muscles and make this repeatable. This can absolutely just be done in via web browser in the Velocloud Orchestrator instead.
- Make sure we have recent Python installed