836. VPC (Virtual Private Cloud) - 퍼블릭 클라우드 내 격리된 가상 사설 통신망 구조 체계

핵심 인사이트: 아마존 AWS(퍼블릭 클라우드)라는 거대한 운동장에 전 세계 100만 개 기업의 컴퓨터가 다 같이 뛰어놀고 있다. 삼성 서버 옆에 해커의 서버가 나란히 떠 있을 수도 있다. 삼성이 미쳤다고 이 뻥 뚫린 광장에 자기들 기밀 DB를 띄울까? 그래서 삼성이 아마존에 돈을 내고 샀다. "이 거대한 공용 운동장 한가운데에, 우리 삼성 직원들만 들어갈 수 있는 완벽히 분리된 투명한 유리온실(가상 사설망)을 쳐줘! 유리온실 밖이랑은 1비트의 통신도 섞이지 않게 밀봉해 줘!" 퍼블릭 클라우드의 심장부, VPC의 탄생이다.

Ⅰ. VPC (Virtual Private Cloud)의 개념

  • 개념: 퍼블릭 클라우드 컴퓨팅 환경(AWS, GCP, Azure 등)의 거대한 공용(Public) 물리 자원 속에서, 특정 고객(기업 테넌트) 전용으로 할당된 논리적으로 완벽하게 격리된 가상의 사설(Private) 네트워크 공간입니다.
  • 배경: 과거 퍼블릭 클라우드는 네트워크망이 공용(EC2-Classic)이라 보안에 매우 취약했습니다. VPC 도입 이후, 기업들은 자신의 본사 지하실 전산실(온프레미스)과 똑같이 안전한 자신만의 네트워크 섬을 클라우드 위에 만들 수 있게 되었습니다.

Ⅱ. VPC의 3단계 설계 구조 아키텍처 🌟

VPC를 만들면, 192.168.x.x 같은 가짜 사설 IP 대역(CIDR) 덩어리를 하나 통째로 받게 됩니다. 이를 방(서브넷)으로 잘게 쪼갭니다.

1. Public Subnet (공개 방 / DMZ 구역)

  • 역할: 외부 인터넷과 완벽하게 문이 뻥 뚫려있는 방입니다.
  • 적용: 외부 사용자가 스마트폰으로 직접 접속해야 하는 웹 서버(Web Server), Nginx 라우터, 로드밸런서(ALB) 같은 총알받이(접점 장비)들을 이 방에 배치합니다.
  • 인터넷 게이트웨이(IGW, 837번 문서)라는 정문과 직접 연결되어 있어, 누구나 들어오고 나갈 수 있습니다.

2. Private Subnet (비밀 방 / 내부 보안 구역) 🌟

  • 역할: 외부 인터넷과 완전히 단절된, 창문 하나 없는 밀실입니다.
  • 적용: 해커가 절대 해킹하면 안 되는 고객 데이터베이스(DB) 서버, 핵심 비즈니스 로직(WAS) 서버 등을 이 방에 꽁꽁 숨겨둡니다.
  • 접근 방법: 이 비밀 방에 있는 DB 서버는 밖(인터넷)에서 절대로 직접 IP를 치고 들어올 수 없습니다. 오직 아까 Public Subnet에 띄워놓은 '안전한 우리 회사 웹 서버'만이 이 DB 서버에 1:1로 접속(East-West)하여 데이터를 빼 갈 수 있습니다(보안 격리망의 본질).

3. 보안 통제막 (Security Group & NACL)

  • Security Group (보안 그룹): 서버(EC2 가상머신) 1대 1대의 피부에 찰싹 달라붙어 있는 '방탄조끼'입니다. "내 서버에는 웹(80번 포트)만 들어올 수 있다!"라고 설정하는 단위 방화벽(Stateful 방식)입니다.
  • NACL (네트워크 ACL): 방(Subnet) 전체를 둘러싸는 '두꺼운 콘크리트 성벽'입니다. "이 1번 방 전체에는 중국 해커 IP의 출입을 전면 차단하라!"라고 설정하는 거시적 방화벽(Stateless 방식)입니다.

Ⅲ. 오버레이 기반 격리 (어떻게 100% 찢는가?)

  • 수백만 기업의 VPC가 겹치지 않게 돌아가는 마법의 기반은 앞서 배운 817번의 VXLAN (가상 확장 랜) 같은 오버레이 터널링 기술입니다.
  • 삼성이 10.0.0.1을 쓰고 구글도 10.0.0.1을 쓰더라도, VPC 소프트웨어 엔진이 밑바닥에서 터널 ID(VNI)를 다르게 씌워버리기 때문에 패킷이 절대 엉뚱한 회사 방으로 흘러 들어가지 않는 100% 논리적 격리성을 완성합니다.

📢 섹션 요약 비유: AWS 클라우드는 전 세계인 누구나 들어와서 텐트를 치고 자는 거대한 '공용 캠핑장(퍼블릭 클라우드)'입니다. 도둑질당하기 딱 좋습니다. **VPC(가상 사설망)**는 이 캠핑장 한가운데에 회사 전용으로 친 '두꺼운 철조망 펜스 텐트'입니다. 이 텐트는 두 칸으로 나뉩니다. 바깥세상과 뚫려있는 거실(Public Subnet)에는 손님을 맞이하는 알바생(웹서버)을 둡니다. 하지만 철문으로 잠긴 굳건한 안방(Private Subnet)에는 금고(DB 서버)를 둡니다. 외부 강도는 거실까진 들어올 수 있어도 안방 철문은 절대 열 수 없고, 오직 우리 알바생만이 안방에서 금괴를 꺼내다 손님에게 줄 수 있는 완벽한 2중 철통 보안 네트워크입니다.