SAABlog
네트워킹초급

NAT Gateway vs NAT Instance: 프라이빗 서브넷 인터넷 연결 비교

NAT Gateway는 관리형 고성능, NAT Instance는 커스터마이징 가능. SAA-C03 시험 필수 토픽인 두 방식의 차이점과 선택 기준을 정리합니다.

PHILOLAMB-
NAT GatewayNAT InstanceVPC프라이빗 서브넷네트워킹

관련 시험 도메인

  • Domain 1: Design Secure Architectures
  • Domain 2: Design Resilient Architectures

핵심 요약 (BLUF)

NAT Gateway는 AWS 관리형 서비스로 운영 부담 없이 고성능을 제공하고, NAT Instance는 EC2 기반으로 완전한 제어와 비용 절감이 가능합니다. AWS는 NAT Gateway 사용을 권장하며, 대부분의 프로덕션 환경에서 NAT Gateway가 적합합니다.

시험 팁

시험 핵심: NAT Gateway = 관리형 + 고성능 + 자동 확장, NAT Instance = EC2 + Source/Dest Check 비활성화 + 수동 관리

NAT란?

NAT(Network Address Translation)는 프라이빗 서브넷의 인스턴스가 인터넷에 접근할 수 있게 해주는 기술입니다. 외부에서는 연결을 시작할 수 없어 보안이 유지됩니다.

NAT 동작 원리:

프라이빗 서브넷              퍼블릭 서브넷              인터넷
┌─────────────┐          ┌─────────────┐          ┌─────────┐
│ EC2 인스턴스 │ ───────> │ NAT Gateway │ ───────> │ 인터넷  │
│ 10.0.1.10   │          │ 52.78.x.x   │          │         │
└─────────────┘          └─────────────┘          └─────────┘
       │                        │                       │
   아웃바운드만               IP 변환              인바운드 차단
   (내부 → 외부)         (Private → Public)

NAT가 필요한 경우

  • 프라이빗 서브넷에서 소프트웨어 업데이트 (yum, apt)
  • 외부 API 호출
  • S3, DynamoDB 외 AWS 서비스 접근 (VPC 엔드포인트 미지원 서비스)
  • 외부 라이브러리 다운로드

NAT Gateway vs NAT Instance 한눈에 비교

비교 항목NAT GatewayNAT Instance
관리AWS 관리형사용자 관리 (EC2)
가용성AZ 내 고가용성직접 구성 필요
대역폭최대 100Gbps인스턴스 유형에 의존
유지보수자동 패치수동 패치/업데이트
보안 그룹연결 불가연결 가능
네트워크 ACL서브넷에 적용서브넷에 적용
Source/Dest Check자동 처리비활성화 필요
Bastion 사용불가가능
포트 포워딩불가가능
비용시간당 + 데이터인스턴스 비용만

NAT Gateway

NAT Gateway란?

NAT Gateway는 AWS가 완전히 관리하는 NAT 서비스입니다. 설정, 패치, 확장을 자동으로 처리하여 운영 부담이 없습니다.

NAT Gateway 구조:

VPC (10.0.0.0/16)
┌───────────────────────────────────────────────────────┐
│                                                       │
│  퍼블릭 서브넷 (10.0.0.0/24)                           │
│  ┌─────────────────────────────────────────────────┐ │
│  │  NAT Gateway                                    │ │
│  │  ├── Elastic IP: 52.78.x.x                      │ │
│  │  └── 자동 확장/복구                              │ │
│  └─────────────────────────────────────────────────┘ │
│            ↑                                         │
│            │ 라우팅 (0.0.0.0/0 → nat-xxx)            │
│            │                                         │
│  프라이빗 서브넷 (10.0.1.0/24)                        │
│  ┌─────────────────────────────────────────────────┐ │
│  │  EC2 인스턴스들                                  │ │
│  │  (인터넷 아웃바운드만 가능)                       │ │
│  └─────────────────────────────────────────────────┘ │
│                                                       │
└───────────────────────────────────────────────────────┘
            │
            ↓
      Internet Gateway → 인터넷

NAT Gateway 유형

1. 퍼블릭 NAT Gateway (기본)

용도: 프라이빗 서브넷 → 인터넷 접근
요구사항:
├── 퍼블릭 서브넷에 생성
├── Elastic IP 연결 필수
└── Internet Gateway 라우팅 필요

2. 프라이빗 NAT Gateway

용도: VPC 간 또는 온프레미스 연결 (인터넷 X)
요구사항:
├── 프라이빗 서브넷에 생성 가능
├── Elastic IP 불필요
└── Transit Gateway/VPN으로 라우팅

NAT Gateway 특징

특징설명
대역폭기본 5Gbps, 최대 100Gbps 자동 확장
가용성AZ 내 이중화, 자동 장애 조치
유지보수패치, 업데이트 자동 처리
프로토콜TCP, UDP, ICMP 지원
연결 추적최대 1,000만 동시 연결

NAT Gateway 설정 단계

1. 퍼블릭 서브넷 선택
   ↓
