03 CHAPTER 03 · 핵심 서비스

Amazon VPC

내 전용 네트워크를 AWS 위에 그리기

핵심 서비스 NAT 시간당 과금

VPC · 서브넷 · 라우팅 테이블 · IGW · NAT Gateway · 보안 그룹 · NACL · Bastion Host · VPC Endpoint

CHAPTER INFO
🌐네트워크 설계 핵심
💰NAT Gateway 시간당 과금
⚠️모든 AWS 서비스의 토대
🔗이전: CH02 Amazon EC2
🔗다음: CH04 ELB · Auto Scaling

VPC란 — 내 전용 네트워크

VPC(Virtual Private Cloud)는 AWS 위에 내 전용 네트워크를 만드는 서비스입니다. 마치 회사 사무실에 전용 LAN을 깔듯, AWS 데이터센터 안에 나만의 가상 네트워크 대역을 그립니다.

EC2, RDS, Lambda 등 대부분의 AWS 서비스는 VPC 안에서 동작합니다. VPC를 이해하면 "왜 EC2에서 RDS로 연결이 안 되는지", "왜 프라이빗 서브넷의 서버가 인터넷에 못 나가는지"가 바로 이해됩니다.

🏢
비유하면
VPC = 회사 건물 전체 네트워크 대역
서브넷 = 층별 네트워크 (1층=퍼블릭, 지하=프라이빗)
라우팅 테이블 = 엘리베이터 안내판 (어디로 갈 수 있는지)
인터넷 게이트웨이 = 건물 정문
NAT Gateway = 내부에서 외부로만 나갈 수 있는 쪽문

사설망과 CIDR — /16, /24가 뭔가

VPC를 만들 때 IP 대역을 지정합니다. 예: 10.0.0.0/16. 이 표기법을 CIDR(Classless Inter-Domain Routing)이라 합니다.

📖 CIDR 표기법 이해
10.0.0.0/16
65,536개 IP
10.0.0.0 ~ 10.0.255.255
VPC 크기로 적합
10.0.1.0/24
256개 IP
10.0.1.0 ~ 10.0.1.255
서브넷 크기로 적합
10.0.1.5/32
IP 1개
정확히 그 IP만
보안 그룹 소스에 사용
💡 /뒤 숫자가 클수록 범위가 좁아집니다. /16 → 65536개, /24 → 256개, /32 → 1개

사설 IP 대역

VPC는 인터넷에서 쓰지 않는 사설 IP 대역을 사용합니다. AWS 권장 대역:

대역범위권장 VPC CIDR
10.0.0.0/810.0.0.0 ~ 10.255.255.25510.0.0.0/16
172.16.0.0/12172.16.0.0 ~ 172.31.255.255172.31.0.0/16
192.168.0.0/16192.168.0.0 ~ 192.168.255.255192.168.0.0/16

퍼블릭 서브넷 vs 프라이빗 서브넷

VPC 안의 IP 대역을 쪼갠 조각이 서브넷입니다. 차이는 단 하나 — 라우팅 테이블에 인터넷 게이트웨이(IGW)로 가는 길이 있느냐 없느냐입니다.

🌐 VPC 구조 — 퍼블릭 vs 프라이빗
🌐 VPC 10.0.0.0/16 — 서울 리전
🟢 퍼블릭 서브넷 (AZ 2a)
10.0.1.0/24
↔ 인터넷 통신 가능
🖥 웹서버 (EC2)
⚖️ ALB
🔒 프라이빗 서브넷 (AZ 2a)
10.0.2.0/24
→ 외부 접근 불가
🗄 RDS (DB)
🔧 내부 API
🚪 인터넷 게이트웨이
🔄 NAT Gateway
구분퍼블릭 서브넷프라이빗 서브넷
인터넷 접근가능 (IGW 경유)불가 (직접)
외부에서 접근가능불가
내부→외부 통신가능NAT Gateway 경유로 가능
배치 서비스ALB, Bastion Host, NAT GWEC2 앱 서버, RDS, ElastiCache

라우팅 테이블 · IGW · NAT Gateway

라우팅 테이블

서브넷의 트래픽이 어디로 가야 하는지 정하는 규칙표입니다.

대상타깃의미
10.0.0.0/16localVPC 내부 통신 (항상 있음)
0.0.0.0/0igw-xxx나머지 모든 트래픽 → 인터넷 (퍼블릭)
0.0.0.0/0nat-xxx나머지 모든 트래픽 → NAT GW (프라이빗)

인터넷 게이트웨이 (IGW)

VPC와 인터넷을 연결하는 관문입니다. VPC당 하나만 붙이고, 가용성 99.99% · 대역폭 무제한 · 과금 없음입니다.

NAT Gateway

프라이빗 서브넷의 EC2가 소프트웨어 업데이트나 외부 API 호출을 할 때 씁니다. 내부 → 외부는 가능, 외부 → 내부는 불가합니다.

