# Amazon Virtual Private Cloud

Amazon Virtual Private Cloud (VPC) is a commercial cloud computing service that provides a virtual private cloud, by provisioning a logically isolated section of Amazon Web Services (AWS) Cloud. Enterprise customers can access the Amazon Elastic Compute Cloud (EC2) over an IPsec based virtual private network. Unlike traditional EC2 instances which are allocated internal and external IP numbers by Amazon, the customer can assign IP numbers of their choosing from one or more subnets.

## Comparison to private clouds

Amazon Virtual Private Cloud aims to provide a service similar to private clouds using technology such as OpenStack or HPE Helion Eucalyptus. However, private clouds typically use technology such as OpenShift application hosting and various database systems. Cloud security experts warn that there can be compliance risks, such as a loss of control or service cancellation in using public resources that do not exist with in-house systems. If transaction records are requested from Amazon about a VPC using a national security letter they may not be legally allowed to inform the customer of the breach of the security of their system. This would be true even if the actual VPC resources were in another country. The API used by AWS is only partly compatible with that of HPE Helion Eucalyptus and is not compatible with other private cloud systems, so migration from AWS may be difficult. This has led to warnings of the possibility of a lock-in to a specific technology.

## IP Addressing

IP Addressing in Amazon Virtual Private Cloud (VPC) refers to the assignment of IP addresses to the resources within a VPC. VPC is Amazon Web Services (AWS) solution for providing isolated network environments for AWS resources. IP addresses in a VPC are used for communication between resources within the VPC, as well as for communication between the VPC and the Internet.
There are two types of IP addresses used in a VPC: private IP addresses and public IP addresses. Private IP addresses are used for communication between instances within the VPC, while public IP addresses are used for communication between the VPC and the Internet.
Amazon VPC provides several options for IP address management, including the use of IPv4 and IPv6 addresses, the automatic assignment of private IP addresses, and the ability to assign static private IP addresses. Additionally, Amazon VPC provides the option to associate Elastic IP addresses with instances to ensure persistent public IP addresses.
By using Amazon VPC, customers can have full control over the network configuration of their AWS resources, providing increased security and isolation compared to the traditional shared-tenancy model of public cloud computing.

## Connectivity

AWS VPC allows users to connect to the Internet, a user's corporate data center, and other users' VPCs.
Users can connect to the Internet by adding an Internet Gateway to their VPC, which assigns the VPC a public IPv4 Address.
Users can connect to a data center by setting up a hardware virtual private network connection between the data center and the VPC. This connection allows the user to “interact with Amazon EC2 instances within a VPC as if they were within [the user's] existing network.”
Users are also able to route traffic from one VPC to another VPC using private IP addresses and can communicate as if they were on the same network. Peering can be achieved by connecting a route between two VPCs on the same account or two VPCs on different accounts in the same region. VPC peering is a one-to-one connection, but users can connect to more than one VPC at a time.
To achieve a one-to-many connection between VPCs, you can deploy a transit gateway (TGW). In addition, you can connect your VPCs to your on-premise systems by employing the transit gateway.

## Security

AWS VPC's security is two-fold: firstly, AWS VPC uses security groups as a firewall to control traffic at the instance level, while it also uses network access control lists as a firewall to control traffic at the subnet level. As another measure of privacy, AWS VPC provides users with the ability to create "dedicated instances" on hardware, physically isolating the dedicated instances from non-dedicated instances and instances owned by other accounts.
AWS VPC is free, with users only paying for the consumption of EC2 resources. However, if users choose to access VPC via a Virtual Private Network (VPN), there is a charge.