Azure Private Link 서비스는 무엇입니까?

Azure Private Link 서비스는 Azure Private Link에서 제공하는 자체 서비스에 대한 참조입니다. Azure 표준 Load Balancer 뒤에서 실행되는 서비스는 Private Link 액세스를 사용하도록 설정하여 서비스에 대한 소비자가 자신의 VNet에서 비공개로 액세스할 수 있도록 할 수 있습니다. 고객은 가상 네트워크 내에 프라이빗 엔드포인트를 만들고 이 서비스에 매핑할 수 있습니다. 이 문서에서는 서비스 공급자 쪽과 관련된 개념을 설명합니다.

Diagram of Azure private link service.

그림: Azure Private Link Service.

워크플로

Diagram of private link service workflow.

그림: Azure Private Link 서비스 워크플로.

  • 가상 네트워크의 표준 부하 분산 장치 뒤에서 실행되도록 애플리케이션을 구성합니다. 표준 부하 분산 장치 뒤에서 애플리케이션을 이미 구성한 경우 이 단계를 건너뛸 수 있습니다.

  • 위의 부하 분산 장치를 참조하는 Private Link 서비스를 만듭니다. 부하 분산 장치 선택 프로세스에서 트래픽을 수신할 프런트 엔드 IP 구성을 선택합니다. Private Link 서비스의 NAT IP 주소에 대한 서브넷을 선택합니다. 서브넷에서 사용 가능한 NAT IP 주소를 8개 이상 사용하는 것이 좋습니다. 모든 소비자 트래픽은 이 개인 IP 주소 풀에서 서비스 공급자로 시작되는 것처럼 보입니다. Private Link 서비스에 대한 적절한 속성/설정을 선택합니다.

    참고 항목

    Azure Private Link 서비스는 표준 Load Balancer만 지원됩니다.

서비스 공유

Private Link 서비스를 만든 후 Azure는 서비스에 제공한 이름을 기반으로 별칭이라는 전역적으로 고유한 이름을 지정한 모니커를 생성합니다. 서비스의 별칭 또는 리소스 URI를 오프라인으로 고객과 공유할 수 있습니다. 소비자는 별칭 또는 리소스 URI를 사용하여 Private Link 연결을 시작할 수 있습니다.

연결 요청 관리

소비자가 연결을 시작한 후 서비스 공급자는 연결 요청을 수락하거나 거부할 수 있습니다. 모든 연결 요청은 Private Link 서비스의 privateendpointconnections 속성 아래에 나열됩니다.

서비스 삭제

Private Link 서비스가 더 이상 사용되지 않는 경우 삭제할 수 있습니다. 그러나 서비스를 삭제하기 전에 연결된 프라이빗 엔드포인트 연결이 없는지 확인합니다. 모든 연결을 거부하고 서비스를 삭제할 수 있습니다.

속성

Private Link 서비스는 다음 속성을 지정합니다.

