
VPC peering
When operating a large application that spreads across VPCs or regions, we sometimes have a requirement to connect that application via a private connection. We always have the option to create VPN connections between VPCs, but that will require us to maintain the configuration of the VPN devices and ensure the security of those.
A simpler way to connect VPCs together is through VPC peering. A VPC peering connection is a networking connection between two VPCs that allows you to route traffic between them privately and have the ability to connect instances in private subnets within separate VPCs to communicate directly, as demonstrated in the following diagram:

AWS provides the ability to create VPC peering connections between our own VPCs or with a VPC in another AWS account. The VPC peering connections can be established within one region or across different AWS regions. AWS uses existing, scalable network technologies with no single point of failure to enable VPC peering.
When enabling VPC peering between regions, AWS will take care of the VPN connection between the locations and maintain redundant pathways for the traffic. Since the traffic between regions will pass over the internet, standard inter-region charges apply when using VPC peering between regions. No charges to traffic within a region are applied.