Virtual Private Cloud의 약자로 클라우드 컴퓨팅 환경에서 제공하는 가상 네트워크 서비스이다. 사용자는 논리적으로 구분고 네트워크적으로 격리된 환경을 가진 클라우드 리소스(예: 가상 머신, 데이터베이스 등) 그룹을 만들 수 있다.
여러 데이터 센터 묶음인 Region 안에 VPC가 있으며 여러 데이터 센터의 리소스들이 한 VPC 안에 포함될 수 있다. VPC 안에는 더 작은 단위로 리소스를 그룹화한 Subnet이 있으며 이 Subnet 안에 클라우드 리소스들이 있다. 각 클라우드 리소스는 사설 IP 주소를 할당 받으며 VPC 외부와 통신하기 위해서는 공인 IP 주소를 할당 받아야 하고 VPC와 외부 네트워크 간의 통신을 중계하는 Gateway를 사용해야 한다.
서브넷(Subnet)은 VPC의 IP 주소 범위를 더 작은 세그먼트로 나눈 것이다. 즉, VPC 안의 클라우드 리소스를 VPC 보다 더 작은 단위로 그룹화한 것이다. 서브넷을 사용하면 VPC의 네트워크를 논리적으로 구분하여 다양한 용도로 활용하거나 보안 및 트래픽 관리를 더 효과적으로 수행할 수 있다. 각 서브넷은 고유한 IP 주소 범위를 가진다. 이를 통해 VPC 내의 IP 주소 할당 및 관리를 더 유연하게 할 수 있다. 서브넷끼리는 사설 IP 주소 범위(CIDR)와 서브넷 ID 등 여러 요소들로 구별할 수 있다.
VPC Peering은 서로 다른 VPC 간에 네트워크 연결을 설정하여 두 VPC의 리소스가 서로 통신할 수 있게 하는 기능이다. 이 연결을 통해 한 VPC의 인스턴스가 다른 VPC의 인스턴스와 마치 같은 네트워크에 있는 것처럼 통신할 수 있다. VPC Peering을 통한 통신은 사설 IP 주소로 이루어진다. VPC Peering을 설정한다는 것은 각 VPC의 라우팅 테이블에 상대 VPC의 사설 IP 주소 범위 정보(CIDR)를 추가하여 라우팅 테이블을 통하여 트래픽이 상대 VPC를 찾아갈 수 있도록 해주는 것이다. 각 VPC의 구별은 사설 IP 주소 범위 정보(CIDR) 말고도 VPC ID, 속하는 계정 정보, 태그 등으로 구별할 수 있다.
CIDR(Classless Inter-Domain Routing) 표기법은 IP 주소와 함께 슬래시(/) 뒤에 숫자를 사용하여 네트워크의 크기를 지정한다. 예를 들면 192.168.1.0/24에서 192.168.1.0은 네트워크의 시작 IP 주소이다. /24는 네트워크의 크기를 나타내는 서브넷 마스크의 비트 수이다. /24는 첫 24비트가 네트워크 주소를 나타내고 나머지 8비트가 호스트 주소를 나타낸다는 것을 의미한다. 이 경우, 가능한 호스트 주소의 범위는 256개이다 (2의 8승). 즉, 192.168.1.0/24의 IP 주소 범위는 192.168.1.0 ~ 192.168.1.255으로 총 256개의 IP 주소가 포함되며, 이 중 192.168.1.0은 네트워크 주소로, 192.168.1.255는 브로드캐스트 주소로 일반적으로 사용되기 때문에 실제 호스트에 할당할 수 있는 IP 주소는 254개이다. 한마디로, 192.168.1.0/24는 192.168.1.0부터 192.168.1.255까지의 IP 주소를 포함하는 네트워크를 나타낸다.