This is a chapter from the Guide To Building With Serverless AWS that I wrote. For more information about the guide’s intent and focuses, please read the Introduction Chapter.
Table of Contents:
Virtual Private Cloud (VPC) is a fundamental AWS service so much so that every AWS account comes with a VPC by default. However, I do not want to spend much time discussing VPC. If you only ever use the services that I outline in this guide you do not necessarily need to worry about creating a new VPC or even using the default VPC, but you will surely read about them after diving into the AWS realm.
For anyone coming from a traditional networking or operations background, a VPC is pretty much a VLAN. For anyone who does not know what a VLAN is, think about a VPC as a way to completely separate your AWS resources from other resources. Resources in two different VPCs using respective private IP addresses will not be able to talk to each other unless certain non-default conditions are met. This grants more security and helps teams divide up resources based on workload or environment. The downside of learning about VPCs is that AWS assumes everyone has existing knowledge about networking.
Deploying certain resources into a VPC is almost a given, but none of those resources are talked about in-depth in this guide. Some popular VPC-dependent resources include EC2 (which are self-managed virtual machines), ECS Fargate (serverless containers), and RDS (relational databases). I would not worry about VPCs to get started with because it is probably too deep of a rabbit hole to go down into unless you know for sure that your specific workload will need one.guide to building with serverless aws