VPC는 AWS사용자가 정의하는 가상의 네트워크 망입니다. 가상이라는 말이 붙는 이유는 실제로는 그럴지 아닐지 모르지만 논리적으로 분리 되어있음을 뜻합니다.
요약하자면 네트워크를 사용자가 구성할 수 있다는 말인데, 이러한 네트워크 구성에는 서브넷 생성, 라우팅 테이블, NAT GATEWAY등등이 포함됩니다.
VPC가 적용되기 전 AWS는 EC2인스턴스들이 제각기 연결되어지고 구조자체가 복잡해지는 문제가 있었으나, VPC를 적용함에 따라 네트워크를 구분할 수 있고, VPC별로 필요한 설정들을 해줌으로써 복잡도를 낮췄습니다.
VPC를 이해하기 위해서 다음에 대한 기본적인 지식이 요구됩니다.(IP체계, CIDR, 서브넷팅, AWS Region, AWS AZ)
1. VPC의 특징
- VPC는 Region에 속한 AWS의 네트워크 단위 중 가장 큰 단위이며 대부분의 AWS에서 제공하는 서비스는 VPC에 속하게 된다.
- VPC는 여러 Region에 걸쳐서 생성할 수 없다. 즉 서울리전과 미국리전에 걸친 VPC따위는 생성될 수 없다는 뜻이다.
- VPC는 RFC1918이라는 사설 IP 대역에 맞추어 설계해야한다. 아래는 VPC에서 사용하는 사설 IP 대역
10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
- 규정된 IP범위와는 별개로 AWS에서는 16~28비트의 서브넷 마스크만을 허용한다. 즉 가장 크게 구성하면 2의 16승(65536)의 IP주소를 가장 작게는 2의 4승의 IP주소를 가질수 있다.(물론 미리 할당된 네트워크,라우터 등의 주소를 뺴면 조금 차이가 납니다.)
- VPC에서 한번 설정된 IP대역은 수정할 수 없으며, 각 VPC는 독립적 네트워크로 취급되기에 서로 통신할 수 없습니다.
- VPC간의 통신이 필요한 경우에는 VPC peering서비스를 사용할 수 있습니다.
2. 서브넷
- 서브넷은 VPC를 더욱 작게 나눈 네트워크 단위입니다. 즉 하나의 VPC에 여러개의 서브넷이 존재할 수 있습니다.
- 인터넷 게이트 웨이와 연결된 Subnet은 Public 그렇지 않은 서브넷은 Private 서브넷이라고 불립니다.
- 만약 인터넷과 연결하지 않은 Private 서브넷에서 아웃바운드 요청만을 해야할 경우에는 NAT(network address translation)게이트웨이를 사용합니다.
- 생성된 서브넷은 AZ에 종속적으로 존재하며(여러 AZ에 걸칠 수 없습니다.) RDS, EC2와 같은 리소스를 위치시킬 수 있습니다.
2-1 라우팅테이블
- 각각의 서브넷은 기본적으로는 서로 분리되어있다.
- 네트워크 요청이 발생하면 데이터는 라우터를 향하며, 라우팅 테이블을 참조하여 목적지를 찾게 됩니다.
- 아래 그림에서 서브넷 A에서 발생한 172.31.0.0/16 즉 VPC네트워크 범위안의 요청을 VPC 내부의 Private IP를 목적지로 가지게 됩니다.
2-2 인터넷 게이트웨이
- 인터넷 게이트웨이는 VPC와 인터넷을 연결해주는 서비스입니다.
- 아래의 그림에서 서브넷 B의 라우팅테이블을 살펴보면 172.31.0.0/16이외의 IP에 대한 네트워크 요청은 인터넷게이트웨이(IGW)로 라우팅 되게 되어있습니다.
- 이처럼 인터넷 게이트웨이와 연결된 라우팅 테이블을 가진 서브넷을 Public 그렇지 않을 경우 Private 서브넷이라 부릅니다.
2-3 NAT 게이트웨이
- Private 서브넷에서 인터넷과 통신하기 위한 서비스입니다. 오직 아웃바운드 요청만 가능합니다.(외부에서 내부로는 X / 내부에서 외부로의 요청은 가능하게 하는 서비스)
- 인스턴스의 펌웨어나, 주기적인 업데이트가 필요할 경우에 아웃바운드 트래픽이 허용되어야 하며 이러한 경우에 사용합니다.
2-4 네트워크 ACL과 Security Group(보안그룹)
- 네트워크 ACL과 Security Group은 방봐벽과 같은 역할을 합니다.(인,아웃 바운드의 트래픽 보안정책)
- 네트워크 ACL은 서브넷 단위, Security Group은 인스턴스단위로 설정하게 된다.
- 네트워크 ACL과 보안그룹이 충돌하게 된다면 보안그룹이 우선순위를 갖는다.
- 요약은 아래 표와 같다.
3. 기타 VPC관련 서비스 요약
- VPC간 네트워크 통신을 위한 서비스 => VPC peering
- 기존에 사용하던 온프레미스 환경과 VPC를 연결하는 서비스 => AWS Direct Connect
- VPC에서 발생하는 네트워크 로그 모니터링 및 수집 => VPC Flow Logs
- VPC 외부에 있는 AWS 서비스를 내부 네트워크 처럼 이용할 수 있게 해줌 => VPC End point
'클라우드(AWS)' 카테고리의 다른 글
ELB(Elastic Load Balancer) (0) | 2024.03.27 |
---|---|
VPC Peering와 EndPoint (0) | 2024.03.27 |
Amazon EC2 Auto Scaling (0) | 2024.03.26 |
Amazon EC2(Elastic Computh Cloud)의 보안 (0) | 2024.03.26 |
Amazon EC2 모니터링 (0) | 2024.03.26 |