728x90
반응형

VPC의 개념 

 

VPC는 사용자가 정의하는 가상의 네트워크로 VPC를 통하여 인스턴스가 속하는 네트워크를 구분하여 각 네트워크에 맞는설정을 부여할 수 있다. 만일 VPC 없이 인스턴스를 생성한다면 아래와 같이 인스턴스끼리의 구분 없는 연결로 인하여 시스템 복잡도가 증가한다. 인터넷을 통하여 전달되는 트래픽 전송이 굉장히 비효율적이게 될 수 있다.

 

VPN를 적용하게 되면 인스턴스가 VPC에 속함으로 네트워크를 구분할 수 있고 VPC 별로 필요한 설정을 통하여 인스턴스에 네트워크 설정을 적용할 수 있다. AWS는 VPC의 중요성을 강조하면서 모든 서비스에 VPC를 적용하도록 강제하였다.

만약 지금까지 VPC를 한 번도 만들어 보지 않고 인스턴스 생성을 했다고 하면 AWS에서 제공하는 default VPC에 인스턴스가 배치되어 있을 것 이다.

 

VPC 

 

VPC는 독립된 하나의 네트워크를 구성하기 위한 가장 큰 단위이다. region에 종속되어 RFC1918이라는 사설 IP 대역에 맞추어 설계해야 한다. VPC에 사용하는 사설 IP대역은 아래와 같다.

 

1. 10.0.0.0 ~ 10.255.255.255

2. 172.16.0.0 ~ 172.31.255.255

3. 192.168.0.0. ~ 192.168.255.255

 

각 대역폭마다 고정되는 prefix가 다르다 1번은  00001010 2번은 0101100.0001 3번은 11000000.10101000~가 

앞에 고정되어 있고 나머지 주소 범위에 해당하는 IP 주소를 할당할 수 있다. 아래와 같이 10.0.0.0/16으로 설정된 IP 대역폭은 총 65,536개의 프라이빗 IPv4 주소를 가질 수 있다.

 

VPC에서 한번 설정된 IP 대역은 수정할 수 없으며 각각의 VPC는 독립적이기 때문에 서로 통신할 수 없다. 만일 통신을 원한다면 VPC 피어링 서비스를 통하여 VPC간에 트래픽을 라우팅할 수 있게 설정 가능하다.

 

Subnet 

 

서브넷은 VPC의 IP주소를 나누어 리소스가 배치되는 물리적인 주소 범위를 뜻한다. VPC를 잘게 나눈 것이 서브넷이기 때문에 VPC보다 대역폭이 낮으며 하나의 AZ에 하나의 서브넷이 연결되기 때문에 region의 AZ 수를 미리 확인하고 설정해야한다.

 

서브넷은 다시 Public Subnet과 Private Subnet으로 나뉠 수 있다. 인터넷과 연결되어있는 서브넷을 public subnet이라고 하고 인터넷과 연결되어있지 않은 서브넷을 private subnet이라고 한다. 이처럼 인터넷 연결 여부로 subnet을 구분하는 이유는 보안을 강화하기 위함이다. public subnet에 존재하는 인스턴스는 인터넷에 연결되어 아웃바운드,인바운드 트래픽을 주고 받을 수 있다. 반면 private subnet은 외부에 노출되어 있는 면적을 최소화함으로써 네트워크 망에 함부로 접근하는 것을 막기 위함이다.

 

Router 

 

라우터는 VPC안에서 발생한 네트워크 요청을 처리하기 위해 어디로 트래픽을 전송해야 하는지 알려주는 표지판 역할을 수행한다. 각각의 서브넷은 네트워크 트래픽 전달 규칙에 해당하는 라우팅 테이블을 가지고 있으며 요청이 발생하면 가장 먼저 라우터로 트래픽을 전송한다. 일반적으로 VPC 내부 네트워크에 해당하는 주소는 local로 향하도록 한다.

 

Internet Gateway 

 

인터넷 게이트웨이는 VPC 리소스와 인터넷 간 통신을 활성화하기 위해 VPC에 연결하는 게이트웨이이다. 앞서 설명햇듯이 public subnet만 외부와 통신해야 하므로 public subnet의 라우팅 테이블에만 인터넷 게이트웨이로 향하는 규칙을 포함한다. 아래 그림과 같이 라우팅 규칙을 설정하면 네트워크 요청 발생 시 목적지의 IP 주소가 10.0.0.0/16(VPC 내부)에 해당하는지 확인한다. 해당하지 않는 모든 트래픽은 인터넷 게이트웨이를 통해 외부로 전송되어 목적지를 찾는다.

 

NAT Gateway(NAT 게이트웨이)

 

public subnet만 인터넷 게이트웨이를 통해 외부와 트래픽을 주고받을 수 있다면 private subnet의 트래픽은 무조건 VPC 안에서만 처리된다는 뜻일까 ? 그렇지 않고 private subent 역시 마찬가지로 인터넷과 통신할 수 있다. 하지만 private subnet에서 직접하는 것은 불가능하므로 트래픽을 public subnet에서 발생하는 네트워크 요청이 VPC 내부의 주소를 목적지로 하는 것이 아니라면 public subnet에 존재하는 NAT로 트래픽을 전송하나. 트래픽을 받은 NAT는 public subnet의 라우팅 규칙에 따라 처리함으로써 private subnet이 인터넷과 통신할 수 있도록 한다. 

 

VPC Endpoint 

 

VPC 엔드포인트는 인터넷 게이트웨이나 NAT 게이트웨이와 같은 다른 게이트웨이 없이 AWS 서비스와 연결하여 통신할 수 있는 private connection을 제공하는 서비스이다. Private link를 통해 AWS 서비스와 연결함으로써 데이터를 인터넷에 노출하지 않고 바로 접근할 수 있다. 또한 연결하는 서비스의 IP주소를 바꾸는 등 네트워크 정보의 변경 등의 작업에서 불필요하게 발생하는 비용르 줄일 수 있다.

 

 

 

 

 

반응형

'IT > AWS' 카테고리의 다른 글

Amazon VPC란 무엇인가 ?  (0) 2022.11.10
AWS 주요 제품 이해하기  (0) 2022.02.23
AWS 주요 서비스  (0) 2022.02.21
아마존 웹 서비스 Cloud 개요  (0) 2022.02.09

+ Recent posts