AWS PrivateLink · 서비스 단위 사설 연결

필요한 서비스만 사설 IP로 내 VPC에 연결하세요

AWS PrivateLink는 서비스를 내 VPC 안의 사설 IP로 가져옵니다. 인터넷 게이트웨이, NAT, 공인 IP 없이 AWS 서비스, 다른 계정의 서비스, 파트너 SaaS에 접근하고, 접근 가능한 대상을 서비스 단위로 제한합니다.

Interface endpointavailable
AZ a · ENI10.0.1.25subnet-app-a
AZ c · ENI10.0.2.37subnet-app-c
Private DNS nameapi.example.com
Regional DNS namevpce-0a1b2c3d4e5f6a7b8-k3m9x2p1.vpce-svc-0123456789abcdef0.ap-northeast-2.vpce.amazonaws.com
consumer appENIendpoint service
100 Gbps

엔드포인트당 AZ별 최대 대역폭 (기본 10 Gbps에서 자동 확장)

8500

VPC 엔드포인트 MTU (bytes)

TCP · UDP

Interface endpoint 지원 프로토콜

IPv4 · IPv6

IPv4, IPv6, Dualstack 엔드포인트

Why PrivateLink

서비스 하나를 쓰려고 네트워크 전체를 열 필요는 없습니다

VPC 피어링이나 Transit Gateway는 네트워크끼리 경로를 엽니다. PrivateLink는 특정 서비스로 가는 진입점만 내 VPC에 만듭니다. 상대 VPC의 다른 자원에는 경로가 생기지 않습니다.

Private

인터넷 노출 없음

프라이빗 서브넷에서 인터넷 게이트웨이, NAT, 공인 IP 없이 서비스에 접근합니다.

One-way

단방향 연결

소비자 VPC만 연결을 시작할 수 있습니다. 공급자 VPC에서 소비자 VPC로 들어오는 경로는 생기지 않습니다.

Overlap

CIDR 중복 허용

소비자와 공급자가 서로 다른 VPC라면 IP 대역이 겹쳐도 됩니다. 소비자 VPC 안의 ENI로 접근하기 때문입니다.

Provider & consumer

공급자는 서비스를 내놓고, 소비자는 엔드포인트를 만듭니다

PrivateLink 연결은 두 계정의 작업이 만나서 완성됩니다. 공급자는 로드 밸런서 뒤에 서비스를 두고 endpoint service로 공개하며, 소비자는 자기 VPC에 엔드포인트를 만들어 그 서비스에 연결합니다.

Consumer

서비스를 쓰는 쪽

  • subnetAZ마다 서브넷을 골라 Interface endpoint를 만듭니다. AZ마다 ENI가 하나씩 생깁니다.
  • SG엔드포인트 ENI에 보안 그룹을 붙여 접근할 수 있는 클라이언트를 제한합니다.
  • DNSPrivate DNS를 켜면 기존 서비스 이름 그대로 엔드포인트로 접속합니다.
Provider

서비스를 내놓는 쪽

  • NLBNetwork Load Balancer 뒤에 서비스를 두고 endpoint service를 만듭니다. 어플라이언스는 Gateway Load Balancer를 씁니다.
  • allow연결을 허용할 AWS 계정이나 IAM 주체를 지정하고, 요청을 수동으로 수락하게 설정할 수 있습니다.
  • region지원 리전을 추가하면 다른 리전의 소비자도 엔드포인트를 만들 수 있습니다.

Features

주요 기능

Cross-Region

리전 간 PrivateLink

다른 리전에 있는 endpoint service와 일부 AWS 서비스(S3, IAM, ECR 등)에 Interface endpoint로 연결합니다. 공급자와 AZ를 맞출 필요가 없고, AWS 서비스로 연결할 때는 리전 DNS 이름만 쓸 수 있습니다. AZ 간 장애 전환은 PrivateLink가 관리하지만 리전 간 전환은 하지 않습니다.

Name resolution

Private DNS

공급자가 도메인 이름을 검증해 연결해 두면, 소비자는 애플리케이션 설정을 바꾸지 않고 같은 이름으로 엔드포인트에 접속합니다.

Access control

Endpoint policy

엔드포인트에 리소스 정책을 붙여 이 엔드포인트로 호출할 수 있는 주체와 작업, 리소스를 제한합니다.

Hybrid

온프레미스에서 접근

Direct Connect, Site-to-Site VPN, Transit Gateway, Cloud WAN, VPC 피어링을 거쳐 온 트래픽도 엔드포인트에 도달합니다.

VPC Lattice

Resource endpoint

로드 밸런서 없이 다른 VPC나 온프레미스의 데이터베이스, 도메인 이름, IP 대상에 TCP로 접근합니다. 공급자는 resource gateway로 리소스를 공유합니다.

Inspection

Gateway Load Balancer endpoint

VPC 라우팅 테이블의 next hop으로 지정해 트래픽을 방화벽 같은 가상 어플라이언스 플릿으로 보냅니다.

Endpoint types

PrivateLink 기반 VPC 엔드포인트 유형

연결할 대상에 따라 엔드포인트 유형이 다릅니다. Amazon S3와 DynamoDB용 Gateway endpoint는 PrivateLink를 쓰지 않으므로 여기에 포함하지 않았습니다.