속성 설명
프로비저닝 상태(provisioningState) Private Link 서비스의 현재 프로비전 상태를 나열하는 읽기 전용 속성입니다. 적용 가능한 프로비전 상태는 삭제 중, 실패, 성공,*업데이트 중입니다. 프로비전 상태가 성공이면 Private Link 서비스를 성공적으로 프로비전한 것입니다.
별칭(alias) 별칭은 서비스에 대한 전역적으로 고유한 읽기 전용 문자열입니다. 서비스에 대한 고객 데이터를 마스킹하는 데 도움이 되며 동시에 서비스의 공유하기 쉬운 이름을 만듭니다. Private Link 서비스를 만들 때 Azure는 고객과 공유할 수 있는 서비스에 대한 별칭을 생성합니다. 고객은 이 별칭을 사용하여 서비스에 대한 연결을 요청할 수 있습니다.
표시 유형(표시 유형) 표시 유형은 Private Link 서비스의 노출 설정을 제어하는 속성입니다. 서비스 공급자는 Azure 역할 기반 액세스 제어 권한이 있는 구독에 대한 노출을 제한하도록 선택할 수 있습니다. 제한된 구독 세트를 사용하여 노출을 제한할 수도 있습니다.
자동 승인(자동 승인) 자동 승인은 Private Link 서비스에 대한 자동화된 액세스를 제어합니다. 자동 승인 목록에 지정된 구독은 해당 구독의 프라이빗 엔드포인트에서 연결을 요청하면 자동으로 승인됩니다.
부하 분산 장치 프런트 엔드 IP 구성(loadBalancerFrontendIpConfigurations) Private Link 서비스는 표준 Load Balancer 프런트 엔드 IP 주소에 연결됩니다. 서비스로 향하는 모든 트래픽은 SLB의 프런트 엔드에 도달합니다. 애플리케이션이 실행 중인 적절한 백 엔드 풀로 이 트래픽을 전달하도록 SLB 규칙을 구성할 수 있습니다. 부하 분산 장치 프런트 엔드 IP 구성은 NAT IP 구성과 다릅니다.
NAT IP 구성(ipConfigurations) 이 속성은 Private Link 서비스에 대한 NAT(네트워크 주소 변환) IP 구성을 나타냅니다. NAT IP는 서비스 공급자의 가상 네트워크에 있는 모든 서브넷에서 선택할 수 있습니다. Private Link 서비스는 Private Link 트래픽에서 대상 쪽 NAT-ing을 수행합니다. 이 NAT는 원본(소비자)와 대상(서비스 공급자)의 주소 공간 간에 IP 충돌이 발생하지 않도록 합니다. 대상 또는 서비스 공급자 쪽에서 NAT IP 주소는 서비스에서 받은 모든 패킷에 대한 원본 IP로 표시됩니다. 서비스에서 보낸 모든 패킷에 대해 대상 IP가 표시됩니다.
프라이빗 엔드포인트 연결(privateEndpoint커넥트ions) 이 속성은 Private Link 서비스에 연결하는 프라이빗 엔드포인트를 나열합니다. 여러 프라이빗 엔드포인트는 동일한 Private Link 서비스에 연결할 수 있으며 서비스 공급자는 개별 프라이빗 엔드포인트의 상태를 제어할 수 있습니다.
TCP 프록시 V2(EnableProxyProtocol) 이 속성을 통해 서비스 공급자는 TCP 프록시 V2를 사용하여 서비스 소비자에 대한 연결 정보를 검색할 수 있습니다. 서비스 공급자는 프록시 프로토콜 v2 헤더를 구문 분석할 수 있도록 수신기 구성을 설정해야 합니다.

세부 정보

  • Private Link 서비스는 모든 공용 지역의 승인된 프라이빗 엔드포인트에서 액세스할 수 있습니다. 프라이빗 엔드포인트는 동일한 가상 네트워크 및 지역적으로 피어링된 가상 네트워크에서 연결할 수 있습니다. 프라이빗 엔드포인트는 프라이빗 VPN 또는 ExpressRoute 연결을 사용하여 전역적으로 피어된 가상 네트워크 및 온-프레미스에서 연결할 수 있습니다.

  • Private Link 서비스를 생성하면 리소스의 수명 주기 동안 네트워크 인터페이스가 생성됩니다. 이 인터페이스는 고객이 관리할 수 없습니다.

  • Private Link 서비스는 가상 네트워크 및 표준 Load Balancer 동일한 지역에 배포해야 합니다.

  • 단일 Private Link 서비스는 다른 가상 네트워크, 구독 및/또는 Active Directory 테넌트에 속한 여러 프라이빗 엔드포인트에서 액세스할 수 있습니다. 연결은 연결 워크플로를 통해 설정됩니다.

  • 다른 프런트 엔드 IP 구성을 사용하여 동일한 표준 Load Balancer 여러 Private Link 서비스를 만들 수 있습니다. 표준 Load Balancer 및 구독당 만들 수 있는 Private Link 서비스 수에는 제한이 있습니다. 자세한 내용은 Azure 제한을 참조하세요.

  • Private Link 서비스에는 연결된 NAT IP 구성이 두 개 이상 있을 수 있습니다. 둘 이상의 NAT IP 구성을 선택하면 서비스 공급자의 크기를 조정하는 데 도움이 될 수 있습니다. 현재 서비스 공급자는 Private Link 서비스당 최대 8개의 NAT IP 주소를 할당할 수 있습니다. 각 NAT IP 주소를 사용하여 TCP 연결에 더 많은 포트를 할당하여 스케일 아웃할 수 있습니다. Private Link 서비스에 여러 NAT IP 주소를 추가한 후에는 NAT IP 주소를 삭제할 수 없습니다. 이 제한은 NAT IP 주소를 삭제하는 동안 활성 연결이 영향을 받지 않도록 하기 위해 적용됩니다.