2. Elastic IP 할당 (퍼블릭 NAT Gateway의 경우)
   ↓
3. NAT Gateway 생성
   ↓
4. 프라이빗 서브넷 라우팅 테이블 수정:
   대상: 0.0.0.0/0 → 대상: nat-xxxxxxxx

고가용성 구성

NAT Gateway는 단일 AZ 내에서만 고가용성을 제공합니다. 다중 AZ 장애 대비를 위해 각 AZ에 NAT Gateway를 배포해야 합니다.

다중 AZ 고가용성 구조:

AZ-a                              AZ-b
┌─────────────────────┐          ┌─────────────────────┐
│ 퍼블릭 서브넷        │          │ 퍼블릭 서브넷        │
│ ┌─────────────────┐ │          │ ┌─────────────────┐ │
│ │ NAT Gateway A   │ │          │ │ NAT Gateway B   │ │
│ └─────────────────┘ │          │ └─────────────────┘ │
│         ↑          │          │         ↑          │
│ 프라이빗 서브넷 A    │          │ 프라이빗 서브넷 B    │
│ ┌─────────────────┐ │          │ ┌─────────────────┐ │
│ │ EC2 인스턴스    │ │          │ │ EC2 인스턴스    │ │
│ │ (RT: 0.0.0.0/0  │ │          │ │ (RT: 0.0.0.0/0  │ │
│ │  → NAT GW A)   │ │          │ │  → NAT GW B)   │ │
│ └─────────────────┘ │          │ └─────────────────┘ │
└─────────────────────┘          └─────────────────────┘

시험 팁

시험 포인트: "NAT Gateway 단일 AZ 장애 시 인터넷 접근 불가" 시나리오에서는 각 AZ에 NAT Gateway 배포가 정답입니다.

NAT Instance

NAT Instance란?

NAT Instance는 NAT 역할을 수행하도록 구성된 EC2 인스턴스입니다. 완전한 제어권을 가지지만 직접 관리해야 합니다.

NAT Instance 필수 설정

1. Source/Destination Check 비활성화

EC2 인스턴스는 기본적으로 자신이 소스/대상이 아닌 트래픽을 거부합니다. NAT Instance는 다른 인스턴스의 트래픽을 중계해야 하므로 이 검사를 비활성화해야 합니다.

EC2 콘솔에서 비활성화:
인스턴스 선택 → Actions → Networking →
Change source/destination check → Stop

2. 퍼블릭 서브넷에 배치

NAT Instance:
├── 퍼블릭 서브넷에 위치
├── 퍼블릭 IP 또는 Elastic IP 필요
└── Internet Gateway 라우팅 필요

3. 보안 그룹 설정

인바운드:
├── HTTP (80): 프라이빗 서브넷 CIDR
├── HTTPS (443): 프라이빗 서브넷 CIDR
└── 기타 필요한 포트

아웃바운드:
└── 모든 트래픽: 0.0.0.0/0

NAT Instance 장단점

장점:

  • 비용 절감 (저트래픽 환경)
  • 완전한 커스터마이징
  • Bastion Host로 겸용 가능
  • 포트 포워딩 가능
  • 보안 그룹 적용 가능

단점:

  • 수동 고가용성 구성 (Auto Scaling, 스크립트)
  • 대역폭이 인스턴스 유형에 제한
  • 패치/업데이트 직접 관리
  • Source/Dest Check 비활성화 필수

NAT Instance 구성 예시

NAT Instance 아키텍처:

프라이빗 서브넷                    퍼블릭 서브넷
┌─────────────────┐             ┌─────────────────┐
│  EC2 (App)      │ ─────────>  │  NAT Instance   │
│  10.0.1.10      │             │  10.0.0.10      │
│                 │             │  EIP: 52.78.x.x │
│  RT: 0.0.0.0/0  │             │                 │
│  → NAT Instance │             │  S/D Check: OFF │
└─────────────────┘             └─────────────────┘
                                        │
                                        ↓
                                Internet Gateway
                                        │
                                        ↓
                                    인터넷

시험 팁

시험 포인트: "NAT Instance가 작동하지 않음" 문제에서 Source/Destination Check 비활성화 확인이 핵심입니다.

비용 비교

NAT Gateway 비용 (서울 리전)

NAT Gateway 비용 구성:
├── 시간당 요금: $0.059/시간
├── 데이터 처리 요금: $0.059/GB
└── 월간 예상 (1TB 트래픽):
    시간: $0.059 × 730시간 = $43.07
    데이터: $0.059 × 1,024GB = $60.42
    총계: ~$103/월 (AZ당)

NAT Instance 비용 (서울 리전)

t3.nano 기준:
├── 인스턴스: ~$0.0052/시간 × 730 = ~$3.80/월
├── Elastic IP (연결 시 무료)
└── 총계: ~$4/월

t3.micro 기준:
├── 인스턴스: ~$0.0104/시간 × 730 = ~$7.59/월
└── 총계: ~$8/월

비용 선택 가이드

