1 minute read

VPC (Virtual Private Cloud)

VPC는 논리적으로 분리된 가상의 네트워크 공간이다. 각각의 VPC는 완전히 독립된 네트워크처럼 작동하게 된다. 사용자가 VPC를 생성할 때 서브넷 생성, 라우팅 테이블, 네트워크 게이트웨이 구성 등 설정에 따라 자유롭게 구성할 수 있다.

image

VPC를 구축하기 위해서는 VPC의 IP 범위를 RFC1918이라는 사설 IP 대역에 맞추어 구축해야한다. 그리고 VPC내에서 생성된 인스턴스는 IP 대역 내의 사설 IP를 할당받게 된다.

사설 IP란

사설 IP 는 사설 네트워크에 연결된 디바이스를 식별하기 위해 사용되는 IP 주소이다. 사설 IP 주소는 사설 네트워크 내에서만 유효한 주소로, 따라서 외부 인터넷에서는 사용될 수 없다.

VPC에서 사용하는 사설 IP 대역

  • 10.0.0.0 ~ 10.255.255.255(10.0.0.0/8)
  • 172.16.0.0 ~ 172.31.255.255(172.16.0.0/12)
  • 192.168.0.0 ~ 192.168.255.255(192.168.0.0/16)

한번 설정된 IP 대역은 수정이 불가하고 각 VPC는 하나의 리전에 종속된다.

서브넷

VPC안에서 더 많은 네트워크 망을 구성하기 위해 서브넷팅을 하고 분할된 네트워크를 서브넷이라고 한다. 서브넷을 나누게 되면 더 많은 네트워크망을 만들기 위해서다.

서브넷은 가용영역 여러 개에 걸쳐서 설정할 수 없다.

image

라우팅 테이블과 라우터

네트워크 요청이 발생하게 되면 데이터는 라우터로 향하게 된다. 라우팅 테이블은 각 목적지에 대한 이정표 집합이라고 생각하면 된다. 각 네트워크 요청은 라우터로 향하게 되고 각 요청은 라우팅 테이블에 따라 작동한다.

image

위 그림에서 서브넷 A의 라우팅 테이블을 보면, 172.31.0.0/16 범위안의 네트워크 요청은 로컬로 향하게 된다.

인터넷 게이트 웨이

위 그림의 서브넷 B의 라우팅 테이블을 보면, 172.31.0.0/16 범위의 트래픽에 포함되지 않으면 0.0.0.0/0 (모든 트래픽에 대해) 인터넷 게이트 웨이 A로 향하라고 하고 있다. 여기서 인터넷 게이트란 VPC와 인터넷을 연결해주는 관문이다.

여기서 서브넷 B 같이 인터넷과 연결되어있는 서브넷은 퍼블릭 서브넷이라고 하고, 서브넷 A같이 인터넷과 연결되어 있지 않은 서브넷은 프라이빗 서브넷이라고 한다.

image

NAT 게이트 웨이

NAT 게이트웨이는 프라이빗 서브넷이 인터넷과 통신하기위한 아웃바운드 인스턴스다. NAT 게이트 웨이는 퍼블릭 서브넷의 인스턴스안에 설치하여 프라이빗 서브넷의 인스턴스와 연결한다. 만약 프라이빗 서브넷에서 외부로 요청하는 아웃바운드 트래픽을 발생하게 되면, NAT 게이트 웨이는 private 서브넷의 소스 IP를 자신의 소스 IP로 변경해서 외부로 네트워크가 전달되게 해준다.

img

  • VPC 생성 예시

image

참고

https://medium.com/harrythegreat/aws-%EA%B0%80%EC%9E%A5%EC%89%BD%EA%B2%8C-vpc-%EA%B0%9C%EB%85%90%EC%9E%A1%EA%B8%B0-71eef95a7098

https://namu.wiki/w/%EC%82%AC%EC%84%A4%20IP

https://blog.kico.co.kr/2022/03/08/aws-vpc/

Categories:

Updated: