Private Endpoint와 Private Link

Private Endpoint, Service Endpoint, Private Link Service의 차이와 선택 기준을 비교합니다.

AZ-700 시험에서 Private Endpoint와 Private Link 파트는 'Azure PaaS 서비스에 어떻게 사설망으로 안전하게 접근하는가'를 묻습니다. 공용 인터넷을 우회해 Microsoft 백본만 쓰는 방법이 여럿 있고, 선택 기준이 시험에서 자주 등장합니다. Private Endpoint, Service Endpoint, Private Link Service 세 개념의 차이와 실무 함정을 살펴봅니다.

Private Endpoint: 서비스에 전용 우편함을 달아주는 것

아파트 단지 안에 특정 회사의 전용 우편함을 설치한다고 상상해보세요. 외부 배달부가 공용 우체통이 아닌 단지 내부 우편함으로 직접 편지를 넣는 겁니다. Private Endpoint가 바로 이 구조입니다.

Private Endpoint를 만들면 Azure PaaS 서비스(Storage Account, Azure SQL Database, Key Vault 등)가 VNet 서브넷 안에 NIC(Network Interface Card)를 하나 얻고 사설 IP 주소를 부여받습니다. 이때부터 해당 서비스로의 트래픽은 인터넷을 전혀 거치지 않습니다. 공용 엔드포인트를 완전히 비활성화할 수도 있고, VPN이나 ExpressRoute를 통한 온프레미스 라우팅도 가능합니다.

 

Private DNS Zone: 사설 IP를 찾아주는 주소록

도서관에서 책 제목만 알고 서가 위치를 모르면 찾기 어렵습니다. 사서가 제목과 서가 번호를 매핑해주는 것처럼, Private DNS Zone은 서비스 FQDN을 사설 IP로 매핑합니다.

Private Endpoint를 만들면 서비스 FQDN(예: mystorageaccount.blob.core.windows.net)이 privatelink.blob.core.windows.net으로 리다이렉션됩니다. Private DNS Zone(privatelink.{service}.azure.com)을 VNet에 연결하면 VNet 안의 VM은 이 FQDN을 자동으로 사설 IP로 해석합니다.

온프레미스 환경에서는 DNS 서버에 조건부 전달자(Conditional Forwarder)를 설정해 privatelink 도메인 쿼리를 Azure DNS 리졸버로 넘겨야 합니다. 이 설정 없이는 온프레미스 VM이 사설 IP를 찾지 못합니다.

 

Service Endpoint: VIP 출입증을 받는 것

대형 쇼핑몰에 VIP 회원증을 발급받으면 일반 줄 없이 바로 들어갈 수 있습니다. 하지만 회원증을 가진 사람이 쇼핑몰 건물 자체로 이사 오는 것은 아닙니다. Service Endpoint가 이 구조입니다.

Service Endpoint를 서브넷에 활성화하면 해당 서브넷의 트래픽이 Microsoft 백본 네트워크를 통해 Azure 서비스로 라우팅됩니다. 공용 IP는 유지되지만 트래픽은 인터넷 공중망을 탈출하지 않습니다. 서비스 측 방화벽에서 해당 VNet ID를 허용해야 접근이 열립니다.

중요한 제약은 온프레미스에서 이 경로를 직접 사용할 수 없다는 점입니다. 또한 다른 VNet이나 외부에서는 서비스의 공용 엔드포인트가 여전히 열려 있습니다.

 

Private Link Service: 내 서비스를 다른 고객에게 비공개로 노출하는 것

물류 회사가 자체 창고 시스템을 파트너사에 노출하고 싶을 때, 인터넷에 공개하지 않고 전용 채널만 열어주는 방법이 필요합니다. Private Link Service가 이 역할을 합니다.

Private Link Service는 Microsoft가 아닌 사용자가 자신의 서비스를 다른 고객 VNet에 비공개로 노출할 때 사용합니다. Standard Load Balancer 뒤에 서비스를 배치하고 Private Link Service 리소스를 만들면 다른 VNet의 소비자가 Private Endpoint를 통해 접근할 수 있습니다.

접근 요청에는 approval 워크플로가 있습니다. 소비자가 연결 요청을 보내면 서비스 소유자가 승인하거나 거부하고, 승인 후에야 트래픽이 흐릅니다.

 

