프라이빗 엔드포인트란?

프라이빗 엔드포인트는 가상 네트워크의 개인 IP 주소를 사용하는 네트워크 인터페이스입니다. 프라이빗 엔드포인트는 Azure Private Link에서 제공하는 서비스에 비공개로 안전하게 연결합니다. 프라이빗 엔드포인트를 사용하도록 설정하면 서비스를 가상 네트워크로 가져올 수 있습니다.

서비스는 다음과 같은 Azure 서비스일 수 있습니다.

  • Azure Storage
  • Azure Cosmos DB
  • Azure SQL Database
  • Private Link 서비스를 사용하는 자체 서비스입니다.

프라이빗 엔드포인트 속성

프라이빗 엔드포인트는 다음 속성을 지정합니다.

속성 설명
이름 리소스 그룹의 고유한 이름입니다.
서브넷 배포할 서브넷 및 개인 IP 주소가 할당되는 위치입니다. 서브넷 요구 사항은 이 문서의 뒷부분에 있는 제한 사항 섹션을 참조하세요.
프라이빗 링크 리소스 사용 가능한 형식 목록에서 리소스 ID 또는 별칭을 사용하여 연결할 프라이빗 링크 리소스입니다. 이 리소스로 전송되는 모든 트래픽에 대해 고유한 네트워크 식별자가 생성됩니다.
대상 하위 리소스 연결할 하위 리소스입니다. 각 프라이빗 링크 리소스 종류에는 기본 설정에 따라 선택할 수 있는 다양한 옵션이 있습니다.
연결 승인 방법 자동 또는 수동. Azure 역할 기반 액세스 제어 권한에 따라 프라이빗 엔드포인트가 자동으로 승인될 수 있습니다. Azure 역할 기반 사용 권한 없이 프라이빗 링크 리소스에 연결하는 경우 수동 메서드를 사용하여 리소스 소유자가 연결을 승인할 수 있도록 합니다.
메시지 요청 요청된 연결에 대한 메시지가 수동으로 승인되도록 지정할 수 있습니다. 이 메시지는 특정 요청을 식별하는 데 사용할 수 있습니다.
연결 상태 프라이빗 엔드포인트가 활성 상태인지 여부를 지정하는 읽기 전용 속성입니다. 승인된 상태의 프라이빗 엔드포인트만 트래픽을 보내는 데 사용할 수 있습니다. 사용 가능한 추가 상태:
  • 승인됨: 연결이 자동 또는 수동으로 승인되었으며, 사용할 준비가 되었습니다.
  • 보류 중: 연결이 수동으로 만들어지고, 프라이빗 링크 리소스 소유자의 승인이 보류 중입니다.
  • 거부됨: Private Link 리소스 소유자가 연결을 거부했습니다.
  • 연결 끊김: Private Link 리소스 소유자가 연결을 제거했습니다. 프라이빗 엔드포인트는 정보형으로 지정되며 정리를 위해 삭제해야 합니다.
  • 프라이빗 엔드포인트를 만들 때 다음을 고려합니다.

    • 프라이빗 엔드포인트를 사용하면 동일한 고객 간에 연결이 가능합니다.

      • 가상 네트워크
      • 지역적으로 피어링된 가상 네트워크
      • 전역적으로 피어링된 가상 네트워크
      • VPN 또는 Express Route를 사용하는 온-프레미스 환경
      • Private Link에서 제공하는 서비스
    • 네트워크 연결은 프라이빗 엔드포인트에 연결하는 클라이언트에서만 시작할 수 있습니다. 서비스 공급자는 서비스 고객에 대한 연결을 만들기 위한 라우팅 구성이 없습니다. 연결은 단일 방향으로만 설정할 수 있습니다.

    • 프라이빗 엔드포인트의 수명 주기에 대해 읽기 전용 네트워크 인터페이스가 자동으로 만들어집니다. 이 인터페이스에는 프라이빗 링크 리소스에 매핑되는 서브넷의 동적 개인 IP 주소가 할당됩니다. 프라이빗 IP 주소의 값은 프라이빗 엔드포인트의 전체 수명 주기 동안 변경되지 않고 유지됩니다.

    • 프라이빗 엔드포인트는 가상 네트워크와 동일한 지역 및 구독에 배포되어야 합니다.

    • 프라이빗 링크 리소스는 가상 네트워크 및 프라이빗 엔드포인트의 지역이 아닌 다른 지역에 배포할 수 있습니다.

    • 동일한 프라이빗 링크 리소스를 사용하여 여러 프라이빗 엔드포인트를 만들 수 있습니다. 일반적인 DNS 서버 구성을 사용하는 단일 네트워크의 경우 지정된 프라이빗 링크 리소스에 단일 프라이빗 엔드포인트를 사용하는 것이 좋습니다. DNS 확인 시 중복 항목 또는 충돌을 방지하려면 이 방법을 사용합니다.

    • 동일한 가상 네트워크 내에서 동일하거나 다른 서브넷에 여러 프라이빗 엔드포인트를 만들 수 있습니다. 하나의 구독에서 만들 수 있는 프라이빗 엔드포인트 수는 제한됩니다. 자세한 내용은 Azure 제한을 참조하세요.

    • 프라이빗 링크 리소스를 포함하는 구독은 Micosoft 네트워크 리소스 공급자에 등록해야 합니다. 프라이빗 엔드포인트를 포함하는 구독은 Micosoft 네트워크 리소스 공급자에도 등록해야 합니다. 자세한 내용은 Azure Resource Providers를 참조하세요.

    프라이빗 링크 리소스는 지정된 프라이빗 엔드포인트의 대상입니다. 다음 표에는 프라이빗 엔드포인트를 지원하는 사용 가능한 리소스를 나와 있습니다.

    프라이빗 링크 리소스 이름 리소스 종류 하위 리소스
    Application Gateway Microsoft.Network/applicationgateways 프런트 엔드 IP 구성 이름
    Azure AI 서비스 Microsoft.CognitiveServices/accounts 거래처
    Azure API for FHIR(전자 의료 기록 교환). Microsoft.HealthcareApis/services FHIR
    Azure App Configuration Microsoft.Appconfiguration/configurationStores configurationStores
    Azure App Service Microsoft.Web/hostingEnvironments 호스팅 환경
    Azure App Service Microsoft.Web/sites sites
    Azure Automation Microsoft.Automation/automationAccounts 웹후크, DSCAndHybridWorker
    Azure Backup Microsoft.RecoveryServices/vaults AzureBackup, AzureSiteRecovery
    Azure Batch Microsoft.Batch/batchAccounts batchAccount, nodeManagement
    Azure Cache for Redis Microsoft.Cache/Redis redisCache
    Azure Cache for Redis Enterprise Microsoft.Cache/redisEnterprise redisEnterprise
    Azure AI 검색 Microsoft.Search/searchServices searchService
    Azure Container Registry Microsoft.ContainerRegistry/registries 사용된
    Azure Cosmos DB Microsoft.AzureCosmosDB/databaseAccounts SQL, MongoDB, Cassandra, Gremlin, Table
    Azure Cosmos DB for PostgreSQL Microsoft.DBforPostgreSQL/serverGroupsv2 코디네이터
    Azure Cosmos DB for MongoDB vCore Microsoft.DocumentDb/mongoClusters mongoCluster
    Azure Data Explorer Microsoft.Kusto/clusters cluster
    Azure Data Factory Microsoft.DataFactory/factories dataFactory
    Azure Database for MariaDB Microsoft.DBforMariaDB/servers mariadbServer
    Azure Database for MySQL - 단일 서버 Microsoft.DBforMySQL/servers mysqlServer
    Azure Database for MySQL - 유연한 서버 Microsoft.DBforMySQL/flexibleServers mysqlServer
    Azure Database for PostgreSQL - 단일 서버 Microsoft.DBforPostgreSQL/servers postgresqlServer
    Azure Databricks Microsoft.Databricks/workspaces databricks_ui_api, browser_authentication
    Azure Device Provisioning Service Microsoft.Devices/provisioningServices iotDps
    Azure Digital Twins Microsoft.DigitalTwins/digitalTwinsInstances API
    Azure Event Grid Microsoft.EventGrid/domains 도메인
    Azure Event Grid Microsoft.EventGrid/topics 토픽
    Azure Event Hub Microsoft.EventHub/namespaces namespace
    Azure 파일 동기화 microsoft.storagesync/storageSyncServices 파일 동기화 서비스
    Azure HDInsight Microsoft.HDInsight/clusters cluster
    Azure IoT Central Microsoft.IoTCentral/IoTApps IoTApps
    Azure IoT Hub Microsoft.Devices/IotHubs iotHub
    Azure Key Vault Microsoft.KeyVault/vaults 자격 증명 모음
    Azure Key Vault HSM(하드웨어 보안 모듈) Microsoft.Keyvault/managedHSMs HSM
    Azure Kubernetes Service - Kubernetes API Microsoft.ContainerService/managedClusters 관리
    Azure Machine Learning Microsoft.MachineLearningServices/registries amlregistry
    Azure Machine Learning Microsoft.MachineLearningServices/workspaces amlworkspace
    Azure Managed Disks Microsoft.Compute/diskAccesses 관리 디스크
    Azure Media Services Microsoft.Media/mediaservices keydelivery, liveevent, streamingendpoint
    Azure Migrate Microsoft.Migrate/assessmentProjects project
    Azure Monitor Private Link 범위 Microsoft.Insights/privatelinkscopes azuremonitor
    Azure Relay Microsoft.Relay/namespaces namespace
    Azure Service Bus Microsoft.ServiceBus/namespaces namespace
    Azure SignalR Service Microsoft.SignalRService/SignalR signalr
    Azure SignalR Service Microsoft.SignalRService/webPubSub webpubsub
    Azure SQL Database Microsoft.Sql/servers SQL Server(sqlServer)
    Azure SQL Managed Instance Microsoft.Sql/managedInstances managedInstance
    Azure Static Web Apps Microsoft.Web/staticSites staticSites
    Azure Storage Microsoft.Storage/storageAccounts Blob(blob, blob_secondary)
    Table(table, table_secondary)
    큐(queue, queue_secondary)
    파일(file, file_secondary)
    웹(web, web_secondary)
    DFS(dfs, dfs_secondary)
    Azure Synapse Microsoft.Synapse/privateLinkHubs web
    Azure Synapse Analytics Microsoft.Synapse/workspaces Sql, SqlOnDemand, Dev
    Azure Virtual Desktop - 호스트 풀 Microsoft.DesktopVirtualization/hostpools connection
    Azure Virtual Desktop - 작업 영역 Microsoft.DesktopVirtualization/workspaces 피드
    global
    Device Update for IoT Hub Microsoft.DeviceUpdate/accounts DeviceUpdate
    Microsoft Purview Microsoft.Purview/accounts 거래처
    Microsoft Purview Microsoft.Purview/accounts 포털
    Power BI Microsoft.PowerBI/privateLinkServicesForPowerBI Power BI
    프라이빗 링크 서비스(사용자 고유의 서비스) Microsoft.Network/privateLinkServices empty
    리소스 관리 프라이빗 링크 Microsoft.Authorization/resourceManagementPrivateLinks ResourceManagement

    참고 항목

    범용 v2(GPv2) 스토리지 계정에서만 프라이빗 엔드포인트를 만들 수 있습니다.

    프라이빗 엔드포인트의 네트워크 보안

    프라이빗 엔드포인트를 사용하는 경우 트래픽은 프라이빗 링크 리소스로 보호됩니다. 플랫폼은 네트워크 연결의 유효성을 검사하여 지정된 프라이빗 링크 리소스에 도달하는 연결만 허용합니다. 동일한 Azure 서비스 내에서 더 많은 하위 리소스에 액세스하려면 해당 대상이 있는 더 많은 프라이빗 엔드포인트가 필요합니다. 예를 들어 Azure Storage 경우 파일blob 하위 리소스에 액세스하려면 별도의 프라이빗 엔드포인트가 필요합니다.

    프라이빗 엔드포인트는 Azure 서비스에 비공개로 액세스할 수 있는 IP 주소를 제공하지만 공용 네트워크 액세스를 반드시 제한하지는 않습니다. 그러나 다른 모든 Azure 서비스에는 추가 액세스 제어가 필요합니다. 이러한 컨트롤은 리소스에 추가 네트워크 보안 계층을 제공하여 프라이빗 링크 리소스와 연결된 Azure 서비스에 대한 액세스를 방지하는 데 도움이 되는 보호를 제공합니다.

    프라이빗 엔드포인트는 네트워크 정책을 지원합니다. 네트워크 정책을 사용하면 NSG(네트워크 보안 그룹), UDR(사용자 정의 경로) 및 ASG(애플리케이션 보안 그룹)를 지원할 수 있습니다. 프라이빗 엔드포인트에 대한 네트워크 정책을 사용하도록 설정하는 방법에 대한 자세한 내용은 프라이빗 엔드포인트에 대한 네트워크 정책 관리를 참조하세요. 프라이빗 엔드포인트에서 ASG를 사용하려면 프라이빗 엔드포인트를 사용하여 ASG(애플리케이션 보안 그룹) 구성을 참조하세요.

    다음 연결 승인 방법을 사용하여 프라이빗 링크 리소스에 연결할 수 있습니다.

    • 자동 승인: 사용자가 특정 프라이빗 링크 리소스를 소유하거나 권한이 있는 경우 이 방법을 사용합니다. 필요한 권한은 다음 형식의 프라이빗 링크 리소스 종류를 기준으로 합니다.

      Microsoft.<Provider>/<resource_type>/privateEndpointConnectionsApproval/action

    • 수동 요청: 필요한 사용 권한이 없고 액세스를 요청하려는 경우 이 방법을 사용합니다. 승인 워크플로가 시작됩니다. 프라이빗 엔드포인트와 이후의 프라이빗 엔드포인트 연결은 보류 중 상태로 만들어집니다. Private Link 리소스 소유자가 연결을 승인해야 합니다. 승인된 후 다음 승인 워크플로 다이어그램에 표시된 것처럼 프라이빗 엔드포인트가 트래픽을 정상적으로 보낼 수 있습니다.

    워크플로 승인 프로세스의 다이어그램

    프라이빗 엔드포인트 연결을 통해 프라이빗 링크 리소스 소유자는 다음을 수행할 수 있습니다.

    • 모든 프라이빗 엔드포인트 연결 세부 정보를 검토합니다.
    • 프라이빗 엔드포인트 연결을 승인합니다. 해당 프라이빗 엔드포인트는 트래픽을 프라이빗 링크 리소스로 보낼 수 있도록 사용하도록 설정됩니다.
    • 프라이빗 엔드포인트 연결을 거부합니다. 해당 프라이빗 엔드포인트는 상태를 반영하도록 업데이트됩니다.
    • 모든 상태의 프라이빗 엔드포인트 연결을 삭제합니다. 해당 프라이빗 엔드포인트는 작업을 반영하기 위해 연결이 끊긴 상태로 업데이트됩니다. 프라이빗 엔드포인트 소유자는 이 시점에서만 리소스를 삭제할 수 있습니다.

    참고 항목

    승인됨 상태의 프라이빗 엔드포인트만 지정된 프라이빗 링크 리소스에 트래픽을 보낼 수 있습니다.

    별칭을 사용하여 연결

    별칭은 서비스 소유자가 표준 부하 분산 장치 뒤에 프라이빗 링크 서비스를 만들 때 생성되는 고유한 모니커입니다. 서비스 소유자는 이 별칭을 서비스 소비자와 오프라인으로 공유할 수 있습니다.

    소비자는 리소스 URI 또는 별칭을 사용하여 프라이빗 링크 서비스에 대한 연결을 요청할 수 있습니다. 별칭을 사용하여 연결하려면 수동 연결 승인 방법을 사용하여 프라이빗 엔드포인트를 만듭니다. 수동 연결 승인 방법을 사용하려면 프라이빗 엔드포인트 만들기 흐름에서 수동 요청 매개 변수를 True로 설정합니다. 자세한 내용은 New-AzPrivateEndpointaz network private-endpoint create를 참조하세요.

    참고 항목

    소비자의 구독이 공급자 쪽에 허용 목록에 있는 경우 이 수동 요청을 자동으로 승인할 수 있습니다. 자세한 내용을 보려면 서비스 액세스 제어로 이동하세요.

    DNS 구성

    프라이빗 링크 리소스에 연결하는 데 사용하는 DNS 설정이 중요합니다. 기존 Azure 서비스에는 공용 엔드포인트를 통해 연결할 때 사용할 DNS 구성이 이미 있을 수 있습니다. 프라이빗 엔드포인트를 통해 동일한 서비스에 연결하려면 프라이빗 DNS 영역을 통해 구성되는 별도의 DNS 설정이 필요합니다. 연결에 FQDN(정규화된 도메인 이름)을 사용하는 경우 DNS 설정이 올바른지 확인합니다. 프라이빗 엔드포인트의 개인 IP 주소를 확인하려면 DNS 구성을 변경합니다.

    프라이빗 엔드포인트와 연결된 네트워크 인터페이스에는 DNS를 구성하는 데 필요한 정보가 포함되어 있습니다. 이 정보에는 프라이빗 링크 리소스에 대한 FQDN 및 개인 IP 주소가 포함됩니다.

    프라이빗 엔드포인트에 대한 DNS 구성 권장 사항에 대한 자세한 내용은 프라이빗 엔드포인트 DNS 구성을 참조하세요.

    제한 사항

    다음 정보에는 프라이빗 엔드포인트 사용에 대한 알려진 제한 사항이 나와 있습니다.

    고정 IP 주소

    제한 사항 설명
    고정 IP 주소 구성은 현재 지원되지 않습니다. Azure Kubernetes Service (AKS)
    Azure Application Gateway
    HD Insight
    Recovery Services Vaults
    타사 Private Link 서비스

    네트워크 보안 그룹

    제한 사항 설명
    프라이빗 엔드포인트 네트워크 인터페이스에서 유효 경로 및 보안 규칙을 사용할 수 없습니다. 유효 경로 및 보안 규칙이 Azure Portal에서 프라이빗 엔드포인트 NIC에 대해 표시되지 않습니다.
    NSG 흐름 로그가 지원되지 않습니다. NSG 흐름 로그를 프라이빗 엔드포인트로 향하는 인바운드 트래픽에 대해 사용할 수 없습니다.
    애플리케이션 보안 그룹의 구성원이 50명 이내입니다. 50은 프라이빗 엔드포인트 서브넷에서 NSG에 연결되는 각 ASG에 연결할 수 있는 IP 구성 수입니다. 구성원이 50명을 초과하면 연결 오류가 발생할 수 있습니다.
    대상 포트 범위는 최대 250K까지 지원됩니다. 대상 포트 범위는 SourceAddressPrefixes, DestinationAddressPrefixes 및 DestinationPortRanges을 곱한 값으로 지원됩니다.

    인바운드 규칙 예:
    1개 원본 * 1개 대상 * 4K portRanges = 4K 유효
    10개 원본 * 10개 대상 * 10 portRanges = 1K 유효
    50개 원본 * 50개 대상 * 50portRanges = 125K 유효
    50개 원본 * 50개 대상 * 100portRanges = 250K 유효
    100개 원본 * 100개 대상 * 100portRanges = 1M 유효하지 않음, NSG에 원본/대상/포트가 너무 많습니다.
    원본 포트 필터링은 *로 해석됩니다. 원본 포트 필터링은 프라이빗 엔드포인트를 대상으로 하는 트래픽의 유효한 트래픽 필터링 시나리오로 사용되지 않습니다.
    일부 지역에서는 기능을 사용할 수 없습니다. 현재 다음 지역에서 사용할 수 없음:
    인도 서부
    오스트레일리아 중부 2
    남아프리카 공화국 서부
    브라질 남동부
    모든 정부 지역
    모든 중국 지역

    NSG 추가 고려 사항

    • 프라이빗 엔드포인트에서 거부된 아웃바운드 트래픽은 서비스 공급자가 트래픽을 생성할 수 없기 때문에 유효한 시나리오가 아닙니다.

    • 다음 서비스는 프라이빗 엔드포인트를 사용하고 NSG 보안 필터를 추가할 때 모든 대상 포트를 열어야 할 수 있습니다.

    UDR

    제한 사항 설명
    SNAT는 항상 권장됩니다. 프라이빗 엔드포인트 데이터 평면의 가변 특성 때문에 프라이빗 엔드포인트로 향하는 SNAT 트래픽을 사용하여 반환 트래픽이 유지되도록 하는 것이 좋습니다.
    일부 지역에서는 기능을 사용할 수 없습니다. 현재 다음 지역에서는 사용할 수 없습니다.
    인도 서부
    오스트레일리아 중부 2
    남아프리카 공화국 서부
    브라질 남동부

    애플리케이션 보안 그룹

    제한 사항 설명
    일부 지역에서는 기능을 사용할 수 없습니다. 현재 다음 지역에서는 사용할 수 없습니다.
    인도 서부
    오스트레일리아 중부 2
    남아프리카 공화국 서부
    브라질 남동부

    다음 단계