cloud

AWS - VPC

클라우드 인프라를 다루기 위해 가장 먼저 이해해야 할 개념은 네트워크입니다. AWS에서는 이 네트워크의 기본 단위를 VPC(Virtual Private Cloud) 라고 합니다. VPC는 사용자가 독립적으로 소유하는 가상 네트워크 공간으로, 서브넷·라우팅·보안 규칙을 직접 설계할 수 있습니다. 데이터센터의 네트워크를 클라우드 위에 그대로 구현하는 것과 같다고 할 수 있습니다.

AWS에서는 VPC가 없었던 시절에는 EC2가 하나 추가 될때마다 각각의 연결 및 보안을 따로 설정해 줘야하는 문제가 있었습니다. 그러나 2011년 VPC 출시 이후 이전 네트워크(EC2-Classic Platform) 사용이 중단되고, VPC 사용이 의무화 하면서 AWS에서 VPC는 필수적인 개념이 되었다고 할 수 있습니다.


1. VPC 정의와 특징

VPC(Virtual Private Cloud) 는 AWS 계정 내에서 격리된 가상 네트워크 공간입니다. CIDR 블록을 지정해 IP 주소 범위를 정의하고, 서브넷을 나눠 퍼블릭/프라이빗 리소스를 분리할 수 있습니다. 주요한 특징은 아래와 같습니다.

  • 독립성: 각 VPC는 다른 VPC나 계정과 기본적으로 격리되어 있으며, 필요 시 피어링(Peering)이나 Transit Gateway를 통해 연결할 수 있습니다.
  • 제어 가능성: 네트워크의 IP 대역, 라우팅 테이블, 보안 그룹 및 NACL(Network ACL) 같은 보안 정책을 사용자가-직접 설정할 수 있습니다.
  • 확장성: 단일 리전에 속하지만, 여러 가용 영역(AZ, Availability Zone)을 활용하여 고가용성 아키텍처를 구축할 수 있습니다.

2. VPC와 사설 IP 주소 대역

VPC를 구축할 때는 RFC1918 표준에서 정의한 사설 IP 대역을 사용해야 합니다. 사설 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)

AWS VPC에서 CIDR 블록은 생성 시에만 지정 가능하며, 생성 후에는 변경할 수 없습니다. 따라서 처음 설계 시 네트워크 확장성을 고려해야 합니다.


3. VPC 구성 요소

VPC는 단순히 IP 대역만 지정하는 것이 아니라, 다양한 네트워크 구성 요소와 함께 사용됩니다. 주요 구성 요소는 간단히 알아봅시다.

  • 서브넷(Subnet): VPC의 IP 대역을 작은 네트워크 단위로 분리한 것. 퍼블릭/프라이빗으로 나누어 사용.
  • 인터넷 게이트웨이(IGW): VPC와 인터넷 간의 통신을 가능하게 함.
  • 라우트 테이블(Route Table): 서브넷 트래픽의 목적지를 정의하는 규칙. 인터넷 게이트웨이, NAT 게이트웨이 등과 연결.
  • 보안 그룹(Security Group): 인스턴스 단위의 가상 방화벽. 인바운드/아웃바운드 규칙 기반.
  • 네트워크 ACL(NACL): 서브넷 단위의 보안 제어. Stateless 기반으로 동작.
  • NAT 게이트웨이: 프라이빗 서브넷 리소스가 아웃바운드 인터넷에 접근할 때 사용.
  • VPC 피어링/Transit Gateway: 서로 다른 VPC 간 통신을 가능하게 하는 연결 방식.

3. 정리

VPC는 AWS에서 인프라를 구축할 때 반드시 이해해야 하는 네트워크의 기본 단위입니다. 단순히 리소스를 띄워놓는 공간이 아니라, 퍼블릭·프라이빗 서브넷을 구분하고, 라우팅·보안 정책을 직접 설계할 수 있는 가상의 데이터센터 역할을 합니다. 따라서 IP 대역 설계부터 시작해 보안 그룹, 라우팅 테이블, 게이트웨이 등 다양한 요소들이 유기적으로 연결되어야 안정적이고 확장 가능한 클라우드 환경을 만들 수 있습니다.

또한 VPC는 기본적으로 다른 네트워크와 격리되어 있지만, 필요에 따라 VPC 피어링이나 Transit Gateway를 통해 다른 VPC 또는 온프레미스 환경과 연결할 수도 있습니다. 이처럼 VPC는 클라우드 네트워크의 출발점이자 확장의 기반이 되므로, AWS에서 아키텍처를 설계하려면 가장 먼저 이해하고 다뤄야 할 핵심 개념입니다.

참고 자료