Private Endpoint vs Service Endpoint: 선택 기준

예약 테이블을 갖는 것(Private Endpoint)과 단골 할인카드로 빠르게 입장하는 것(Service Endpoint)은 다른 방식입니다.

| 항목 | Private Endpoint | Service Endpoint | | :-- | :-- | :-- | | 접근 IP | 사설 IP (VNet NIC) | 공용 IP 유지 | | 공용 엔드포인트 차단 | 가능 | 불가 | | 온프레미스 라우팅 | 가능 (VPN/ExpressRoute) | 불가 | | 비용 | 시간+데이터 요금 발생 | 무료 | | DNS 통합 | Private DNS Zone 필요 | 불필요 |

보안 요건이 엄격하거나 온프레미스에서 접근이 필요하면 Private Endpoint를 씁니다. 동일 리전 내 VNet에서 간단히 백본만 쓰고 싶다면 Service Endpoint면 충분합니다.

!Private Endpoint vs Service Endpoint

공용 엔드포인트 차단과 온프레미스 접근 시나리오

회사 내부 문서를 외부에서 전혀 볼 수 없게 봉인하는 것과, 사무실 직원만 들어올 수 있는 전용 통로를 만드는 것을 동시에 처리하는 시나리오가 있습니다. Private Endpoint는 이 두 가지를 함께 처리합니다.

Storage Account의 공용 엔드포인트를 비활성화하고 Private Endpoint를 만들면, VNet 안에서는 사설 IP로 접근하고 인터넷에서는 완전히 차단됩니다. ExpressRoute를 통해 연결된 온프레미스 사무실도 이 사설 IP로 Storage Account에 접근할 수 있습니다.

반면 Service Endpoint는 공용 엔드포인트를 차단하지 않고, 온프레미스 라우팅도 지원하지 않습니다. 규정 준수 요건이 '인터넷 트래픽 원천 차단'을 명시한다면 Service Endpoint로는 충족되지 않습니다.

 

실무 함정: DNS 미설정과 approval 누락

자동차 내비게이션이 업데이트되지 않으면 새 도로를 안내하지 못합니다. Private Endpoint도 DNS 설정 없이는 트래픽이 여전히 공용 IP로 향합니다.

가장 흔한 실수는 Private Endpoint를 만들었지만 Private DNS Zone을 VNet에 연결하지 않은 경우입니다. VM이 서비스 FQDN을 조회하면 공용 IP를 받아오고, 공용 엔드포인트를 막아뒀다면 연결이 실패합니다. 온프레미스에서는 Conditional Forwarder 미설정이 같은 증상을 일으킵니다.

두 번째 함정은 Private Link Service approval입니다. 소비자가 Private Endpoint를 만들어도 서비스 소유자가 승인하기 전에는 연결 상태가 'Pending'으로 남습니다. 세 번째는 Service Endpoint와 NSG 조합인데, Service Endpoint만 활성화하고 NSG에서 서비스 태그를 허용하지 않으면 트래픽이 차단됩니다.

 

시험 핵심 정리

"PaaS 서비스를 VNet 사설 IP로 접근" -- Private Endpoint "공용 엔드포인트를 완전히 차단" -- Private Endpoint + public access 비활성화 "온프레미스에서 Azure Storage에 사설망으로 접근" -- Private Endpoint + VPN/ExpressRoute "VNet에서 백본 경유, 공용 IP 유지" -- Service Endpoint "다른 고객 VNet에 내 서비스를 비공개 노출" -- Private Link Service "접근 요청 후 승인 필요, 연결이 Pending 상태" -- Private Link Service approval 워크플로 "FQDN이 공용 IP를 반환, Private Endpoint 있는데 연결 실패" -- Private DNS Zone 미연결 "온프레미스에서 privatelink 도메인 해석 실패" -- Conditional Forwarder 미설정 "Service Endpoint 활성화했는데 여전히 차단됨" -- NSG 서비스 태그 허용 필요 "규정 준수 요건: 인터넷 트래픽 원천 차단" -- Service Endpoint로 불충분, Private Endpoint 필요

Private Endpoint = 사설 IP·공용 차단·온프렘 라우팅 가능, Service Endpoint = 백본 경유·공용 IP 유지·무료

블로그 목록으로 돌아가기