[AWS] NAT Gateway VS NAT Instance

2026. 4. 24. 07:45·CS공부/클라우드
반응형

NAT Gateway vs NAT Instance — 뭘 써야 할까?

AWS에서 NAT를 실제로 구현하는 두 가지 방법인 NAT 게이트웨이(NAT Gateway) 와 NAT 인스턴스(NAT Instance) 를 비교해보겠습니다.

AWS 공부를 하다 보면 "NAT 게이트웨이 쓰면 되지 않아?" 라고 생각하기 쉬운데, 비용을 한 번 들여다보면 생각이 달라질 수 있거든요. 특히 토이 프로젝트나 개인 공부용으로 AWS를 쓰는 분들이라면 이 부분을 꼭 알고 계시면 좋겠습니다.


우선 각각이 뭔지부터

NAT 게이트웨이 (NAT Gateway)

NAT 게이트웨이는 AWS에서 직접 제공하는 완전 관리형(Managed) NAT 서비스입니다.

AWS가 알아서 운영하고 관리해주는 서비스이기 때문에, 사용자 입장에서는 그냥 만들어서 라우팅 테이블에 연결하면 끝입니다. 서버가 다운되거나 용량이 부족하거나 하는 걱정을 AWS에 맡기는 거죠.

 

실생활 예시:

전문 경비 업체에 경비를 맡기는 것과 비슷합니다. 비용은 좀 들지만 24시간 안정적으로 운영되고, 문제가 생겨도 업체에서 알아서 처리해줍니다. 내가 신경 쓸 일이 거의 없어요.

 

주요 특징:

  • AWS에서 운영하는 완전 관리형 서비스
  • 고가용성(HA) 이 기본 보장 — 장애가 나도 자동 복구
  • 보안 그룹을 적용할 수 없음 (NACL로만 제어 가능)
  • Bastion Host로 활용 불가 (순수 NAT 기능만 제공)
  • 퍼블릭 서브넷에 위치 + 탄력적 IP(EIP) 필요
  • 시간당 요금 발생 (서울 리전 기준 약 $0.059/시간)

NAT 인스턴스 (NAT Instance)

NAT 인스턴스는 일반 EC2 인스턴스에 NAT 기능을 직접 설정해서 사용하는 방식입니다.

AWS가 예전에 NAT 게이트웨이 서비스를 출시하기 전에 사용하던 방식인데, NAT 게이트웨이보다 안정성은 떨어지지만 비용을 크게 줄일 수 있다는 장점이 있습니다.

 

실생활 예시:

전문 경비 업체 대신 아르바이트생을 직접 고용해서 경비를 보는 것과 비슷합니다. 비용은 훨씬 저렴하지만, 아르바이트생이 아프거나 자리를 비우면 공백이 생길 수 있고 관리도 직접 해야 합니다.

 

주요 특징:

  • 일반 EC2 인스턴스 + 특수 AMI로 구성
  • 인스턴스가 꺼지면 NAT 기능도 멈춤 (고가용성 미보장)
  • 보안 그룹 적용 가능
  • Bastion Host로 겸용 가능 (SSH 접속 허용 설정 시)
  • 소스/대상 확인(Source/Destination Check) 비활성화 필요 (아래에서 설명)
  • 퍼블릭 서브넷에 위치 + 탄력적 IP(EIP) 필요
  • EC2 요금만 발생 (프리티어 사용 시 무료도 가능)

소스/대상 확인이란?

NAT 인스턴스를 설정할 때 반드시 해줘야 하는 설정이 있는데, 바로 소스/대상 확인(Source/Destination Check) 비활성화입니다.

 

일반적으로 EC2 인스턴스는 자기 자신이 출발지(Source)이거나 목적지(Destination)인 패킷만 처리합니다. 다른 기기를 위해 패킷을 중계하는 건 하지 않아요.

그런데 NAT 인스턴스는 다른 기기(프라이빗 서브넷의 EC2)를 위해 패킷을 대신 처리해줘야 합니다. 즉, 자기가 출발지도 목적지도 아닌 패킷을 처리해야 하는 거죠.

이 기능을 허용하려면 소스/대상 확인을 비활성화해야 합니다.

 

실생활 예시:

우체국 직원은 자기 앞으로 온 편지만 받는 게 아니라 다른 사람들의 편지도 받아서 전달해주잖아요. NAT 인스턴스도 이처럼 "남의 편지도 받아서 전달하는" 역할을 해야 하는데, 이 설정을 켜야 그게 가능해집니다.