PrivateLink 기반 VPC 엔드포인트 유형 비교
유형연결 대상공급자 쪽 구성트래픽을 보내는 방법
Interface AWS 서비스, 다른 계정이나 파트너의 서비스 NLB 기반 endpoint service DNS 이름이 ENI의 사설 IP로 해석됩니다. TCP · UDP
Gateway Load Balancer 가상 어플라이언스 플릿 GWLB 기반 endpoint service 라우팅 테이블에서 엔드포인트를 next hop으로 지정합니다.
Resource 데이터베이스, EC2 인스턴스, 도메인 이름이나 IP 대상 resource gateway와 resource configuration 엔드포인트 DNS 이름으로 접근합니다. TCP
Service network VPC Lattice 서비스 네트워크에 연결된 여러 서비스와 리소스 VPC Lattice 서비스 네트워크 엔드포인트 하나로 여러 대상에 접근합니다.
Tunnel 공유받은 네트워크 세그먼트 (CIDR 범위) CIDR 범위의 resource configuration을 AWS RAM으로 공유 UDP 6081의 GENEVE로 캡슐화해 보냅니다. 안쪽 트래픽은 TCP이고, UDP는 DNS 질의만 지원합니다.

Reference architecture

IP 대역이 겹쳐도 서비스만 연결합니다

소비자 VPC와 공급자 VPC가 같은 10.0.0.0/16을 써도 Interface endpoint로 서비스에 연결됩니다. 온프레미스는 소비자 VPC를 거쳐 엔드포인트에 도달하고, 다른 리전의 소비자는 리전 간 PrivateLink를 씁니다.

PrivateLink 레퍼런스 아키텍처 서울 리전의 소비자 VPC에 Interface endpoint와 Resource endpoint가 있습니다. 애플리케이션과 온프레미스 데이터센터는 Interface endpoint를 거쳐, 같은 10.0.0.0/16 대역을 쓰는 공급자 VPC의 Network Load Balancer 기반 endpoint service와 서비스 대상에 연결됩니다. Resource endpoint는 다른 VPC의 resource gateway를 거쳐 데이터베이스에 연결됩니다. 다른 리전의 소비자 VPC는 리전 간 PrivateLink로 같은 endpoint service에 연결됩니다. ON-PREMISES CONSUMER VPC · 10.0.0.0/16 PROVIDER VPC · 10.0.0.0/16 RESOURCE VPC OTHER REGION 데이터센터DX · VPN 애플리케이션api.example.com 호출 Interface endpointENI 10.0.1.25 · AZ aENI 10.0.2.37 · AZ c Resource endpointTCP · DNS 이름 Endpoint serviceNetwork Load Balancer 서비스 대상EC2 · 컨테이너 Resource GWingress 데이터베이스Amazon RDS 소비자 VPCInterface endpointservice Region 지정 PrivateLink cross-Region
PrivateLink 연결 (소비자 → 공급자, 단방향) VPC 내부 · 하이브리드 요청 경로 리전 간 PrivateLink화살표는 연결을 시작하는 방향이며, 응답은 같은 연결로 돌아옵니다.

좁은 화면에서는 다이어그램을 좌우로 밀어서 보세요.

Getting started

내 서비스를 PrivateLink로 공개하는 순서

  1. STEP 1

    NLB 준비

    공급자 VPC의 두 개 이상 AZ에 Network Load Balancer와 대상 그룹을 만듭니다.

  2. STEP 2

    Endpoint service 생성

    NLB를 선택해 endpoint service를 만들고, 연결을 허용할 주체를 추가합니다.

  3. STEP 3

    엔드포인트 생성

    소비자는 서비스 이름으로 Interface endpoint를 만들고 서브넷과 보안 그룹을 고릅니다.

  4. STEP 4

    연결 수락

    수락이 필요하도록 설정했다면 공급자가 연결 요청을 수락합니다.

  5. STEP 5

    DNS로 접속 확인

    엔드포인트 DNS 이름이나 Private DNS 이름으로 서비스에 접속해 봅니다.

Pricing

비용 항목

PrivateLink 요금은 엔드포인트가 프로비저닝된 시간과 엔드포인트로 처리한 데이터 양으로 정해집니다. 공급자 쪽 로드 밸런서와 리전 간 전송 요금은 따로 붙습니다.

AWS PrivateLink 과금 항목
과금 항목과금 기준참고
Interface endpoint 시간엔드포인트가 있는 AZ마다 프로비저닝된 시간. 부분 시간은 1시간으로 계산합니다.엔드포인트를 만든 소비자에게 청구됩니다.
Interface endpoint 데이터 처리엔드포인트로 처리한 GB리전 안 모든 Interface endpoint의 처리량 합계에 사용량 구간별 단가가 적용됩니다.
Gateway Load Balancer endpoint엔드포인트 시간과 처리한 GB공급자 쪽 Gateway Load Balancer 요금은 Elastic Load Balancing 요금으로 따로 청구됩니다.
Resource · Tunnel endpointResource endpoint는 리소스별 시간, Tunnel endpoint는 엔드포인트 시간. 둘 다 처리한 GB처리 요금 구간은 Interface endpoint와 따로 계산합니다. Service network endpoint 자체에는 추가 요금이 없고, 서비스 네트워크로 접근하는 리소스와 서비스는 VPC Lattice 요금을 따릅니다.
리전 간 연결공급자는 활성 원격 리전마다 고정 시간 요금. 소비자는 표준 엔드포인트 요금에 리전 간 전송 GB원격 리전에 연결된 Interface endpoint가 하나라도 있으면 활성 리전입니다. 리전 간 전송 요금은 엔드포인트 소유자에게 청구됩니다.
공급자 Network Load BalancerNLB 시간과 NLCUElastic Load Balancing 요금으로 따로 청구됩니다.

요금 단가는 리전과 사용량에 따라 다릅니다. 최신 단가는 AWS PrivateLink 요금 페이지에서 확인하세요.

Next step

서비스 공개와 사설 접근 구조를 함께 설계해 보세요

공개할 서비스, 소비자 계정 범위, 온프레미스 접근 경로, DNS 구성을 정리해 오시면 엔드포인트 유형과 배치를 함께 검토합니다.