← 목록

S3 VPC Gateway Endpoint 점검 및 네트워크 비용 최적화

S3용 VPC Gateway Endpoint 미설정으로 NAT Gateway를 경유하던 트래픽을 점검하고, 환경별 인프라 구성에 따른 비용 최적화 방안 정리

2025-03-01AWSDevOpsSecurityNetworking

개요

AWS 인프라 네트워크 설정을 점검하는 과정에서, 일부 환경에서 S3 접근 시 VPC Gateway Endpoint가 설정되어 있지 않아 NAT Gateway를 경유하고 있는 것을 발견했다.

NAT Gateway는 시간당 비용 + 데이터 처리 비용이 발생하므로, S3처럼 대량 데이터를 주고받는 서비스에서는 불필요한 비용이 누적될 수 있다.


핵심 원인

Private Subnet의 EC2/ECS → S3 접근
    ↓
Gateway Endpoint 미설정
    ↓
NAT Gateway를 통해 라우팅
    ↓
불필요한 NAT Gateway 데이터 처리 비용 발생

IGW vs NAT Gateway 비교

구분IGW (Internet Gateway)NAT Gateway
서비스 성격VPC 엣지 (경계)관리형 프록시 (처리 서비스)
시간당 비용없음있음
데이터 처리 비용없음있음 ($0.045/GB)
Private Subnet 필요없음있음

IGW를 통해 S3에 접근하면 같은 리전 EC2 ↔ S3 트래픽은 "리전 내부 서비스 간 트래픽"으로 취급되어 네트워크 비용이 거의 0이다. 반면 NAT Gateway를 경유하면 데이터 처리 비용이 발생한다.


S3 VPC Gateway Endpoint

Gateway Endpoint란

VPC 내부에서 S3(또는 DynamoDB)에 접근할 때 인터넷을 거치지 않고 AWS 내부 네트워크로 직접 연결하는 엔드포인트다.

[Gateway Endpoint 미설정]
EC2 (Private Subnet) → NAT Gateway → IGW → S3
                        ↑ 비용 발생

[Gateway Endpoint 설정]
EC2 (Private Subnet) → Gateway Endpoint → S3
                        ↑ 비용 없음

핵심 포인트

설정 방법

1. VPC 콘솔 → Endpoints → Create Endpoint
2. Service: com.amazonaws.{region}.s3 (Gateway 타입)
3. VPC 선택
4. 라우트 테이블 선택 (S3 접근이 필요한 서브넷의 라우트 테이블)
5. 정책: Full Access (또는 필요 시 제한)
6. 생성 완료

생성 후 라우트 테이블에 자동으로 추가되는 항목:

Destination: pl-xxxxxxxx (S3 prefix list)
Target: vpce-xxxxxxxx (Gateway Endpoint)

환경별 점검 결과

환경 A (Private Subnet 구성)

환경 B (Public Subnet 구성)

환경 C (환경 A와 동일 VPC 공유)


비용 영향 시뮬레이션

NAT Gateway를 경유할 때 발생하는 불필요한 비용:

항목비용
NAT Gateway 시간당$0.045/hr (~$32/월)
NAT Gateway 데이터 처리$0.045/GB
S3 전송량 100GB/월 기준~$4.5/월 (데이터 처리만)
Gateway Endpoint무료

S3 트래픽의 NAT 경유 비용

S3 데이터 전송량이 많은 환경일수록 Gateway Endpoint 설정의 비용 절감 효과가 큰다.


점검 체크리스트

인프라 네트워크 비용 점검 시 확인할 항목:

☐ Private Subnet에서 S3 접근 시 Gateway Endpoint 설정 여부
☐ Gateway Endpoint가 올바른 라우트 테이블에 연결되어 있는지
☐ S3 Bucket Policy에 VPC Endpoint 조건이 필요한지 검토
☐ NAT Gateway 비용 청구서에서 S3 관련 트래픽 비중 확인
☐ 동일 VPC를 공유하는 환경에서 Endpoint 재활용 가능 여부

정리


배운 점

비용이 새는 곳은 대개 화려한 리소스가 아니라 경로다. S3를 쓰는 코드는 어디에도 문제가 없었고, 단지 그 트래픽이 NAT Gateway를 지나가고 있었을 뿐이다. 요금은 무엇을 쓰느냐만이 아니라 어디를 지나느냐로 결정된다.

Gateway Endpoint가 무료라는 점도 이 작업을 하게 만든 이유였다. 비용을 줄이는 선택지 중에는 성능이나 안정성을 깎아 먹는 것도 있지만, 이건 잃는 게 없었다. 그런 선택지는 발견하는 즉시 적용하면 된다.

이렇게 라우팅이 실제 동작과 비용을 결정한 사례는 Private Subnet 라우트 테이블에 특정 IP 라우트를 추가해야 하는 이유에도 있다. 두 글 모두 결론은 같다. 트래픽이 어느 길로 가는지 모르면 설계가 끝난 게 아니다.


이어 읽기