NAT Gateway 요금 절감: 시간당이 아니라 처리 요금이 본체입니다
요금 급증 원인 1위로도, 상시 점검 목록의 구조적 고정비로도 NAT Gateway를 다뤘지만, 청구서를 분해하고 절감 순서를 정리하는 단독 글이 없었습니다. 결론을 먼저 적으면, NAT Gateway 요금의 본체는 시간당 요금이 아니라 GB당 데이터 처리 요금이고, 절감의 첫 수는 NAT를 튜닝하는 것이 아니라 트래픽을 NAT 밖으로 빼내는 것입니다. S3·DynamoDB용 게이트웨이 엔드포인트는 무료인데도 안 쓰는 계정이 여전히 많습니다. 요금은 us-east-1 기준입니다.
과금 구조: 3층으로 겹칩니다 #
NAT Gateway를 지나는 트래픽에는 최대 세 종류의 요금이 겹칩니다.
| 층 | 요금 | 부과 조건 |
|---|---|---|
| 시간당 | 약 $0.045 (월 약 $33) | 게이트웨이가 존재하는 한, AZ별 개수만큼 |
| 데이터 처리 | 약 $0.045/GB | 방향 무관, 통과하는 모든 바이트 |
| 인터넷 전송 | 약 $0.09/GB (아웃바운드) | 인터넷으로 나가는 트래픽에 별도 부과 |
두 가지가 자주 놓칩니다. 첫째, 다운로드에도 처리 요금이 붙습니다. 인터넷에서 받는 트래픽은 전송 요금이 없지만 NAT 처리 요금 $0.045/GB는 그대로 부과되므로, 프라이빗 서브넷에서 컨테이너 이미지, 패키지, 데이터셋을 대량으로 받는 것만으로 청구서가 자랍니다. 둘째, 아웃바운드는 처리+전송이 겹쳐 GB당 약 $0.135로, 퍼블릭 서브넷의 인스턴스가 직접 나가는 경우($0.09)의 1.5배입니다. 같은 바이트가 경유 하나로 5할 더 비싸집니다.
시간당 요금은 소액 같지만 곱해집니다. 가용성 원칙대로 AZ마다 하나씩 두면 3AZ 구성에서 월 약 $100이 트래픽 0이어도 나갑니다. 반대로 NAT 하나를 여러 AZ가 공유하면 시간당 요금은 아끼지만 AZ 간 데이터 전송 요금이 붙고 그 AZ 장애가 전체 아웃바운드 장애가 되므로, 프로덕션은 AZ별 배치가 기본입니다.
절감 1순위: 무료 우회로부터 엽니다 #
- 게이트웨이 엔드포인트 (S3, DynamoDB): 시간당도 GB당도 무료입니다. 라우트 테이블에 엔드포인트를 추가하는 것으로 S3·DynamoDB행 트래픽이 NAT를 우회합니다. 프라이빗 서브넷에서 S3로 백업·로그·데이터를 옮기는 계정이라면 이 설정 하나로 처리 요금 항목이 통째로 사라지는 경우가 흔합니다. 설정하지 않을 이유가 없는, 문자 그대로의 공짜 점심입니다.
- 인터페이스 엔드포인트 (ECR, CloudWatch, SQS 등 대부분의 AWS 서비스): AZ당 시간당 약 $0.01 + 처리 GB당 약 $0.01입니다. NAT 처리($0.045/GB)의 2할 남짓이라 트래픽이 많은 서비스일수록 이득이 커집니다. 대표 사례가 ECR입니다. 컨테이너를 자주 배포하는 클러스터의 이미지 풀은 인터페이스 엔드포인트로 옮기는 것이 정석입니다. 다만 시간당 고정비가 있으므로, 트래픽이 미미한 서비스까지 전부 엔드포인트화하면 오히려 고정비만 늘어납니다. 월 트래픽이 수십 GB를 넘는 서비스부터 옮깁니다.
절감 2순위: 구조를 바꾸는 선택지 #
- IPv6 + Egress-only Internet Gateway: IPv6 트래픽의 아웃바운드 전용 게이트웨이는 시간당·처리 요금이 없습니다. 대상 서비스가 IPv6를 지원해야 하고 듀얼 스택 구성이 필요하므로 신규 VPC 설계에서 검토할 항목입니다.
- NAT 인스턴스: 작은 EC2 인스턴스로 NAT를 직접 돌리면 처리 요금 없이 인스턴스 요금만 냅니다. 대역폭 한계, 패치·장애 대응이 전부 사용자 몫이므로 프로덕션 권장은 아니고, 개발 VPC의 월 $33+α를 아끼는 자리에 맞습니다. 개발 환경이라면 NAT 없이 퍼블릭 서브넷으로 구성하는 선택지도 함께 검토합니다.
- Regional NAT Gateway: 2025년 말 추가된 리전 단위 모드로, AZ별로 게이트웨이를 개수 관리하던 부담을 줄여 줍니다. 신규 설계라면 표준 모드와 요금 구조를 비교해 볼 가치가 있고, 고처리량 워크로드용 과금 옵션도 함께 확인합니다.
진단: 어떤 트래픽이 얼마나 지나는지부터 #
절감 대상을 정하려면 NAT를 지나는 트래픽의 내역이 필요합니다.
- Cost Explorer: Usage Type
NatGateway-Bytes로 처리량 추이를 봅니다. 급증 진단 순서는 전용 글의 절차 그대로입니다. - VPC Flow Logs: NAT ENI 기준으로 목적지별 바이트를 집계하면 상위 트래픽 주범이 나옵니다. 대부분 S3, ECR, 외부 API, 로그 수집기 순으로 정리되고, 앞의 둘은 엔드포인트로 즉시 뺄 수 있습니다.
- 반복 확인: 엔드포인트를 추가한 뒤
NatGateway-Bytes가 실제로 꺾였는지 확인합니다. 라우트 테이블 누락으로 일부 서브넷이 여전히 NAT 게이트웨이를 거치는 사례가 흔합니다.
절감 순서 #
- 게이트웨이 엔드포인트부터 겁니다: S3·DynamoDB행 트래픽이 있는 모든 VPC에 무조건입니다. 무료이므로 계산이 필요 없습니다.
- Flow Logs로 상위 주범을 찾습니다: 남은 트래픽의 목적지를 집계해 월 수십 GB 이상인 AWS 서비스를 인터페이스 엔드포인트로 옮깁니다.
- 외부 API 트래픽은 총액으로 판단합니다: 인터넷으로 나가야만 하는 트래픽은 NAT에 남습니다. 이 부분이 크면 아키텍처 쪽(캐싱, 배치 전송, 리전 내 대체 서비스)을 검토합니다.
- 개발 환경은 NAT 자체를 없앱니다: NAT 인스턴스나 퍼블릭 서브넷 구성으로 월 고정비를 지웁니다.
- 멀티 AZ 배치를 재확인합니다: 프로덕션은 AZ별 NAT가 기본이되, 트래픽이 몰리는 AZ와 게이트웨이 배치가 어긋나 AZ 간 요금이 새고 있지 않은지 봅니다.
정리 #
- NAT Gateway 요금의 본체는 처리 요금($0.045/GB)입니다. 다운로드에도 붙고, 아웃바운드는 전송 요금과 겹쳐 직결 대비 1.5배가 됩니다.
- S3·DynamoDB 게이트웨이 엔드포인트는 무료입니다. 설정 한 번으로 처리 요금 항목이 사라지는, 가장 수익률 높은 절감입니다.
- 트래픽 많은 AWS 서비스(ECR 등)는 인터페이스 엔드포인트($0.01/GB)로 옮깁니다. 단, 시간당 고정비가 있어 소량 트래픽까지 옮기면 역효과입니다.
- 절감은 측정에서 시작합니다.
NatGateway-Bytes와 Flow Logs로 주범을 찾고, 조치 후 실제로 꺾였는지 확인합니다. - 개발 VPC의 NAT는 없애는 것까지 검토하고, 프로덕션은 AZ별 배치를 유지하되 배치와 트래픽의 정합을 봅니다.