개요
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
↑ 비용 없음
핵심 포인트
- Gateway Endpoint는 서브넷이 아니라 라우트 테이블 기준으로 연결
- Gateway Endpoint 자체는 무료 (시간당 비용, 데이터 처리 비용 모두 없음)
- 설정 후 라우트 테이블에 S3 prefix list가 자동 추가됨
설정 방법
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 구성)
- S3용 Gateway Endpoint 설정 완료
- 라우트 테이블 연결 확인
- S3 Bucket Policy: 별도 제한 정책 없음
- ✅ 정상
환경 B (Public Subnet 구성)
- 현재 인프라가 전부 Public Subnet에 위치
- S3 접근 시 IGW를 통해 나가므로 NAT Gateway를 타지 않음
- 같은 리전 EC2 ↔ S3 트래픽은 리전 내부 트래픽으로 과금 → 네트워크 비용 거의 0
- ✅ Gateway Endpoint 없어도 비용 이슈 없음
환경 C (환경 A와 동일 VPC 공유)
- S3용 Gateway Endpoint 미설정 상태
- 환경 A와 동일 VPC를 사용하므로, 환경 A에서 생성한 Gateway Endpoint의 라우트 테이블을 연결하면 됨
- ✅ 기존 Endpoint 활용으로 해결
비용 영향 시뮬레이션
NAT Gateway를 경유할 때 발생하는 불필요한 비용:
| 항목 | 비용 |
|---|---|
| NAT Gateway 시간당 | $0.045/hr (~$32/월) |
| NAT Gateway 데이터 처리 | $0.045/GB |
| S3 전송량 100GB/월 기준 | ~$4.5/월 (데이터 처리만) |
| Gateway Endpoint | 무료 |
S3 데이터 전송량이 많은 환경일수록 Gateway Endpoint 설정의 비용 절감 효과가 큽니다.
점검 체크리스트
인프라 네트워크 비용 점검 시 확인할 항목:
☐ Private Subnet에서 S3 접근 시 Gateway Endpoint 설정 여부
☐ Gateway Endpoint가 올바른 라우트 테이블에 연결되어 있는지
☐ S3 Bucket Policy에 VPC Endpoint 조건이 필요한지 검토
☐ NAT Gateway 비용 청구서에서 S3 관련 트래픽 비중 확인
☐ 동일 VPC를 공유하는 환경에서 Endpoint 재활용 가능 여부
정리
- S3용 VPC Gateway Endpoint 미설정 시 NAT Gateway 경유로 불필요한 비용 발생
- Gateway Endpoint는 무료이며, 라우트 테이블 기준으로 연결
- Public Subnet 구성에서는 IGW 경유로 비용 이슈 없음 (리전 내부 트래픽)
- 동일 VPC 공유 환경에서는 기존 Endpoint 라우트 테이블 연결로 해결
- 정기적인 네트워크 설정 점검으로 비용 최적화 필요