Alias

별칭은 서비스에 대해 전역적으로 고유한 이름입니다. 서비스에 대한 고객 데이터를 마스킹하는 데 도움이 되며 동시에 서비스의 공유하기 쉬운 이름을 만듭니다. Private Link 서비스를 만들 때 Azure는 고객과 공유할 수 있는 서비스에 대한 별칭을 생성합니다. 고객은 이 별칭을 사용하여 서비스에 대한 연결을 요청할 수 있습니다.

별칭은 접두사라는 세 부분으로 구성됩니다.GUID입니다.접미사

  • 접두사는 서비스 이름입니다. 고유한 접두사를 선택할 수 있습니다. "별칭"을 만든 후에는 변경할 수 없으므로 접두사를 적절하게 선택합니다.

  • GUID는 플랫폼에서 제공됩니다. 이 GUID는 이름을 전역적으로 고유하게 만듭니다.

  • 접미사는 Azure에 의해 추가됩니다(예: region.azure.privatelinkservice).

전체 별칭: Prefix. {GUID}.region.azure.privatelinkservice

서비스 노출 제어

Private Link 서비스는 표시 유형 설정에서 서비스 노출을 제어할 수 있는 세 가지 옵션을 제공합니다. 가시성 설정은 소비자가 서비스에 연결할 수 있는지 여부를 결정합니다. 최대 제한에서 최소 제한까지 표시 유형 설정 옵션은 다음과 같습니다.

  • 역할 기반 액세스 제어 전용: 사용자가 소유한 다양한 가상 네트워크에서 서비스가 프라이빗 소비용으로 제공되는 경우 동일한 Active Directory 테넌트와 연결된 구독 내에서 역할 기반 액세스 제어를 사용합니다. 역할 기반 액세스 제어를 통해 테넌트 간 가시성이 허용됩니다.

  • 구독에 의해 제한됨: 여러 테넌트에서 서비스를 사용하는 경우 신뢰하는 제한된 구독 세트로 노출을 제한할 수 있습니다. 권한 부여는 사전 승인될 수 있습니다.

  • 별칭이 있는 모든 사용자: 서비스를 퍼블릭으로 설정하고 Private Link 서비스 별칭이 있는 모든 사용자가 연결을 요청할 수 있게 하려면 이 옵션을 선택합니다.

서비스 액세스 제어

Private Link 서비스에 노출된 소비자(표시 유형 설정에 의해 제어됨)는 자신의 가상 네트워크에 프라이빗 엔드포인트를 만들고 Private Link 서비스에 대한 연결을 요청할 수 있습니다. 프라이빗 엔드포인트 연결은 Private Link 서비스 개체에서 보류 중 상태로 생성됩니다. 서비스 공급자는 연결 요청에 대한 작업을 담당합니다. 연결을 승인하거나, 연결을 거부하거나, 연결을 삭제할 수 있습니다. 승인된 연결만 Private Link 서비스로 트래픽을 보낼 수 있습니다.

Private Link 서비스의 자동 승인 속성을 사용하여 연결을 승인하는 작업을 자동화할 수 있습니다. 자동 승인은 서비스 공급자가 서비스에 대한 자동화된 액세스를 위해 구독 집합을 사전 승인하는 기능입니다. 고객은 서비스 공급자가 자동 승인 목록에 추가하려면 오프라인으로 구독을 공유해야 합니다. 자동 승인은 표시 유형 배열의 하위 집합입니다.

표시 유형은 노출 설정을 제어하는 반면 자동 승인은 서비스에 대한 승인 설정을 제어합니다. 고객이 자동 승인 목록의 구독에서 연결을 요청하면 연결이 자동으로 승인되고 연결이 설정됩니다. 서비스 공급자는 요청을 수동으로 승인할 필요가 없습니다. 고객이 자동 승인 배열이 아닌 표시 유형 배열의 구독에서 연결을 요청하는 경우 요청은 서비스 공급자에게 전달됩니다. 서비스 공급자는 연결을 수동으로 승인해야 합니다.

TCP 프록시 v2를 사용하여 연결 정보 가져오기

프라이빗 링크 서비스에서 프라이빗 엔드포인트에서 들어오는 패킷의 원본 IP 주소는 공급자의 가상 네트워크에서 할당된 NAT IP를 사용하여 서비스 공급자 쪽에서 NAT(네트워크 주소 변환)입니다. 애플리케이션은 서비스 소비자의 실제 원본 IP 주소 대신 할당된 NAT IP 주소를 받습니다. 애플리케이션에 소비자 쪽의 실제 원본 IP 주소가 필요한 경우 서비스에서 프록시 프로토콜을 사용하도록 설정하고 프록시 프로토콜 헤더에서 정보를 검색할 수 있습니다. 프록시 프로토콜 헤더는 원본 IP 주소 외에도 프라이빗 엔드포인트의 LinkID를 전달합니다. 원본 IP 주소와 LinkID의 조합은 서비스 공급자가 소비자를 고유하게 식별하는 데 도움이 될 수 있습니다.

프록시 프로토콜에 대한 자세한 내용은 여기를 참조 하세요.

이 정보는 다음과 같이 사용자 지정 TLV(Type-Length-Value) 벡터를 사용하여 인코딩됩니다.

사용자 지정 TLV 세부 정보:

필드 길이(8진수) 설명
Type 1 PP2_TYPE_AZURE(0xEE)
Length 2 값의 길이
1 PP2_SUBTYPE_AZURE_PRIVATEENDPOINT_LINKID(0x01)
4 프라이빗 엔드포인트의 LINKID를 나타내는 UINT32(4바이트)입니다. little endian 형식으로 인코딩됩니다.

참고 항목

서비스 공급자는 프라이빗 링크 서비스에서 프록시 프로토콜을 사용하는 경우 사양에 따라 프록시 프로토콜 헤더를 구문 분석하도록 표준 부하 분산 장치 뒤에 있는 서비스를 구성할 책임이 있습니다. 프라이빗 링크 서비스에서 프록시 프로토콜 설정을 사용하도록 설정했지만 서비스 공급자의 서비스가 헤더를 구문 분석하도록 구성되지 않은 경우 요청이 실패합니다. 프라이빗 링크 서비스에서 설정을 사용하도록 설정하지 않은 상태에서 서비스 공급자의 서비스가 프록시 프로토콜 헤더를 필요로 하는 경우 요청이 실패합니다. 프록시 프로토콜 설정을 사용하도록 설정하면 프록시 프로토콜 헤더가 호스트에서 백 엔드 가상 머신으로의 HTTP/TCP 상태 프로브에도 포함됩니다. 클라이언트 정보는 헤더에 포함되지 않습니다.

PROXYv2(TLV) 프로토콜의 일부인 일치하는 LINKID는 속성 linkIdentifierPrivateEndpointConnection에서 찾을 수 있습니다.

자세한 내용은 Private Link Services API를 참조하세요.

제한 사항

다음은 Private Link 서비스를 사용할 때 알려진 제한 사항입니다.

  • 표준 Load Balancer 경우에만 지원됩니다. 기본 Load Balancer에서는 지원되지 않습니다.

  • 백 엔드 풀이 NIC에 의해 구성된 표준 Load Balancer 경우에만 지원됩니다. 백 엔드 풀이 IP 주소로 구성된 표준 Load Balancer 지원되지 않습니다.

  • IPv4 트래픽만 지원합니다.

  • TCP 및 UDP 트래픽만 지원합니다.

  • Private Link 서비스의 유휴 시간 제한은 5분(300초)입니다. 이 제한에 도달하지 않으려면 Private Link Service를 통해 연결하는 애플리케이션이 해당 시간보다 낮은 TCP Keepalives를 사용해야 합니다.

  • Azure Private Link Service에서 작동하려면 백 엔드 풀형식이 설정된 인바운드 NAT 규칙의 경우 부하 분산 규칙을 구성해야 합니다.

다음 단계