← 아티클 목록

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 프라이빗 — 차이는 라우팅 하나

많은 사람이 "서브넷에 퍼블릭/프라이빗 설정값이 따로 있다"고 오해합니다. 실제 차이는 단 하나, 라우팅 테이블이 인터넷 게이트웨이(IGW)를 가리키느냐입니다.

서브넷라우팅 규칙용도
퍼블릭0.0.0.0/0 → IGW웹 서버, 로드밸런서
프라이빗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 경로 하나뿐.
  • 연결 문제는 라우팅 → 보안 그룹 → NACL 순으로 본다.

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