Amazon Virtual Private Cloud(Amazon VPC)는 사용자가 정의한 가상의 네트워크로 AWS 리소스를 시작할 수 있다.
가상 네트워크는 AWS의 확장 가능한 인프라를 사용한다는 이점과 함께 고객의 데이터 센터에서 운영하는 기존 네트워크와 유사하다.
VPC는 여러 개의 VPC를 둘 수 있으며 VPC끼리 연결이 되는 Peering Connection이 존재한다.
VPC 내부에서는 다양한 서브넷을 나눠서 운영할 수 있다.
VPC의 IP 주소 범위인 서브넷이 있다. 서브넷은 단일 가용 영역에 상주하며 서브넷을 추가한 후에는 VPC에 AWS 리소스를 배포할 수 있다.
VPC와 서브넷에 IPv4와 IPv6 주소를 할당할 수 있다.
퍼블릭 IPv4 및 IPv6 GUA 주소를 AWS로 가지고 오고 VPC의 리소스에 할당할 수 있다.
라우팅 테이블을 사용해 서브넷 또는 게이트웨이의 네트워크 트래픽이 전달되는 위치를 결정한다.
게이트웨이는 VPC를 다른 네트워크와 연결한다. VPC 엔드 포인트를 사용해 인터넷 게이트웨이 또는 NAT 장치를 사용하지 않고 AWS 서비스에 비공개로 연결한다.
VPC는 여러 개의 VPC로 나눌 수 있고 Peering Connection을 사용해 두 VPC의 리소스 간 트래픽을 라우팅한다.
네트워크 인터페이스에서 네트워크 트래픽을 복사하고 심층 패킷 검사를 위해 보안 및 모니터링 어플라이언스로 전송한다. 이를 트래픽 미러링이라고 한다.
중앙 허브 역할을 하는 전송 게이트웨이(Transit Gateway)를 사용해 VPC, VPN 연결 및 AWS Direct Connect 연결 간에 트래픽 라우팅을 한다.
흐름 로그로 VPC 네트워크 인터페이스로 들어가고 나가는 IP 트래픽 정보를 캡처한다.
AWS VPN을 이용해 온프레미스 네트워크에 VPC를 연결한다
IP 주소 범위 선택
가용 영역(AZ)별 서브넷 설정
인터넷으로 향하는 경로 (route) 만들기
VPC로부터의 트래픽 설정

Public 서브넷은 외부와 Internet Gateway가 설정이 되어 있다.
하지만 Private 서브넷은 외부로 나갈 수 없다. 외부로 나가게 하기 위해서는 NAT Gateway를 사용해야 한다.

VPC는 두 개의 가용 영역(AZ)을 가지게 되고, 각 가용 영역(AZ)에는 Private Subnet과 Public Subnet을 가지게 된다.Public Subnet은 바로 Internet Gateway를 통해 외부에 있는 Internet에 접근할 수 있다.Private Subnet은 그렇게 접근할 수 없으므로 NAT Gateway를 통해 Internet Gateway-> 외부의 Internet으로 접근하게 된다.
VPC 대시보드로 가면 다음과 같은 화면이 뜨게 된다.VPC 대시보드에서는 VPC, NAT 게이트웨이, 서브넷 등 VPC를 동작하게 만드는 AWS 리소스들의 생성 수를 볼 수 있다.VPC 생성 버튼을 눌러 준다.
VPC 설정에서 가장 먼저 선택해 주어야 할 게 VPC만 생성할 것인지 VPC 등 VPC 생성 시 필요한 리소스들을 같이 생성할 것인지 선택할 수 있다.VPC 등을 선택하면 좌측에 다음과 같이 VPC 생성 시 필요한 리소스들이 뜨게 된다.
VPC를 생성하면서 이에 해당하는 두 개의 가용 영역의 서브넷과 라우팅 테이블 그리고 네트워크 연결을 같이 생성한다는 뜻이다.
VPC 등을 선택했다면 미리 보기의 각각 VPC, 서브넷, 라우팅 테이블, 네트워크 연결 앞에 붙는 말이 VPC 이름으로 바뀌게 된다.

CIDR 표기법을 통해 IPv4를 입력해 준다.CIDR 블록 크기는 /16 ~ /28 넷마스크**여야 한다.VPC만을 선택했다면 이 이후는 선택해 줄 것이 없다. 그대로 생성 버튼을 누르면 된다.
VPC 등을 선택했을 때 뜨는 리소스들의 설정이다.VPC와 같이 생성될 리소스들의 설정을 정해 주어야 한다. 2 개의 가용 영역 (AZ)와 두 개의 퍼블릭 서브넷, 두 개의 프라이빗 서브넷 그리고 VPC 엔드포인트이다.가용 영역(AZ)과 서브넷 CIDR 블록은 사용자들이 지정할 수 있다.Internet Gateway는 default 세팅이 되어 있지만 NAT Gateway는 설정이 없으므로 만약 Private subnet을 외부로 나가게 하려면 NAT Gateway도 설정해야 한다. VPC를 생성한다.