AWS DVA-C02 마스터 노트 시리즈 5편. VPC 서브넷·IGW·NAT의 회사 사옥 비유, Security Group(Stateful) vs NACL(Stateless), CloudFront 엣지 캐싱과 OAI, API Gateway 인증 4종·Throttling·캐싱, Route 53 라우팅 정책 7종까지 — 네트워킹의 자격증 핵심.
이 글은 AWS DVA-C02 마스터 노트 시리즈의 다섯 번째 편입니다. 4편(데이터베이스)까지 데이터 영역을 잡았다면, 이번엔 그 데이터를 사용자에게 전달하는 도로 — VPC·CloudFront·API Gateway·Route 53.
VPC — 회사 사옥의 사설 망
회사 비유 — 사옥 안의 사설 네트워크. 외부에서 직접 못 들어오고, 사옥 안에서만 통신.
핵심 구성 요소
| 요소 | 비유 |
|---|---|
| VPC | 사옥 |
| Subnet | 사옥의 한 층 |
| Internet Gateway (IGW) | 정문 |
| NAT Gateway | 직원이 외부 호출하는 비공개 출구 |
| Route Table | 안내 데스크 (어디로 가야 하나) |
| Security Group | 방문 카드 검사 (Stateful) |
| NACL | 층 출입 카드 검사 (Stateless) |
Subnet 두 종류
| 종류 | 설명 |
|---|---|
| Public Subnet | IGW로 인터넷 직접 접근 (웹 서버) |
| Private Subnet | NAT 통해서만 외부 (DB·내부 서비스) |
여기서 정말 중요한 시험 함정 — DB는 Private Subnet에. 인터넷에서 직접 접근 차단. 웹 서버(Public)가 DB(Private) 호출하는 구조.
Security Group vs NACL
| 구분 | Security Group | NACL |
|---|---|---|
| 동작 | Stateful (응답 자동 허용) | Stateless (응답도 명시) |
| 적용 단위 | 인스턴스 | 서브넷 |
| 룰 | Allow만 | Allow + Deny |
| 평가 | 모든 룰 평가 | 번호 순서 |
여기서 정말 중요한 시험 함정 — SG는 Stateful, 들어온 트래픽 응답이 자동 허용. NACL은 Stateless, 응답도 명시 허용해야. 이 차이가 시험 단골.
NAT Gateway vs NAT Instance
| 구분 | NAT Gateway | NAT Instance |
|---|---|---|
| 관리 | AWS | 사용자 |
| 가용성 | 자동 | 직접 구성 |
| 대역폭 | 최대 100Gbps | 인스턴스 타입 |
NAT Gateway가 표준. NAT Instance는 Legacy.
VPC Endpoint
VPC 내에서 AWS 서비스(S3·DynamoDB)에 인터넷 통과 없이 접근.
| 종류 | 적용 |
|---|---|
| Gateway Endpoint | S3·DynamoDB만 (무료) |
| Interface Endpoint | 그 외 (ENI, 비용 발생) |
여기서 시험 함정이 하나 있어요. Gateway Endpoint는 S3·DynamoDB 두 서비스 전용. 다른 서비스는 Interface Endpoint.
VPC Peering
두 VPC 사이 직접 연결. 같은·다른 계정·다른 리전 가능.
여기서 시험 함정이 하나 있어요. Peering은 비전이적(non-transitive). VPC A-B, B-C 연결돼도 A-C 자동 X. 직접 연결 필요.
Transit Gateway
여러 VPC를 허브-스포크로 연결. Peering의 N×N 한계 해결.
CloudFront — 글로벌 CDN
400+ 엣지 로케이션. 정적·동적 콘텐츠 캐싱.
사용자 → 가장 가까운 엣지 → (캐시 HIT) 즉시 응답
→ (캐시 MISS) Origin 호출 후 캐싱
Origin
| 종류 | 설명 |
|---|---|
| S3 | 정적 파일 |
| ALB | 동적 (EC2·ECS) |
| EC2 | 직접 |
| HTTP | 외부 (CloudFront 아닌 것) |
OAI (Origin Access Identity) / OAC (Origin Access Control)
CloudFront만 S3 접근 가능, 직접 S3 URL 접근 차단.
사용자 → CloudFront (OAI) → S3
직접 S3 URL → 거부
여기서 정말 중요한 시험 함정 — OAC가 OAI의 후속. 새 프로젝트는 OAC 권장. 시험엔 둘 다 등장.
Signed URL / Signed Cookie
특정 사용자에게만 콘텐츠 액세스 허용.
| 구분 | 사용 |
|---|---|
| Signed URL | 단일 파일 |
| Signed Cookie | 여러 파일·세션 |
Geo Restriction
특정 국가 차단·허용.
Field-Level Encryption
신용카드 등 민감 필드만 추가 암호화.
API Gateway — API 게이트웨이
REST·HTTP·WebSocket API 관리·인증·Throttling.
API 종류
| 종류 | 특징 |
|---|---|
| REST API | 풀 기능, 캐싱·요청 검증 |
| HTTP API | 가벼움·저렴 (50% 이상) |
| WebSocket API | 실시간 양방향 |
여기서 시험 함정이 하나 있어요. HTTP API는 REST API의 가벼운 버전. 가격·지연 모두 우수. 단순 프록시면 HTTP API.
통합 타입
- Lambda Function — 가장 흔함
- HTTP — 외부 HTTP 서비스
- AWS Service — DynamoDB, SQS 직접 호출
- Mock — 테스트용
인증 4종
| 방식 | 설명 |
|---|---|
| IAM | AWS 자격 증명 (서비스 간) |
| Cognito User Pool | 외부 사용자 (앱) |
| Lambda Authorizer (Custom) | 커스텀 인증 (JWT 검증 등) |
| API Key | 단순, Throttling용 |
여기서 정말 중요한 시험 함정 — API Key 단독은 인증이 아님. Throttling·사용 추적용. 진짜 인증은 IAM·Cognito·Lambda Authorizer.
Throttling (속도 제한)
| 단위 | 기본 |
|---|---|
| 계정 | 10,000 req/s |
| 스테이지 | 사용자 정의 |
| 메서드 | 사용자 정의 |
| Usage Plan | API Key별 |
429 Too Many Requests 응답. 자동 재시도·exponential backoff 권장.
캐싱
엣지·스테이지 캐싱. TTL 0.5초~1시간.
캐시 무효화 — 클라이언트 헤더 'Cache-Control: max-age=0' 전송
스테이지 (Stage)
배포 단위. dev·staging·prod 분리.
Stage Variables
스테이지마다 다른 Lambda 버전·HTTP 엔드포인트 지정.
prod → Lambda alias 'PROD' (v3)
dev → Lambda alias 'DEV' (latest)
CORS
브라우저 cross-origin 요청 허용.
Access-Control-Allow-Origin: https://my-website.com
API Gateway 콘솔에서 자동 설정 가능.
Route 53 — DNS
글로벌 DNS. 도메인 등록 + 라우팅.
라우팅 정책 7종
| 정책 | 설명 |
|---|---|
| Simple | 단일 리소스 (단순) |
| Weighted | 비율별 분산 (A/B 테스트) |
| Latency | 지연 최소 리전 |
| Failover | 장애 시 백업 (Active-Passive) |
| Geolocation | 국가별 |
| Geoproximity | 위치 + 편향 (Traffic Flow) |
| Multi-Value Answer | 최대 8 IP, 헬스 체크 |
여기서 정말 중요한 시험 함정 — Latency vs Geolocation 구분. Latency = 빠른 리전. Geolocation = 사용자 국가. 시나리오에 따라 분기.
Health Check
엔드포인트 상태 모니터링. Failover 라우팅과 결합.
Alias Record
CNAME과 비슷하지만 AWS 리소스 전용. 무료. ELB·CloudFront·S3 웹사이트 등에 사용.
www.example.com → Alias → ALB (또는 CloudFront)
여기서 시험 함정이 하나 있어요. Alias는 zone apex(루트 도메인)에서도 사용 가능. CNAME은 zone apex 사용 불가. example.com → ELB 매핑은 Alias만.
TTL
DNS 응답 캐시 시간. 짧으면 변경 빨리 반영, 길면 DNS 쿼리 비용 절감.
시험 직전 한 번 더 — 자주 헷갈리는 함정 모음
여기까지가 5편의 핵심입니다. 시험 직전 또는 실무에서 헷갈릴 때 다시 펼쳐 볼 수 있게 압축 노트로 마무리할게요.
- VPC = 사옥 / Subnet = 층 / IGW = 정문 / NAT = 비공개 출구
- Public Subnet (IGW) / Private Subnet (NAT)
- DB는 Private Subnet에
- SG = Stateful (응답 자동) / NACL = Stateless (응답도 명시)
- SG = Allow만 / NACL = Allow + Deny + 번호 순서
- NAT Gateway (관리 X) / NAT Instance (Legacy)
- VPC Endpoint — Gateway (S3·DynamoDB 무료) / Interface (그 외 ENI)
- VPC Peering = 비전이적, A-B + B-C ≠ A-C
- Transit Gateway = 허브-스포크 (Peering 한계 해결)
- CloudFront = 글로벌 CDN, 400+ 엣지
- Origin — S3 / ALB / EC2 / HTTP
- OAC(신) / OAI(구) — CloudFront만 S3 접근
- Signed URL (단일 파일) / Signed Cookie (여러)
- Geo Restriction / Field-Level Encryption
- API Gateway 종류 — REST / HTTP (가벼움) / WebSocket
- HTTP API = 가격·지연 우수
- 통합 — Lambda / HTTP / AWS Service / Mock
- 인증 4종 — IAM / Cognito / Lambda Authorizer / API Key
- API Key 단독은 인증 X — Throttling용
- Throttling 기본 10,000 req/s, 429 응답
- 캐싱 0.5초~1시간 / Cache-Control: max-age=0 무효화
- Stage Variables = 스테이지별 Lambda·HTTP 분기
- CORS = 브라우저 cross-origin
- Route 53 라우팅 7종 — Simple / Weighted / Latency / Failover / Geolocation / Geoproximity / Multi-Value
- Latency (빠른 리전) ≠ Geolocation (사용자 국가)
- Health Check + Failover = Active-Passive
- Alias Record — AWS 리소스, zone apex 가능
- CNAME은 zone apex X / Alias만 가능
시리즈 다른 편
- 1편 — IAM·STS·Cognito
- 2편 — 컴퓨팅
- 3편 — 스토리지
- 4편 — 데이터베이스
- 5편 — 네트워킹 (현재 글)
- 6편 — 메시징
- 7편 — 서버리스
- 8편 — CI/CD
- 9편 — 모니터링
- 10편 — 보안·암호화
- 11편 — 컨테이너
- 12편 — 개발자 도구
공식 문서: AWS VPC User Guide에서 더 깊이 갈 수 있어요.
다음 글(6편)에서는 메시징 — SQS 표준 vs FIFO·가시성 타임아웃·DLQ, SNS 팬아웃, Kinesis Data Stream vs Firehose, EventBridge까지 풀어 갑니다.