← 아티클 목록

VPC 개념 이해 — 서브넷·라우팅 한 번에 잡기

2026-08-17#VPC#네트워킹#AWS

EC2를 띄웠는데 인터넷이 안 되거나, RDS에 붙으려는데 연결이 안 될 때 원인은 대부분 코드가 아니라 VPC 설계입니다. VPC(Virtual Private Cloud)는 클라우드 안에 만든 내 전용 사설 네트워크입니다. 집을 짓기 전 땅의 경계와 도로를 정하듯, 인스턴스를 띄우기 전에 네트워크의 경계와 길을 먼저 정하는 단계입니다.

VPC를 이루는 4가지 요소

요소역할비유
VPC전체 사설 네트워크 대역(CIDR)단지 전체 부지
서브넷VPC를 가용영역별로 쪼갠 구획단지 안의 동(棟)
라우팅 테이블"이 목적지는 어디로 보낸다"는 규칙도로 표지판
게이트웨이외부와의 출입구(IGW/NAT)단지 정문

예를 들어 VPC를 10.0.0.0/16으로 잡으면 약 6.5만 개의 사설 IP를 쓸 수 있고, 이걸 10.0.1.0/24, 10.0.2.0/24처럼 서브넷으로 나눠 씁니다.

퍼블릭 vs 프라이빗 — 라우팅을 포함한 여러 조건

많은 사람이 "서브넷에 퍼블릭/프라이빗 설정값이 따로 있다"고 오해합니다. AWS에서 인스턴스가 인터넷과 직접 통신하려면 라우팅 테이블의 IGW 경로뿐 아니라 인스턴스의 공인 IPv4/EIP, 보안 그룹·NACL 규칙도 함께 맞아야 합니다. 아래 표는 대표적인 라우팅 예시이며 모든 조건을 생략한 정의가 아닙니다.

서브넷라우팅 규칙용도
퍼블릭(대표 예)0.0.0.0/0 → IGW + 공인 IPv4/EIP웹 서버, 로드밸런서
프라이빗(대표 예)0.0.0.0/0 → NAT 또는 기본 경로 없음DB, 내부 애플리케이션 서버

웹 서버는 퍼블릭 서브넷에 두어 외부 요청을 받고, DB는 프라이빗 서브넷에 숨겨 외부에서 직접 접근하지 못하게 합니다. 프라이빗 서브넷의 서버가 패키지를 받아야 할 때는 NAT 게이트웨이를 거쳐 나가기만(outbound) 하고, 외부에서 들어오는 연결은 막습니다.

흔한 실수와 점검 순서

연결이 안 될 때는 이 순서로 봅니다.

  1. 라우팅 테이블 — 퍼블릭인데 IGW 경로가 없으면 인터넷이 안 됩니다.
  2. 보안 그룹 — 인스턴스 단위 방화벽. 인바운드 포트가 열려 있는지 확인.
  3. 네트워크 ACL — 서브넷 단위 방화벽. 기본값은 허용이지만 커스텀하면 양방향 모두 봐야 합니다.
TEXT
요청 → IGW → 라우팅 테이블 → NACL(서브넷) → 보안 그룹(인스턴스) → EC2

보안 그룹은 상태 저장(stateful)이라 나간 응답이 자동 허용되지만, NACL은 무상태(stateless)라 인바운드·아웃바운드 규칙을 따로 열어야 한다는 점이 자주 발목을 잡습니다.

요점 정리

  • VPC = CIDR로 정의한 사설 네트워크, 서브넷으로 가용영역별 분할.
  • 퍼블릭/프라이빗은 IGW 경로만으로 결정되지 않습니다. 라우팅 테이블, 공인 IPv4/EIP, 보안 그룹·NACL 등 조건이 함께 충족되어야 합니다.
  • 연결 문제는 라우팅 → 보안 그룹 → NACL 순으로 본다.

VPC·서브넷·라우팅을 직접 구성하고 인스턴스 연결을 확인하는 실습은 클라우드 트랙에서 무료로 할 수 있습니다.

관련 아티클