AWS VPC란? CIDR, 서브넷, 라우팅 테이블 완벽 가이드
VPC는 AWS에서 나만의 가상 네트워크를 만드는 서비스입니다. CIDR 계산법, 퍼블릭/프라이빗 서브넷 차이, 라우팅 테이블 설정까지 SAA-C03 시험 핵심을 정리합니다.
관련 시험 도메인
- Domain 1: Design Secure Architectures
- Domain 2: Design Resilient Architectures
핵심 요약 (BLUF)
VPC(Virtual Private Cloud)는 AWS 클라우드 내에서 논리적으로 격리된 나만의 가상 네트워크입니다. CIDR 블록으로 IP 범위를 정하고, 서브넷으로 리소스를 배치하며, 라우팅 테이블로 트래픽 흐름을 제어합니다.
시험 팁
시험 핵심: 서브넷당 AWS 예약 IP 5개, CIDR 범위 /16~/28, 퍼블릭 서브넷 = 인터넷 게이트웨이 연결
VPC는 언제 사용해야 할까?
AWS에서 생성하는 거의 모든 리소스(EC2, RDS, Lambda 등)는 VPC 위에서 동작합니다. VPC는 AWS 사용의 가장 기본이 되는 네트워크 서비스입니다.
VPC가 필요한 상황
- EC2 인스턴스를 배포할 때
- RDS 데이터베이스를 프라이빗하게 운영할 때
- 온프레미스 네트워크와 AWS를 연결할 때
- 보안 요구사항에 맞는 네트워크 격리가 필요할 때
기본 VPC vs 커스텀 VPC
AWS 계정을 생성하면 각 리전에 **기본 VPC(172.31.0.0/16)**가 자동으로 만들어집니다. 하지만 프로덕션 환경에서는 보안과 설계를 위해 커스텀 VPC를 만드는 것이 권장됩니다.
CIDR이란? IP 주소 범위 계산법
CIDR 표기법 이해하기
**CIDR(Classless Inter-Domain Routing)**은 IP 주소 범위를 표현하는 방법입니다.
10.0.0.0/16
│ │
│ └── 넷마스크 (앞에서 고정되는 비트 수)
└── 네트워크 시작 주소
자주 사용하는 CIDR 블록
| CIDR | IP 개수 | 사용 사례 |
|---|---|---|
| /16 | 65,536개 | VPC 전체 (대규모) |
| /20 | 4,096개 | 대형 서브넷 |
| /24 | 256개 | 일반적인 서브넷 |
| /28 | 16개 | 최소 서브넷 (AWS 최소 단위) |
AWS VPC CIDR 제한사항
- 허용 범위:
/16(65,536개) ~/28(16개) - 권장 범위 (RFC 1918):
10.0.0.0/8172.16.0.0/12192.168.0.0/16
- 사용 불가:
127.0.0.0/8(루프백),169.254.0.0/16(링크 로컬)
시험 팁
시험 팁: VPC CIDR은 생성 후 변경 불가! 단, Secondary CIDR 추가는 가능합니다.
서브넷: 퍼블릭 vs 프라이빗 차이점
서브넷은 VPC 내의 IP 주소 범위로, 실제로 리소스가 배치되는 공간입니다.
서브넷의 핵심 규칙
- 하나의 서브넷은 하나의 가용 영역(AZ)에만 존재
- 서브넷 CIDR은 VPC CIDR 범위 내에서 설정
- AWS는 각 서브넷에서 5개의 IP를 예약
AWS 예약 IP 주소 (시험 필출!)
10.0.0.0/24 서브넷 예시:
| IP 주소 | 용도 |
|---|---|
| 10.0.0.0 | 네트워크 주소 |
| 10.0.0.1 | VPC 라우터 |
| 10.0.0.2 | AWS DNS 서버 |
| 10.0.0.3 | AWS 예약 (향후 사용) |
| 10.0.0.255 | 브로드캐스트 주소 |
시험 팁
시험 문제 예시: "EC2 인스턴스 29개가 필요합니다. /27 서브넷(32개)을 선택할 수 있을까요?" → 정답: 아니오! 32 - 5(예약) = 27개 < 29개. **/26 서브넷(64 - 5 = 59개)**이 필요합니다.
퍼블릭 서브넷 vs 프라이빗 서브넷
| 구분 | 퍼블릭 서브넷 | 프라이빗 서브넷 |
|---|---|---|
| 인터넷 게이트웨이 연결 | 직접 연결 (0.0.0.0/0 → IGW) | 연결 없음 |
| 퍼블릭 IP | 자동 할당 가능 | 일반적으로 없음 |
| 외부에서 접근 | 가능 | 불가능 |
| 인터넷 접속 | 직접 가능 | NAT Gateway 필요 |
| 용도 | 웹 서버, 로드밸런서, Bastion Host | 데이터베이스, 애플리케이션 서버 |
퍼블릭 서브넷이 되는 조건
- **인터넷 게이트웨이(IGW)**가 VPC에 연결됨
- 라우팅 테이블에
0.0.0.0/0 → IGW경로가 있음 - 인스턴스에 퍼블릭 IP 또는 Elastic IP가 할당됨
프라이빗 서브넷에서 인터넷 접속하기
프라이빗 서브넷의 리소스가 외부 인터넷에 접속하려면(예: 패치 다운로드) NAT Gateway가 필요합니다.
프라이빗 서브넷 EC2 → NAT Gateway (퍼블릭 서브넷) → 인터넷 게이트웨이 → 인터넷
NAT Gateway 특징:
- 아웃바운드만 가능 (외부 → 내부 차단)
- 퍼블릭 서브넷에 배치
- 요금 발생 (시간당 + 데이터 처리량)
라우팅 테이블: 트래픽 흐름 제어
라우팅 테이블이란?
라우팅 테이블은 네트워크 트래픽을 어디로 보낼지 결정하는 규칙 집합입니다. 모든 서브넷은 반드시 하나의 라우팅 테이블과 연결되어야 합니다.
라우팅 테이블 구성 요소
| 대상(Destination) | 타겟(Target) | 설명 |
|---|---|---|
| 10.0.0.0/16 | local | VPC 내부 통신 (기본) |
| 0.0.0.0/0 | igw-xxxxx | 모든 외부 트래픽 → 인터넷 게이트웨이 |
| 0.0.0.0/0 | nat-xxxxx | 모든 외부 트래픽 → NAT Gateway |
퍼블릭/프라이빗 서브넷 라우팅 테이블 예시
퍼블릭 서브넷 라우팅 테이블:
10.0.0.0/16 → local
0.0.0.0/0 → igw-xxxxxx (인터넷 게이트웨이)
프라이빗 서브넷 라우팅 테이블:
10.0.0.0/16 → local
0.0.0.0/0 → nat-xxxxxx (NAT Gateway)
라우팅 우선순위
AWS는 가장 구체적인(Longest Prefix Match) 경로를 우선 적용합니다.
예: 목적지가 10.0.1.50인 경우
10.0.0.0/16→ local10.0.1.0/24→ 특정 타겟
→ 10.0.1.0/24가 선택됨 (/24가 /16보다 더 구체적)
VPC 아키텍처 예시
일반적인 3-Tier 아키텍처
VPC (10.0.0.0/16)
├── 가용 영역 A
│ ├── 퍼블릭 서브넷 (10.0.1.0/24) - ALB, Bastion
│ └── 프라이빗 서브넷 (10.0.2.0/24) - EC2 (App)
│ └── 프라이빗 서브넷 (10.0.3.0/24) - RDS (DB)
│
├── 가용 영역 B
│ ├── 퍼블릭 서브넷 (10.0.11.0/24) - ALB
│ └── 프라이빗 서브넷 (10.0.12.0/24) - EC2 (App)
│ └── 프라이빗 서브넷 (10.0.13.0/24) - RDS (DB)
│
└── 인터넷 게이트웨이, NAT Gateway
고가용성 설계 권장사항
- 프로덕션: 최소 2개 이상의 가용 영역 사용
- 개발/테스트: 비용 절감을 위해 1개 AZ도 가능
- 각 AZ에 동일한 구성의 서브넷 배치
SAA-C03 시험 출제 포인트
- ✅ 서브넷 IP 계산: 필요한 IP 수 + 5개(AWS 예약) 고려
- ✅ 퍼블릭 서브넷 조건: IGW + 라우팅 테이블(0.0.0.0/0 → IGW) + 퍼블릭 IP
- ✅ VPC CIDR 제한: /16 ~ /28, 생성 후 변경 불가 (Secondary CIDR 추가만 가능)
- ✅ NAT Gateway: 프라이빗 서브넷의 아웃바운드 인터넷 접속, 퍼블릭 서브넷에 배치
- ✅ VPC 피어링: CIDR이 겹치면 연결 불가
시험 팁
시험 문제 예시: "프라이빗 서브넷의 EC2 인스턴스가 인터넷에서 소프트웨어 업데이트를 받아야 합니다. 인터넷에서 이 인스턴스에 직접 접근하면 안 됩니다. 가장 적절한 솔루션은?" → 정답: NAT Gateway (아웃바운드만 허용, 인바운드 차단)
자주 묻는 질문 (FAQ)
Q: VPC는 요금이 부과되나요?
VPC 자체는 무료입니다. 단, NAT Gateway, VPC 엔드포인트, 퍼블릭 IPv4 주소, 데이터 전송 등에는 요금이 발생합니다.
Q: VPC CIDR을 나중에 변경할 수 있나요?
기본(Primary) CIDR은 변경 불가합니다. 하지만 Secondary CIDR 블록을 추가하여 IP 범위를 확장할 수 있습니다.
Q: 서브넷 하나에 여러 가용 영역을 포함할 수 있나요?
아니요. 서브넷은 반드시 하나의 가용 영역에만 존재합니다. 여러 AZ를 사용하려면 각 AZ에 별도의 서브넷을 만들어야 합니다.
Q: 인터넷 게이트웨이와 NAT Gateway의 차이는?
- 인터넷 게이트웨이(IGW): 양방향 통신 (인/아웃바운드 모두), VPC에 1개만 연결
- NAT Gateway: 단방향 통신 (아웃바운드만), 프라이빗 서브넷용, AZ당 1개 권장
Q: VPC 피어링에서 CIDR이 겹치면 어떻게 되나요?
연결이 불가능합니다. VPC 피어링을 계획할 때는 CIDR 범위가 겹치지 않도록 미리 설계해야 합니다.
Q: 기본 VPC를 삭제해도 되나요?
삭제 가능하지만, 권장하지 않습니다. 일부 AWS 서비스는 기본 VPC를 필요로 합니다. 삭제한 경우 AWS 콘솔에서 다시 생성할 수 있습니다.