TIL

VPC, 서브넷 개념좀잡자.

하얀잔디 2026. 5. 8. 10:37

AWS 콘솔 켜거나 테라폼 코드 짤 때 제일 먼저 마주치는 게 VPC임.

 

대충 알았는데 왜있는거랑, 개념좀 잡게 정리

 


 

1. VPC (Virtual Private Cloud) : "내 전용 사유지 울타리 치기"

 

AWS는 전 세계 수많은 회사가 같이 쓰는 거대한 공터임. 여기에 그냥 내 서버를 덜렁 띄우면 옆 회사 데이터랑 섞이거나 해커한테 털리기 딱 좋음. 그래서 제일 먼저 "여기서부터 여기까지는 우리 회사 전용 땅이야!" 하고 높은 울타리를 치는데, 이게 바로 VPC임.

 

  • 가짜 IP(사설 IP) 파티: VPC를 만들면 AWS가 보통 10.0.0.0/16 같은 IP 대역을 줌.
  • 이건 진짜 인터넷 공인 IP가 아니라, 우리끼리 쓰는 '부루마불 지폐' 같은 거임. 무려 6만 5천 개나 되니까 맘껏 써도 됨.
  • 완벽한 밀실: 막 생성된 기본 VPC는 인터넷과 단절된 완벽한 고립 공간임. (안전하지만 아무것도 못 함)

 

2. 서브넷 (Subnet) : "건물 용도별로 파티션 치기"

만 평짜리 땅(VPC)을 받았다고 거기에 매대, 직원 휴게실, 현금 금고를 텐트 하나에 다 섞어놓고 장사할 수는 없잖아? 도둑 들어오면 한 방에 싹 다 털림.

그래서 이 거대한 땅(Network)을 쪼개서(Sub) 용도별로 방을 나누는 작업을 하는데, 이게 서브넷(Subnet)임.

크게 두 가지 방으로 나눔.

퍼블릭 서브넷 (Public Subnet / 1층 로비)

  • 특징: 외부 손님(인터넷)이 자유롭게 드나들 수 있는 개방된 구역임.
  • 배치하는 서버: 밖에서 접속해야 하는 웹 서버(Nginx), 로드밸런서(ALB) 같은 애들을 여기에 둠.
  • 필수템: 여기에 있는 서버들은 바깥 세상과 통신해야 하니까 돈 주고 진짜 신분증(공인 IP)을 하나씩 달아줌.

 

🔒 프라이빗 서브넷 (Private Subnet / 지하 금고)

  • 특징: 외부에서는 절대 다이렉트로 들어올 수 없는, 사방이 막힌 비밀의 방임.
  • 배치하는 서버: 절대 해킹당하면 안 되는 고객 정보 DB(MySQL 등)나 사내 백엔드 API 서버를 숨겨둠.
  • 필수템: 얘네는 공인 IP가 없음. 오직 부루마불 지폐(사설 IP)만 들고 있어서 밖으로 못 나감.

 

팁: 서브넷을 쪼개는 또 다른 이유는 '재난 대비'임. 1층 매장(Public A)은 강남 센터에, 또 다른 1층 매장(Public B)은 일산 센터에 쪼개서 물리적으로 분산시켜 둬야 한쪽 센터가 불타도 서비스가 안 죽음.


 

3. 출입문 2대장 (IGW vs NAT Gateway)

서브넷으로 방도 나눴으니, 이제 밖(인터넷)으로 통하는 대문을 만들어야 함. 사설 IP(부루마불 돈)를 공인 IP(진짜 돈)로 바꿔치기(환전) 해주는 게이트웨이들이 필요함.

  • Internet Gateway (IGW) / "마트 정문"
    • VPC 전체를 인터넷과 연결해 주는 유일한 거대한 대문임.
    • 퍼블릭 서브넷에 있는 서버들이 밖으로 나갈 때, 자기가 가진 사설 IP를 공인 IP로 1:1 환전해서 내보내 줌.
  • NAT Gateway / "지하 금고 전용 심부름꾼"
    • 프라이빗 서브넷(지하 금고)에 있는 DB 서버도 가끔 리눅스 업데이트하러 인터넷에 나가야 할 때가 있음.
    • 근데 얘네는 공인 IP가 없잖아? 그래서 퍼블릭 서브넷(1층 로비)에 NAT 게이트웨이를 세워둠.
    • DB 서버가 "나 인터넷 좀 갔다 올게" 하면, NAT 게이트웨이가 "너 밖으로 못 나가니까 내 공인 IP 1개 빌려줄게. 다 내 이름표 달고 뭉쳐서 나가!" 하고 N:1 환전을 해줌.

 


 

 3줄 요약

  1. VPC: AWS 안에 짓는 내 전용 마트 부지 (사설 IP 6만 개 발급)
  2. Public 서브넷: 인터넷 뚫려 있는 1층 로비 (웹 서버, 로드밸런서 위치)
  3. Private 서브넷: 인터넷 꽉 막힌 지하 금고 (DB, 백엔드 서버 숨겨둠)