안녕하세요. AWS에서 프라이빗 서브넷(Private Subnet)을 운영하다 보면 딜레마에 빠질 때가 있습니다.
“우리 서버는 보안 때문에 인터넷 연결(IGW)을 끊었는데, SQS나 CloudWatchLogs 같은 AWS 서비스는 써야 해요. 어떡하죠?”
보통은 울며 겨자 먹기로 비싼 NAT Gateway를 뚫어서 인터넷 망을 통해 AWS 서비스에 접근합니다. 하지만 AWS PrivateLink (Interface VPC Endpoint)를 사용하면, 인터넷망을 전혀 타지 않고 AWS 백본망을 통해 안전하게 서비스에 접속할 수 있습니다.
오늘은 AWS 리전 서비스에 프라이빗하게 접속하는 표준 방법, Interface Endpoint에 대해 정리해 드립니다.
1. Interface Endpoint가 뭔가요?
한마디로 “내 VPC 안에 AWS 서비스 전용 출장소(ENI)를 만드는 것”입니다.
원래 sns.ap-northeast-2.amazonaws.com 같은 주소는 퍼블릭 IP를 가집니다. 그래서 인터넷이 되어야만 접속할 수 있죠. 하지만 Interface Endpoint를 생성하면, **내 서브넷에 사설 IP를 가진 ENI(랜카드)**가 하나 생깁니다.
Before: EC2 → NAT Gateway → 인터넷(IGW) → AWS SNS (퍼블릭)
After: EC2 → ENI (내 서브넷 안) → AWS 백본망 → AWS SNS
2. 왜 써야 하나요? (핵심 장점)
① 보안 (Security)
가장 큰 이유입니다. NAT Gateway나 Internet Gateway가 아예 없어도 됩니다. 외부 인터넷으로 나가는 문을 완전히 걸어 잠근 상태에서도 AWS 서비스를 이용할 수 있어 데이터 유출(Exfiltration) 위협을 최소화합니다.
② 네트워크 최적화
트래픽이 공용 인터넷망을 돌지 않고, AWS 내부 광케이블(백본망)만 타고 이동합니다. 홉(Hop) 수가 줄어들어 지연 시간(Latency)이 감소하고 연결이 안정적입니다.
③ 접근 제어 (Security Group)
NAT Gateway는 방화벽 설정이 제한적이지만, Interface Endpoint는 Security Group을 적용할 수 있습니다.
"이 Endpoint에는 오직 A 서버만 443 포트로 접근 가능해" 같은 정교한 제어가 가능합니다.
3. 핵심 기능: Private DNS
Interface Endpoint를 만들 때 가장 중요한 옵션이 바로 Private DNS입니다.
이 기능을 켜면(Enable), AWS가 VPC 내부 DNS(Route 53 Resolver)를 조작합니다. 기존에 우리가 코드에서 쓰던 sns.ap-northeast-2.amazonaws.com 도메인을 호출하면, 자동으로 퍼블릭 IP가 아닌 **Endpoint의 사설 IP(Private IP)**로 연결해 줍니다.
즉, 애플리케이션 코드를 단 한 줄도 수정할 필요가 없습니다.
4. 구축 방법 (간단 요약)
VPC 콘솔 > Endpoints > Create Endpoint 클릭.
Service category: 'AWS services' 선택.
Service: 검색창에 원하는 서비스 입력 (예: ecr.api, logs, sns 등).
VPC & Subnets: Endpoint를 위치시킬 VPC와 서브넷 선택. (가용성을 위해 멀티 AZ 권장)
Security Group: Endpoint에 적용할 보안 그룹 선택 (VPC 내부에서 443 허용).
Private DNS names: 'Enable' 체크 (기본값).
5. 비용 및 주의사항
좋은 기능이지만 공짜는 아닙니다.
비용:
시간당 요금: Endpoint 1개당 약 $0.01 (서울 리전 기준)
데이터 처리 요금: GB당 약 $0.01
주의: AZ마다 Endpoint를 만들면 시간당 요금이 AZ 개수만큼 나갑니다.
Gateway Endpoint와의 차이:
S3와 DynamoDB는 Gateway Endpoint (무료)를 쓰세요.
그 외 나머지(EC2, ELB, SNS, SQS, Kinesis 등)는 Interface Endpoint (유료)를 써야 합니다.
마치며
"보안은 네트워크 격리에서 시작됩니다."
외부와 단절된 진정한 프라이빗 네트워크를 구성하고 싶다면, NAT Gateway에 의존하기보다 AWS PrivateLink를 적극 활용해 보세요. 더 안정적인 아키텍처를 가질 수 있습니다.
