프라이빗 서브넷의 인스턴스가 S3에 접근하려고 NAT 게이트웨이를 거쳐 인터넷으로 나갔다 오는 구조, 흔하지만 비효율적입니다. 트래픽이 AWS 밖을 굳이 돌고 NAT 처리 비용도 붙습니다. VPC 엔드포인트는 이 트래픽을 인터넷을 거치지 않고 AWS 내부 망으로 직접 연결합니다.
두 가지 엔드포인트 타입
| 타입 | 대상 | 동작 방식 | 과금 |
|---|---|---|---|
| 게이트웨이형 | S3, DynamoDB | 라우팅 테이블에 경로 추가 | 무료 |
| 인터페이스형 | 그 외 대부분(ECR, SSM 등) | 서브넷에 ENI(사설 IP) 생성 | 시간·데이터 과금 |
게이트웨이형은 라우팅 테이블에 prefix list 경로를 더하는 방식이라 추가 비용이 없습니다. 인터페이스형은 PrivateLink 기반으로 서브넷 안에 사설 IP를 가진 네트워크 인터페이스(ENI)를 만들고, 서비스 도메인이 그 사설 IP로 해석되게 합니다.
왜 쓰는가
- 보안 — 트래픽이 퍼블릭 인터넷을 타지 않아 노출면이 준다. 엔드포인트 정책으로 특정 버킷·동작만 허용할 수도 있다.
- 비용 — S3·DynamoDB 트래픽이 게이트웨이 엔드포인트로 빠지면 NAT 게이트웨이 데이터 처리 비용이 사라진다.
- NAT 의존 제거 — 인터넷 접근이 필요 없는 워크로드는 NAT 없이도 AWS 서비스에 닿는다.
구성 순서 (S3 게이트웨이형 예시)
- 엔드포인트 생성 — 대상 서비스(
com.amazonaws.ap-northeast-2.s3)와 연결할 라우팅 테이블을 지정한다.
로컬 터미널
aws ec2 create-vpc-endpoint \
--vpc-id vpc-0abc123 \
--service-name com.amazonaws.ap-northeast-2.s3 \
--route-table-ids rtb-0def456
- 라우팅 확인 — 생성되면 라우팅 테이블에 S3 prefix list(
pl-xxxx)를 향하는 경로가 자동으로 추가된다. 이 경로가 NAT보다 우선 적용된다. - 접근 검증 — 프라이빗 서브넷 인스턴스에서 S3를 호출해 NAT 없이 닿는지 본다.
로컬 터미널
aws s3 ls s3://my-bucket --region ap-northeast-2
인터페이스형은 추가로 보안 그룹(HTTPS 443 인바운드 허용)과 프라이빗 DNS 활성화를 확인해야, 기존 서비스 도메인이 자동으로 엔드포인트 사설 IP로 해석됩니다.
요점 정리
- VPC 엔드포인트 = AWS 서비스에 인터넷 없이 내부 망으로 접근.
- S3·DynamoDB는 게이트웨이형(무료, 라우팅 경로), 나머지는 인터페이스형(ENI, 과금).
- 보안 강화
+NAT 비용 절감이 핵심 이점. - 인터페이스형은 보안 그룹 443과 프라이빗 DNS 설정을 빠뜨리기 쉽다.
게이트웨이·인터페이스 엔드포인트를 직접 만들고 프라이빗 서브넷에서 접근을 검증하는 실습은 클라우드 트랙에서 회원가입 없이 무료로 할 수 있습니다.