AWS NAT Gateway와 VPC Peering
NAT Gateway와 VPC Peering의 개념부터 구조, 요금, 실무 설정 방법과 AWS 네트워크 아키텍처 구성에 핵심이 되는 기술을 설명
AWS NAT Gateway와 VPC Peering
NAT Gateway란?
1. NAT의 개념
- NAT (Network Address Translation): 사설 IP를 공인 IP로 변환하여 외부와 통신 가능하게 하는 기술
AWS에서의 사용 목적:
- 프라이빗 서브넷의 인스턴스가 외부(인터넷)와 통신 가능하게 함
- 외부에서는 해당 인스턴스에 직접 접근 불가 → 보안 강화
2. NAT Gateway vs NAT 인스턴스
| 항목 | NAT Gateway | NAT 인스턴스 |
|---|---|---|
| 관리 방식 | 완전관리형 (AWS 제공) | EC2로 직접 운영 필요 |
| 성능 | 자동 확장, 고속 처리 | 인스턴스 스펙에 의존 |
| 가용성 | AZ 장애 시 자동 처리 | 직접 HA 구성 필요 |
| 운영 부담 | 매우 낮음 | 설정 및 유지 관리 필요 |
| 권장 환경 | 실무 대부분 | 실험, 커스터마이징 환경 |
실무에서는 NAT Gateway가 강력히 추천됩니다.
3. NAT Gateway 구조
1
[Private EC2] → [NAT Gateway (Public Subnet)] → [Internet (via IGW)]
- EC2는 사설 IP만 사용하고, NAT GW가 공인 IP로 변환
- 외부는 EC2에 직접 접근할 수 없음 → 단방향 통신 구조
4. 구성 조건
- NAT Gateway는 퍼블릭 서브넷에 위치해야 함
- Elastic IP 주소가 반드시 연결되어야 함
- 프라이빗 서브넷의 라우팅 테이블에 NAT GW를 목적지로 설정해야 함
5. 라우팅 테이블 예시
프라이빗 서브넷
1
2
10.0.0.0/16 → local
0.0.0.0/0 → nat-xxxxxxx
퍼블릭 서브넷
1
2
10.0.0.0/16 → local
0.0.0.0/0 → igw-xxxxxxx
6. 요금 구조
| 항목 | 요금 |
|---|---|
| 시간당 | 약 $0.045 (서울 리전 기준) |
| 전송 데이터 | $0.045/GB (아웃바운드 기준) |
S3, DynamoDB 등 퍼블릭 서비스 호출 시에도 요금 발생 가능
7. 보안 장점
- 외부에서 직접 접근 불가
- 단방향 통신 → 안전한 업데이트/패치 수행 가능
- SG, NACL 등과 연계하여 세밀한 접근 제어 가능
8. FAQ 정리
| 질문 | 답변 |
|---|---|
| 퍼블릭 IP 없는 인스턴스도 인터넷 사용 가능? | NAT Gateway 통해 가능 |
| NAT Gateway는 VPC당 하나면 충분? | ❌ AZ마다 하나씩 생성 권장 (HA 목적) |
| 비용 줄이면서 인터넷 접근은? | S3 등은 VPC Endpoint로 연결 가능 |
VPC Peering이란?
1. 정의
- 두 개의 VPC 간 사설 IP 기반 직접 연결
- NAT, VPN, IGW 없이도 내부 리소스 통신 가능
2. 사용 사례
| 상황 | 설명 |
|---|---|
| VPC 간 API 호출 | 마이크로서비스 간 통신 |
| 계정 간 자원 공유 | 중앙 DB, 캐시, 모니터링 등 공유 |
| 리전 간 연결 | 인터리전 Peering 가능 (서울 ↔ 도쿄 등) |
| 비용 절감 | NAT/VPN 없이 내부 연결로 비용 절약 |
3. 구성 요소
- Requester: 연결 요청 주체
- Accepter: 요청 수락 VPC
- Peering Connection ID:
pcx-xxxxxx - 라우팅 테이블, 보안 그룹 설정 필수
4. 설정 순서
- Peering 연결 생성
- 요청 수락 (동일 or 다른 계정 가능)
- 양쪽 VPC 라우팅 테이블에 CIDR 경로 추가
- 보안 그룹 열기 (포트/IP 허용)
1
Destination: 10.1.0.0/16 → Target: pcx-xxxxxxx
5. 실습 예시
환경:
| VPC | CIDR | 역할 |
|---|---|---|
| A | 10.0.0.0/16 | Web EC2 |
| B | 10.1.0.0/16 | RDS (MySQL) |
- A의 EC2 → B의 RDS 접속 (포트 3306)
- 라우팅 & 보안 그룹 구성 필수
6. 제한 사항
| 항목 | 제한 |
|---|---|
| 트랜짓 라우팅 | ❌ 불가 (A-B, B-C → A-C 안 됨) |
| CIDR 중복 | ❌ 중복 불가 |
| SG 자동 연결 | ❌ 수동 설정 필요 |
| 인터리전 요금 | 발생함 (리전 간 트래픽 요금) |
7. 요금
- Peering 자체는 무료
- 트래픽 요금 발생 (리전 간은 요금 높음)
8. 보안 체크리스트
- CIDR 범위 최소화
- 보안 그룹 제어 (포트 최소화)
- IAM 권한 최소화
- CloudWatch Logs로 감사 로깅
9. 요약 비교
| 항목 | 내용 |
|---|---|
| 정의 | 두 VPC 간 내부 네트워크 연결 |
| 설정 | 요청 → 수락 → 라우팅 → 보안 그룹 |
| 장점 | 빠르고 저렴한 연결 |
| 주의 | 명시적 설정 필요, CIDR 중복 불가 |
보너스: Peering vs Transit Gateway
| 항목 | Peering | Transit Gateway |
|---|---|---|
| 구조 | 1:1 | 허브-스포크 (N:1) |
| 확장성 | 제한적 (125개 이하) | 대규모 지원 |
| 트랜짓 라우팅 | 불가 | 가능 |
| 복잡도 | 낮음 | 높음 (그만큼 유연함) |
Peering은 단순 연결에, Transit Gateway는 복잡한 네트워크 구조에 적합
This post is licensed under CC BY 4.0 by the author.