This blog is about AWS, specifically multiple VPCs and routing, and some recent developments. My intent is to give you the flavor of some AWS design approaches, and then point you to some good material for the details.
Amazon AWS Transit VPCs is an important cloud concept to consider using as your organization’s AWS footprint increases. While the other cloud providers differ as to details, some of this may also apply.
Another approach is AWS Transit Gateways. We’ll get to them in a few paragraphs.
AWS Transit VPCs
Why might transit VPCs be important? The short answer is segmentation — divide and conquer (or at least control).
One of the hidden issues in Cloud is administrative and security controls. It is unwise for any single person to have the ability to accidentally or deliberately wipe out your entire cloud infrastructure.
Another is standardization. Turn four server admins loose in AWS and you may get eight different schemes for subnets, server instance connectivity, and routing. That much flexibility may well be counter-productive.
Following that principle, the need for security and fiscal accountability suggests that you find a deployment model empowering staff to be agile, automated, and do what they need, while constraining what security, external and internal connectivity, and portion of the logical topology is under their control.
That is, you might want to segment your cloud presence, giving various teams carefully delineated control and connectivity, and segmenting server functions for security: achieving both security and administrative segmentation! The segment size could be one or more logical subnets, but it might also be a VPC.
From the standards perspective, you might want to control things such as:
- Where in your cloud instances can teams spin up VM instances?
- How can they logically network them? One or several subnets and interfaces?
- What can those segments route to?
- Where are your security points of enforcement for inside and Internet traffic? Who controls those?
- How best to provide common services to various business units and their VPCs or subnets of servers — whatever your segmentation granularity is.
In short, create some standards so you don’t end up with Lift and Shift chaos, everyone doing their own thing, and a nightmare from the support perspective. Especially since experience says that it didn’t get documented with physical servers, so why would you expect it to be documented with nebulous (cloudy) servers?
(Virtual documentation? You can see my server instances, so it must be obvious what each one does, what more do you want? – That just doesn’t cut it, as far as I’m concerned!)
The one technical issue with using VPCs to segment your use of AWS is that the routing was (is) not transitive: you can set up A to B and B to C, but unless you also configure routes for A to C, A can’t get to C via B. Doing this manually doesn’t scale. Automating at scale, maybe not such a great idea either. (Troubleshooting?)
The idea with a transit VPC is to have a VPC as “neutral” or common ground and hang the specialized VPCs off that.
There are two ways I know of around the transit routing situation:
- Static routes to the transit VPC, NAT there (to each spoke VPC, so they think remote stuff is local). That can get a bit messy. This was documented in a Cisco Live presentation a few years back (Cisco and Under Armour). I can’t find this online anymore.
- Dynamic routing, using CSRv virtual routers and VPN tunnels, either to other CSRv’s or to AWS VPN endpoints. AWS has made it easy to automate the tunnel establishment, so you also only need CSRv’s for the hub function. AWS and Cisco have whitepapers and documentation of this approach.
References for Transit VPC:
See also the CiscoLive talks about AWS or Cloud and CSR 1000v in general. Recent ones also go into hybrid connectivity with CSR 1000v including Azure and Google, configuration snippets, etc. — Great resources!
AWS Transit Gateway
I’d come across transit gateways a couple of months ago and heard a rumor that lack of transit routing might be going to change. Apparently, it now has!
It turns out, Marwan Al-shawi blogged about this before I could get to it. Since he did a fantastic job of writing this topic up at length, I’ll refer you to his blog for details. My summary follows — trying to share the design approach, and so you know why you might want to read his blog.
An AWS transit gateway acts like a giant hub router and control point for multiple VPCs. The big deal is that you can replace per-VPC tunnels from your datacenters or CoLo locations, with a single tunnel to the transit gateway (TGW). That can help with scaling and BGP peering fatigue at the corporate VPN termination hub site. Assuming that simplification is what you are looking for. DirectConnect to the TGW is apparently a future feature.
The TGW also allows you very flexible control (think VRFs) on routing between the attached VPCs. It does come with some limitations.
- Ivan Pepelnjak had something to say about transit VPCs and automation. He’s also got an AWS webinar if you’re trying to quickly get up to speed on speaking AWS.
- Amazon Transit Gateway (main page)
Comments are welcome, both in agreement or constructive disagreement about the above. I enjoy hearing from readers and carrying on deeper discussion via comments. Thanks in advance!
Hashtags: #CiscoChampion #TechFieldDay #TheNetCraftsmenWay #TransitVPC #TransitGateway #AmazonAWS
Did you know that NetCraftsmen does network /datacenter / security / collaboration design / design review? Or that we have deep UC&C experts on staff, including @ucguerilla? For more information, contact us at firstname.lastname@example.org.