[기본 EC2]
본인 앞으로 온 패킷만 처리 → 소스/대상 확인: ON (기본값)

[NAT 인스턴스]
다른 기기의 패킷을 대신 처리 → 소스/대상 확인: OFF (비활성화 필요)

인프라 구성 비교

두 방식의 구성 차이를 보면 이렇습니다.

NAT 게이트웨이 구성

[인터넷]
    ↓
[인터넷 게이트웨이 (IGW)]
    ↓
[퍼블릭 서브넷]
  ┌─────────────────────────┐
  │  NAT Gateway (EIP 연결) │
  └─────────────────────────┘
    ↓ (라우팅 테이블: 0.0.0.0/0 → nat-gateway-id)
[프라이빗 서브넷]
  ┌────────────────────────┐
  │  EC2 (DB, App 서버 등) │
  └────────────────────────┘

NAT 인스턴스 구성

[인터넷]
    ↓
[인터넷 게이트웨이 (IGW)]
    ↓
[퍼블릭 서브넷]
  ┌──────────────────────────────────────────────┐
  │  NAT Instance (EIP 연결, 소스/대상 확인 OFF) │
  └──────────────────────────────────────────────┘
    ↓ (라우팅 테이블: 0.0.0.0/0 → nat-instance-id)
[프라이빗 서브넷]
  ┌────────────────────────┐
  │  EC2 (DB, App 서버 등) │
  └────────────────────────┘

구성 자체는 거의 비슷합니다. 퍼블릭 서브넷에 위치하고 EIP를 달아서 외부 통신을 처리한다는 점도 동일해요. 차이는 라우팅 테이블에서 nat-gateway-id를 쓰느냐, nat-instance-id를 쓰느냐 정도입니다.


NAT Gateway vs NAT Instance — 핵심 비교

항목 NAT 게이트웨이 NAT 인스턴스
제공 형태 AWS 완전 관리형 서비스 EC2 인스턴스
고가용성 기본 보장 (AWS가 자동 관리) 미보장 (인스턴스 장애 = 서비스 중단)
성능 자동 확장, 고성능 인스턴스 타입에 따라 제한
보안 그룹 적용 불가 적용 가능
Bastion 겸용 불가 가능 (설정 필요)
소스/대상 확인 자동 처리 반드시 비활성화 필요
관리 부담 없음 (AWS가 관리) 있음 (직접 관리)
비용 높음 (시간당 과금) 낮음 (EC2 요금만)
프리티어 활용 불가 가능
적합한 상황 프로덕션 환경 개발/테스트, 토이 프로젝트

탄력적 IP (Elastic IP, EIP)란?

두 방식 모두 EIP가 필요하다고 했는데, EIP가 뭔지 모르시는 분들을 위해 간단히 짚고 넘어갈게요.

탄력적 IP(EIP) 는 AWS에서 제공하는 고정 공인 IP 주소입니다.

일반 EC2 인스턴스는 재시작할 때마다 IP가 바뀝니다. 이렇게 되면 NAT 인스턴스의 IP가 바뀔 때마다 라우팅 테이블을 다시 수정해야 하는 번거로움이 생기죠. EIP를 할당해두면 인스턴스가 재시작돼도 IP가 유지됩니다.

 

주의할 점:

EIP는 AWS에서 IP 주소를 "빌려오는" 개념입니다. 그런데 EIP를 만들어두고 아무 인스턴스에도 연결하지 않으면 오히려 비용이 발생합니다. 이미 사용하지 않는 IP를 낭비하는 셈이라 AWS가 요금을 부과하는 거예요.

EIP 생성 + 실행 중인 인스턴스에 연결 → 무료
EIP 생성 + 연결 없이 방치              → 요금 발생!
인스턴스 종료 시                       → EIP도 반드시 같이 릴리즈!

비용 비교 — 얼마나 차이날까?

NAT 게이트웨이와 NAT 인스턴스의 비용 차이를 실제로 계산해볼게요. (서울 리전 기준, 2024년 기준 참고용)

NAT 게이트웨이 비용

시간당 요금: $0.059
하루: $0.059 × 24h = $1.416
한 달: $1.416 × 30일 = 약 $42.5
          + 데이터 처리 요금 (GB당 $0.059)

여기에 데이터 처리 요금까지 붙으면 트래픽이 많을수록 비용이 더 올라갑니다.

