Amazon Virtual Private Cloud (Amazon VPC) is a virtual network dedicated to your AWS account. It is logically isolated from other virtual networks in the AWS cloud and enables you to launch AWS resources into a virtual network that you have defined.

Amazon VPC enables you to:

  • Select your own IP address range.
  • Create subnets.
  • Configure route tables.
  • Configure route tables and gateways.
  • Use both IPv4 and IPv6 in a VPC.
  • Provide strict access rules for inbound and outbound traffic.
  • Host resources from any AZ within its region.

Amazon VPC can be accessed through the following interfaces:

  • AWS Management Console
  • AWS Command Line Interface (AWS CLI)
  • AWS SDKs
  • Query API

Default VPC

  • Each AWS account comes with a default VPC that has a default subnet in each AZ.
  • The default VPC includes an internet gateway.
  • Each default subnet is a public subnet.
  • Each instance launched into a default subnet has a private IPv4 address and a public IPv4 address.
  • Instances in the default VPC can communicate with the internet.

Nondefault VPC 

  • A user-defined VPC that you can configure as you need.
  • Each instance launched into a nondefault subnet has a private IPv4 address but no public IPv4 address.
  • You can specifically assign a public IPv4 address during instance launch.
  • Instances in a nondefault VPC cannot access the internet.
  • Internet access for an instance launched into a nondefault subnet can be enabled by attaching an internet gateway to its VPC and associating an Elastic IP address.

Reference: Amazon VPC