AWS

AWS NAT Gateway 비용 분석: S3 트래픽과 VPC Endpoint의 중요성

황동리 2025. 12. 16. 11:06
반응형

문제 상황

매일 AWS 비용을 확인하는데, 평소에 17달러 씩 나가던 EC2-기타 비용이


갑자기 47.64달러 씩 나가길래 사용량 유형에서 자세히 살펴보니, NatGateway-Bytes 비용이 급증한 걸 확인했습니다.


이에 따라 Cloudwatch에서 NAT Gateway 가 어디로 많이 통신을 하는지 VPC Flow 로그에서 아래 쿼리로 확인을 해보니,

fields interfaceId, srcAddr, dstAddr, bytes, action
| filter interfaceId = '<Nat Gateway의 eni>' and action = 'ACCEPT'
| stats sum(bytes) as totalBytes by srcAddr
| sort totalBytes desc
| limit 20

---
결과값
3.5.x.x                3GB
3.5.x.x                3GB
3.5.x.x                3GB
3.5.x.x                3GB
3.5.x.x                3GB
3.5.x.x                3GB

3.5.x.x 대역에서 NAT Gateway 로 들어오는 응답 트래픽이 3GB 씩 총 461GB 가 넘게 들어온 것을 확인했었습니다.


그래서 3.5.x.x 대역이 어떤 곳인가 확인하니 S3의 퍼블릭 엔드포인트였고,


이에 따라 트래픽 경로가, 아래와 같이 되어 NAT Gatewy의 요금이 급증했던 것 이였습니다.

  • Private Subnet -> NAT Gateway -> Internet -> S3

문제 해결

이에 따라 인터넷에서 해당 문제를 해결할 방법을 찾아보니, S3 Gateway VPC Endpoint 생성을 하면,


NAT Gateway를 거치지 않고, VPC -> VPC Endpoint -> S3 경로를 거치게 되어 더 이상 NAT Gateway 비용이 급증하여 돈이 많이 청구되는 것을 막을 수 있었습니다.

VPC Endpoint 생성 방법

먼저 VPC 서비스로 가서 왼쪽 메뉴에서 엔드포인트 클릭



그리고 엔드포인트 생성

  • 이름 태그: 원하는 이름
  • 유형: AWS 서비스
  • 서비스에서는 s3 검색하고 `com.amazonaws.<vpc와 같은 리전>.s3 서비스의 Gateway 유형으로 선택을 해주면 됩니다.
  • VPC는 사용하시는 VPC로 선택을 해주면 됩니다.
  • 마지막으로 라우팅 테이블에는 S3와 통신할 서브넷이 있는 라우팅 테이블을 선택해주면 됩니다.


이렇게 엔드포인트를 생성을 해주고 나서 앞서 선택한 라우팅 테이블에 가서 아래 이미지 처럼 정상적으로 라우팅이 들어간 것을 확인해주면 됩니다.



이렇게 엔드포인트를 생성을 해주고 나서 몇 일 뒤에 비용 요금을 확인해봤더니만,


비용이 확연히 줄어든 것을 확인할 수 있었습니다.

  • 엔드포인트 생성 전

  • 엔드포인트 생성 후



저와 같은 상황을 겪지 않길 바라며 글을 마치겠습니다.


이상 입니다.

반응형