문제 상황
매일 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 3GB3.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와 통신할 서브넷이 있는 라우팅 테이블을 선택해주면 됩니다.



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

이렇게 엔드포인트를 생성을 해주고 나서 몇 일 뒤에 비용 요금을 확인해봤더니만,
비용이 확연히 줄어든 것을 확인할 수 있었습니다.
엔드포인트 생성 전

엔드포인트 생성 후

저와 같은 상황을 겪지 않길 바라며 글을 마치겠습니다.
이상 입니다.
'AWS' 카테고리의 다른 글
| AWS Lambda Layer란? Node.js 기반으로 직접 만들어보고 Lambda에서 적용하기 (1) | 2025.11.13 |
|---|---|
| Packer 사용해서 AWS ami 커스텀 해보기 (0) | 2025.09.30 |
| Karpenter로 EKS에서 Spot 인스턴스 자동 프로비저닝하기 (0) | 2025.09.03 |
| GCP <-> AWS VPN 연결 (1) | 2025.06.25 |
| EKS 노드에서 생성할 수 있는 POD 개수 제한 해제 (0) | 2025.06.17 |