VPC (Virtual private Cloud) is an amazing offering by Amazon that enables customers to create their own logically isolated set of Amazon EC2 instances (AWS resources) defined for customer application workloads. So, we can say in simple words that a virtual private cloud (VPC) is a virtual network dedicated to your AWS account. Further, Security is given prime importance when AWS Cloud infrastructure is being shared with multiple customer contracts.
VPCs in AWS account are of 2 types –
- Default VPC
- Nondefault or Customer VPC
When customer launch resources in AWS account in a default VPC, they are benefited by buffet of networking functionalities of under EC2. Some of features under default VPC are –
- Option to change security group membership almost instantly
- Security group egress filtering
- Multiple IP addresses
- Multiple network interfaces without explicitly creating a VPC
Default VPC is a Virtual network which is automatically created for customer AWS account the very 1st time EC2 resources are provisioned. On the other hand, a nondefault (also called Customer VPC) is not automatically created when EC2 resources are provisioned and customer needs to create own VPC. Default VPC is automatically created by AWS system while customer/nondefault VPC needs to be manually configured by each customer and resources need to be provisioned. Whenever a new instance is launched, Default VPC is assigned when an instance is launched without allocating subnet.
Another key benefit of Default VPC is that access to Internet is available by default and default VPC has an internet gateway and public subnets with corresponding route table. This facility is not available by default in nondefault VPC. Infact Public IPv4 address are not assigned in nondefault VPC. In terms of numbers, only VPC is available per region while customer VPC are 5 by default in number for each region.
To make things more structured, it would be best to enumerate difference between Default VPC and nondefault VPC (customer VPC) in below table –