837. 클라우드 서브넷 라우팅, 인터넷 게이트웨이, NAT 게이트웨이 - 대역 분리 구조망 설계

핵심 인사이트: 회사 전용 클라우드 공간(VPC)을 만들면, 그 안에는 손님을 맞이할 거실(Public)과 금고를 숨겨둘 안방(Private)이 필요하다. 하지만 방만 만든다고 끝이 아니다. 바깥세상(인터넷)과 통하려면 아파트 정문인 '인터넷 게이트웨이(IGW)'를 달아야 한다. 그런데 안방에 숨겨둔 DB 서버가 윈도우 업데이트를 하려고 잠깐 인터넷을 나가고 싶다면? 정문(IGW)을 통해 나가면 밖에서 안방 IP가 훤히 보여 해킹당한다. 그래서 안방 전용으로 "나가는 건 되지만, 밖에서 들어오는 건 절대 안 되는 일방통행 회전문"을 거실에 달아준다. 이것이 NAT 게이트웨이다.

Ⅰ. 서브넷 라우팅 테이블 (Route Table)의 마법

  • VPC(가상 사설망) 안에 여러 개의 서브넷(방)을 만들면, 각 방마다 '라우팅 테이블(이정표)'을 하나씩 배정해 줍니다.
  • 이 이정표에 **"외부 인터넷(0.0.0.0/0)으로 가려면 어느 문을 통과해야 하는가?"**를 어떻게 적어놓느냐에 따라 Public 서브넷과 Private 서브넷의 운명이 완벽하게 갈립니다.

Ⅱ. 인터넷 게이트웨이 (IGW) - "양방향 뻥 뚫린 정문" 🌟

  • 개념: VPC와 외부 인터넷을 물리적으로 연결해 주는 크고 튼튼한 양방향 대문 장비입니다.
  • Public Subnet의 탄생 조건:
    • 서브넷 A의 라우팅 테이블에 목적지: 0.0.0.0/0 ➜ 타겟: IGW라고 적어주면, 그 방은 그 즉시 **Public Subnet(공개 방)**으로 변신합니다.
    • 여기에 있는 웹서버(EC2)는 공인 IP(Public IP)를 부여받아, 손님(인터넷 사용자)이 밖에서 내 서버로 직접 치고 들어올 수 있습니다. (웹서버, 로드밸런서 배치 구역)

Ⅲ. NAT 게이트웨이 (NAT Gateway) - "일방통행 회전문" 🌟

  • 문제점: Private Subnet(안방)에 숨겨둔 DB 서버는 보안을 위해 IGW 정문 길을 끊어두었습니다. 그런데 DB 서버도 리눅스 보안 패치 다운로드나 외부 결제망 API 통신을 위해 잠깐씩 인터넷으로 '나가야 할' 때가 있습니다. 어떻게 해야 할까요?
  • 해결책 (NAT의 원리):
    • 관리자는 Public Subnet(거실)에 NAT 게이트웨이라는 특수 장비를 하나 띄워둡니다.
    • Private Subnet의 라우팅 테이블에 목적지: 0.0.0.0/0 ➜ 타겟: NAT 게이트웨이라고 적어줍니다.
    • 동작: DB 서버가 인터넷으로 패킷을 쏘면, 이 패킷은 거실에 있는 NAT 게이트웨이로 갑니다. NAT 게이트웨이는 패킷의 출발지 주소(안방 사설 IP)를 자기 자신의 공인 IP로 몰래 바꿔치기(Source NAT)해서 정문(IGW) 밖으로 던져줍니다.
  • 최고의 장점 (보안 보장): 밖에서 보면 패킷이 NAT 게이트웨이(거실)에서 온 것처럼 보일 뿐, 안방 DB 서버의 진짜 IP는 영원히 감춰집니다. 밖에서 해커가 안방으로 직접 접속을 시도해도 NAT 게이트웨이가 100% 튕겨내 버리는 완벽한 일방통행 보안망이 완성됩니다.

Ⅳ. Bastion Host (베스천 호스트) 통제

  • 안방(Private Subnet)에 있는 DB 서버를 관리자가 원격 제어(SSH 접속 등)하고 싶을 때는 NAT로도 들어올 수 없습니다.
  • 이때 Public Subnet에 '점프 전용 서버(Bastion Host)'를 하나 띄웁니다. 관리자는 무조건 이 점프 서버에 먼저 접속한 뒤, 그 서버를 디딤돌 삼아 안방 DB 서버로 한 번 더 점프(SSH 접속)해서 들어가는 철통 통제 체계를 씁니다. (736번 문서 참조)

📢 섹션 요약 비유: 클라우드 VPC 망 설계는 '철통 보안 저택'을 짓는 것입니다. **IGW(인터넷 게이트웨이)**는 밖에서 누구나 초인종을 누르고 들어올 수 있는 '저택의 대문'입니다. 대문과 바로 연결된 응접실(Public Subnet)에는 손님을 맞이하는 하인(웹서버)이 있습니다. 반면 금고가 있는 안방(Private Subnet)은 문이 잠긴 밀실입니다. 그런데 안방에 있는 주인마님(DB 서버)이 홈쇼핑으로 물건을 주문(인터넷 통신)하고 싶어 합니다. 밖으로 직접 나가면 강도(해커)를 만날 수 있습니다. 그래서 안방에서 응접실 쪽에 NAT 게이트웨이라는 '특수 심부름꾼'을 세워둡니다. 주인마님이 심부름꾼에게 주문서를 주면, 심부름꾼이 자기 이름(공인 IP)으로 대문 밖으로 나가 대신 물건을 사서 안방으로 가져다줍니다. 밖의 강도는 마님이 안방에 숨어있다는 사실조차 영원히 모릅니다.