VPC는 Virtual Private Cloud의 약자로, AWS에서 다른 고객과 완벽하게 논리적으로 격리된 네트워크 공간을 제공하여 프로비저닝하여 가상 네트워크에서 AWS 리소스를 만드는데 사용하는 리소스다.
IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 등 가상 네트워킹 환경을 완벽하게 제어할 수 있다.
VPC에서 IPv4와 IPv6를 모두 사용하여 리소스와 애플리케이션에서 안전하고 쉽게 액세스할 수 있다.
(즉, EC2, RDS 등이 이 격리된 공간 위에서 리소스를 생성하는 것.)
VPC 생성에 대해서 꼭 필요한 구성요소가 존재하는데, 구성요소는 아래와 같다.
프라이빗 클라우드를 만드는 가장 기본이 되는 리소스다. 이름과 IPv4 CIDR 블록으로 구성되어 있다.
CIDP 블록은 IP의 범위를 지정하는 방식으로, IP주소
+ /
+ 넷마스크
로 구성되어 있다.
ex) 192.123.0.0/넷마스크 숫자
넷마스크 숫자는 IP의 범위를 나타내며 계산 방법은 2^(32-ㅜ)
이다.
ex) 192.123.0.0/24 -> 2^(32-24)=256 즉, 245개의 IP주소를 의미함.
(192.123.0.0 ~ 192.123.1.255)
VPC 범위 내에서 IP를 저누 할당하면 더 이상 리소스를 만들 수 없기 때문에 적절한 크기의 VPC를 만들어야 하고, 최대크기는 16이다. 2^(32-16)=65536
서브넷은 실제로 리소스가 생성되는 물리적인 공용(가용존)과 연결된다. 하나의 VPC N개의 서브넷을 가질 수 있고, 서브넷의 넷마스크 범위는 16(2^(32-16)=65546개) ~ 28(2^(32-28)=16개)
다.
하나의 가용존에 하나의 서버넷이 연결되기 때문에, 특정 리전에서 사용 가능한 가용존의 갯수를 미리 확인해야 한다.
서브넷과 연결되어 있는 리소스다. VPC를 생성할 때 만들어지고, VPC에 속한 서브넷을 만들 때 기본 라우트 테이블로 사용된다. 하나의 라우트 테이블은 VPC에 속한 다수의 서브넷에서 사용할 수 있다.
VPC는 격리된 네트워크 환경이기 때문에, 이 안에서 생성된 리소스들은 인터넷을 사용할 수 없다. 따라서 인터넷과 연결하기 위해서는 인터넷 게이트웨이가 필요하다.
(서브넷 <-> 인터넷게이트웨이 연결 후에, 퍼블릭IP를 가지고 있어야한다.)
TCP/IP 네트워크 상의 호스트로 설정 정보를 전달하는 DHCP 표준이다. 이 기능을 통해 도메인 네임 서버, 도메인 네임, NTP 서버 등의 정보를 설정할 수 있다.
서브넷 앞단에서 트래픽을 제어하는 가상 방화벽이다.
인스턴스이 앞단에서 트래픽을 제어하는 가상 방화벽이다.