트래픽 수준권장 옵션이유
저트래픽 (< 10GB/월)NAT Instance (t3.nano)비용 90% 이상 절감
중간 트래픽상황에 따라관리 비용 vs 인스턴스 비용 비교
고트래픽NAT Gateway성능, 안정성 필요
프로덕션NAT Gateway운영 부담 최소화

선택 기준 가이드

NAT Gateway를 선택해야 할 때

  • 프로덕션 환경: 안정성과 자동 복구 필요
  • 고대역폭 필요: 5Gbps 이상
  • 운영 부담 최소화: 패치, 모니터링 불필요
  • 빠른 구성 필요: 몇 분 만에 설정 완료
  • AWS 권장: 대부분의 사용 사례

NAT Instance를 선택해야 할 때

  • 비용 최우선: 개발/테스트 환경
  • 저트래픽 환경: 월 수 GB 미만
  • 커스터마이징 필요: 특수 모니터링, 로깅
  • Bastion Host 겸용: 하나의 인스턴스로 두 역할
  • 포트 포워딩 필요: 특정 포트 리다이렉션

시나리오별 솔루션

시나리오 1: 프로덕션 웹 애플리케이션

요구사항: 고가용성, 자동 확장, 운영 최소화
선택: NAT Gateway (각 AZ에 배포)
이유: 관리형 서비스, AZ 장애 대비

시나리오 2: 개발/테스트 환경

요구사항: 비용 최소화, 간헐적 사용
선택: NAT Instance (t3.nano)
이유: 월 $4 vs $100+ 비용 차이

시나리오 3: Bastion + NAT 통합

요구사항: Bastion Host와 NAT 역할 모두 필요
선택: NAT Instance
이유: NAT Gateway는 SSH 접근 불가

시나리오 4: 고대역폭 데이터 전송

요구사항: 대용량 데이터 백업, 고속 전송
선택: NAT Gateway
이유: 최대 100Gbps 자동 확장

시나리오 5: VPC 간 프라이빗 연결

요구사항: 인터넷 없이 다른 VPC와 통신
선택: 프라이빗 NAT Gateway
이유: Transit Gateway와 연동, 인터넷 경유 없음

SAA-C03 시험 출제 포인트

  1. NAT Gateway 특성: 관리형, 자동 확장, AZ 내 고가용성
  2. NAT Instance 필수 설정: Source/Destination Check 비활성화
  3. 고가용성: 각 AZ에 NAT Gateway 배포 필요
  4. 보안 그룹: NAT Gateway 불가, NAT Instance 가능
  5. Bastion 겸용: NAT Instance만 가능
  6. 비용: 저트래픽은 NAT Instance 저렴

시험 팁

시험 문제 예시: "프라이빗 서브넷의 EC2 인스턴스가 인터넷에 연결되지 않습니다. NAT Instance는 올바르게 구성되었고 라우팅 테이블도 정확합니다. 문제의 원인은?" → 정답: NAT Instance의 Source/Destination Check가 활성화되어 있음

자주 묻는 질문 (FAQ)

Q: NAT Gateway에 보안 그룹을 연결할 수 있나요?

아니요. NAT Gateway는 보안 그룹을 지원하지 않습니다. 대신 네트워크 ACL을 사용하여 NAT Gateway가 위치한 서브넷의 트래픽을 제어하세요. NAT Instance는 보안 그룹 연결이 가능합니다.

Q: NAT Gateway가 다운되면 어떻게 되나요?

해당 AZ의 프라이빗 서브넷이 인터넷에 접근할 수 없습니다. NAT Gateway는 단일 AZ 내에서만 고가용성을 제공합니다. 다중 AZ 복원력을 위해 각 AZ에 NAT Gateway를 배포하고 라우팅 테이블을 별도로 구성하세요.

Q: NAT Instance에서 NAT Gateway로 마이그레이션하는 방법은?

1단계: 동일 서브넷에 NAT Gateway 생성 2단계: 라우팅 테이블의 대상을 NAT Instance에서 NAT Gateway로 변경 3단계: 연결 확인 후 NAT Instance 종료

Q: NAT Gateway와 Internet Gateway의 차이는?

  • Internet Gateway: 퍼블릭 서브넷의 인스턴스가 양방향 인터넷 통신
  • NAT Gateway: 프라이빗 서브넷의 인스턴스가 아웃바운드만 인터넷 접근

Q: 프라이빗 NAT Gateway는 언제 사용하나요?

VPC 간 또는 온프레미스 연결에 사용합니다. 예를 들어, 겹치는 CIDR 블록을 가진 두 VPC 간 통신에서 IP 주소를 변환하는 데 유용합니다. 인터넷 접근에는 사용하지 않습니다.

Q: NAT Instance의 성능을 높이려면?

더 큰 인스턴스 유형을 선택하세요. 네트워크 대역폭은 인스턴스 유형에 따라 결정됩니다. 또한 향상된 네트워킹(ENA)을 지원하는 인스턴스를 사용하면 더 높은 네트워크 성능을 얻을 수 있습니다.

관련 글

참고 자료