💰
NAT Gateway 요금 주의
NAT Gateway는 시간당 약 $0.059 + 데이터 처리량 GB당 $0.059로 꽤 비쌉니다. 학습 중에 만들었다 잊어버리면 하루 $1.4+가 나옵니다. 실습 후 반드시 삭제하세요.

보안 그룹 vs NACL

VPC에는 두 겹의 방화벽이 있습니다.

구분보안 그룹네트워크 ACL (NACL)
적용 단위인스턴스(ENI)서브넷
상태Stateful (응답 자동 허용)Stateless (인바운드·아웃바운드 별도 설정)
규칙 방식허용만 가능 (Deny 없음)허용 + 거부 모두 가능
규칙 평가모든 규칙 평가 후 결정번호 순서대로 평가 (낮은 번호 우선)
기본값모든 인바운드 차단모든 트래픽 허용
주로 쓰는 곳대부분의 접근 제어서브넷 단위 IP 차단 (DDoS 대응)
💡
실무에서는 보안 그룹만 써도 충분합니다
NACL은 Stateless라 인바운드를 허용해도 아웃바운드 규칙을 별도로 열어야 합니다. 관리가 복잡해서, 특정 IP를 서브넷 단위로 차단해야 하는 경우가 아니면 보안 그룹만 씁니다.

Bastion Host — 프라이빗 서버 접속 방법

프라이빗 서브넷의 EC2에는 직접 SSH가 안 됩니다. 인터넷에서 접근할 수 없으니까요. 이때 퍼블릭 서브넷에 Bastion Host(점프 서버)를 두고, 거기를 거쳐서 접속합니다.

🔐 Bastion Host 접속 흐름
💻
내 PC
→ SSH
🏰
Bastion Host
퍼블릭 서브넷
→ SSH
🖥
앱 서버 EC2
프라이빗 서브넷
💡
Session Manager로 Bastion Host 대체 가능
CH02에서 배운 Session Manager를 쓰면 Bastion Host 없이 프라이빗 EC2에 접속할 수 있습니다. SSH 포트 22를 열 필요도 없어서 더 안전합니다. ISMS-P 감사에서도 유리합니다.

VPC Endpoint — 인터넷 없이 AWS 서비스 접근

프라이빗 서브넷의 EC2에서 S3나 DynamoDB를 쓰려면 원래 NAT Gateway를 거쳐 인터넷으로 나갔다가 들어와야 합니다. VPC Endpoint를 쓰면 인터넷을 거치지 않고 AWS 내부 네트워크로 직접 연결됩니다.

종류대상 서비스과금
게이트웨이 엔드포인트S3, DynamoDB무료
인터페이스 엔드포인트대부분의 AWS 서비스시간당 + 데이터 전송량

S3를 많이 쓰는 환경에서 게이트웨이 엔드포인트를 붙이면 NAT Gateway 데이터 전송 비용을 크게 줄일 수 있습니다. 무료이니 붙이지 않을 이유가 없습니다.

VPC 직접 만들기

  1. VPC 생성: VPC 콘솔 → VPC 생성 → 이름 my-vpc, CIDR 10.0.0.0/16
  2. 퍼블릭 서브넷: 서브넷 생성 → VPC 선택 → AZ: ap-northeast-2a → CIDR 10.0.1.0/24
  3. 프라이빗 서브넷: 서브넷 생성 → AZ: ap-northeast-2a → CIDR 10.0.2.0/24
  4. IGW 생성 및 연결: 인터넷 게이트웨이 → 생성 → VPC에 연결
  5. 퍼블릭 라우팅 테이블: 라우팅 테이블 → 생성 → 0.0.0.0/0 → IGW 추가 → 퍼블릭 서브넷 연결
  6. 퍼블릭 IP 자동 할당: 퍼블릭 서브넷 선택 → 서브넷 설정 편집 → 퍼블릭 IP 자동 할당 활성화
  7. EC2 생성 테스트: 새 VPC의 퍼블릭 서브넷에 EC2 생성 → SSH 접속 확인
⚠️
NAT Gateway는 실습에서 만들지 마세요
시간당 $0.059 과금입니다. 개념만 이해하고 넘어가세요. 실제로 필요한 건 CH10 종합 실습 때입니다.
📌 CH03 핵심 개념 요약
VPC내 전용 네트워크 대역. 리전 단위로 생성
CIDR /1665,536개 IP. VPC에 적합. /24는 서브넷에 적합
퍼블릭 서브넷라우팅 테이블에 IGW 경로 있음 → 인터넷 통신 가능
프라이빗 서브넷IGW 경로 없음 → 외부 직접 접근 불가. DB·앱 서버 배치
NAT Gateway프라이빗 → 외부 통신. 시간당 과금. 실습 후 삭제 필수
보안 그룹 vs NACL보안 그룹=인스턴스·Stateful. NACL=서브넷·Stateless
VPC EndpointS3·DynamoDB 게이트웨이 엔드포인트는 무료. NAT 비용 절감