NAT 인스턴스 비용

t2.micro (프리티어): 무료 (월 750시간 한도)
t3.nano:  약 $0.0052/시간 → 한 달 약 $3.7
t3.micro: 약 $0.0104/시간 → 한 달 약 $7.5

프리티어 기간이라면 NAT 인스턴스를 t2.micro로 띄우면 무료입니다. 프리티어가 아니더라도 가장 작은 타입으로 쓰면 NAT 게이트웨이의 약 1/10 수준의 비용으로 운영할 수 있어요.

결론: 비용 차이가 꽤 크기 때문에, 토이 프로젝트나 학습용 환경에서는 NAT 인스턴스를 활용하는 게 합리적입니다.


언제 뭘 써야 할까?

상황에 맞게 선택하는 게 중요합니다.

NAT 게이트웨이를 선택해야 할 때

  • 프로덕션(실제 서비스) 환경
  • 서비스 안정성이 최우선인 경우
  • 트래픽이 많고 높은 성능이 필요한 경우
  • 관리 인력이 부족하거나 운영 자동화가 필요한 경우
  • 비용보다 안정성이 중요한 경우

NAT 인스턴스를 선택해야 할 때

  • 토이 프로젝트, 개인 학습, 개발/테스트 환경
  • 비용을 최대한 아껴야 하는 경우
  • 프리티어를 활용해 무료로 운영하고 싶은 경우
  • Bastion Host 기능을 NAT와 함께 쓰고 싶은 경우
  • 어느 정도의 장애 위험을 감수할 수 있는 경우

정리

상황 추천
실제 운영 서비스 NAT 게이트웨이
토이 프로젝트 / 공부 NAT 인스턴스
프리티어 기간 활용 NAT 인스턴스 (무료)
Bastion Host 겸용 필요 NAT 인스턴스
관리 없이 안정적으로 NAT 게이트웨이

참고

본 포스팅은 해당 사이트의 내용을 참고 및 인용하여 작성했습니다.

Inpa Dev - AWS 📚 NAT Gateway → NAT Instance 대체해서 비용 절약하기
Spidy web - AWS VPC 정리 2. AWS VPC와 연관된 개념(gateway, VPC endpoint, VPC Peering, traffic mirroring, VPN 연결, EIP + Direct Connect)

반응형

'CS공부 > 클라우드' 카테고리의 다른 글

[AWS] VPC란 (Virtual Private Cloud)  (1) 2026.04.24
[AWS] Bastion VS AWS Session Manager  (0) 2026.04.24
[AWS] NAT란? (Network Address Translation)  (0) 2026.04.24
[AWS] 클라우드 용어 정리  (0) 2026.04.24
[AWS] AWS 구조 알아보기  (0) 2026.04.24
'CS공부/클라우드' 카테고리의 다른 글
  • [AWS] VPC란 (Virtual Private Cloud)
  • [AWS] Bastion VS AWS Session Manager
  • [AWS] NAT란? (Network Address Translation)
  • [AWS] 클라우드 용어 정리
깨부
깨부
성공한 개발자가 되기 위해 깨지고 부서지며 성장하는 나의 모습을 기록해두는 곳
  • 깨부
    깨지고 부서지며 배우는 개발일지
    깨부
  • 전체
    오늘
    어제
    • 깨부 모음 (21)
      • 일상 (3)
        • SSAFY 13기 (2)
      • 취준로그 (0)
        • 2025년 하반기 (0)
        • 2026년 상반기 (0)
      • CS공부 (8)
        • 네트워크 (2)
        • 클라우드 (6)
      • 알고리즘 (0)
      • 프레임워크 (1)
        • Spring Boot (1)
      • 프로젝트 (7)
        • 개인 프로젝트 - Arcane (7)
        • 개인 프로젝트 - 별글 (0)
      • Git & Github (2)
      • Web-Developer (0)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      EC2
      퍼블릭
      프로젝트
      github
      EIP
      SSAFY
      OSI 7계층
      AWS
      개발자
      Riot
      프라이빗
      네트워크
      깃
      node.js
      NAT
      서브넷
      git
      13기
      깃허브
      VPC
      AWS Session Manager
      실무능력
      프로젝트관리
      싸피
      취준
      취업
      IP
      Arcane
      React
      Bastion
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.6
    깨부
    [AWS] NAT Gateway VS NAT Instance
    상단으로

    티스토리툴바