프라이빗 엔드포인트는 가상 네트워크의 개인 IP 주소를 사용하는 네트워크 인터페이스입니다. 프라이빗 엔드포인트는 Azure Private Link에서 제공하는 서비스에 비공개로 안전하게 연결합니다. 프라이빗 엔드포인트를 사용하도록 설정하면 서비스를 가상 네트워크로 가져올 수 있습니다.
서비스는 다음과 같은 Azure 서비스일 수 있습니다.
- Azure Storage
- Azure Cosmos DB
- Azure SQL Database
- Private Link 서비스를 사용하는 자체 서비스입니다.
프라이빗 엔드포인트 속성
프라이빗 엔드포인트는 다음 속성을 지정합니다.
이름 | 리소스 그룹의 고유한 이름입니다. |
서브넷 | 배포할 서브넷 및 개인 IP 주소가 할당되는 위치입니다. 서브넷 요구 사항은 이 문서의 뒷부분에 있는 제한 사항 섹션을 참조하세요. |
프라이빗 링크 리소스 | 사용 가능한 형식 목록에서 리소스 ID 또는 별칭을 사용하여 연결할 프라이빗 링크 리소스입니다. 이 리소스로 전송되는 모든 트래픽에 대해 고유한 네트워크 식별자가 생성됩니다. |
대상 하위 리소스 | 연결할 하위 리소스입니다. 각 프라이빗 링크 리소스 종류에는 기본 설정에 따라 선택할 수 있는 다양한 옵션이 있습니다. |
연결 승인 방법 | 자동 또는 수동. Azure 역할 기반 액세스 제어 권한에 따라 프라이빗 엔드포인트가 자동으로 승인될 수 있습니다. Azure 역할 기반 사용 권한 없이 프라이빗 링크 리소스에 연결하는 경우 수동 메서드를 사용하여 리소스 소유자가 연결을 승인할 수 있도록 합니다. |
메시지 요청 | 요청된 연결에 대한 메시지가 수동으로 승인되도록 지정할 수 있습니다. 이 메시지는 특정 요청을 식별하는 데 사용할 수 있습니다. |
연결 상태 | 프라이빗 엔드포인트가 활성 상태인지 여부를 지정하는 읽기 전용 속성입니다. 승인된 상태의 프라이빗 엔드포인트만 트래픽을 보내는 데 사용할 수 있습니다. 사용 가능한 추가 상태:
|
프라이빗 엔드포인트를 만들 때 다음을 고려합니다.
- 프라이빗 엔드포인트를 사용하면 동일한 고객 간에 연결이 가능합니다.
- 가상 네트워크
- 지역적으로 피어링된 가상 네트워크
- 전역적으로 피어링된 가상 네트워크
- VPN 또는 Express Route를 사용하는 온-프레미스 환경
- Private Link에서 제공하는 서비스
- 네트워크 연결은 프라이빗 엔드포인트에 연결하는 클라이언트에서만 시작할 수 있습니다. 서비스 공급자는 서비스 고객에 대한 연결을 만들기 위한 라우팅 구성이 없습니다. 연결은 단일 방향으로만 설정할 수 있습니다.
- 프라이빗 엔드포인트의 수명 주기에 대해 읽기 전용 네트워크 인터페이스가 자동으로 만들어집니다. 이 인터페이스에는 프라이빗 링크 리소스에 매핑되는 서브넷의 동적 개인 IP 주소가 할당됩니다. 프라이빗 IP 주소의 값은 프라이빗 엔드포인트의 전체 수명 주기 동안 변경되지 않고 유지됩니다.
- 프라이빗 엔드포인트는 가상 네트워크와 동일한 지역 및 구독에 배포되어야 합니다.
- 프라이빗 링크 리소스는 가상 네트워크 및 프라이빗 엔드포인트의 지역이 아닌 다른 지역에 배포할 수 있습니다.
- 동일한 프라이빗 링크 리소스를 사용하여 여러 프라이빗 엔드포인트를 만들 수 있습니다. 일반적인 DNS 서버 구성을 사용하는 단일 네트워크의 경우 지정된 프라이빗 링크 리소스에 단일 프라이빗 엔드포인트를 사용하는 것이 좋습니다. DNS 확인 시 중복 항목 또는 충돌을 방지하려면 이 방법을 사용합니다.
- 동일한 가상 네트워크 내에서 동일하거나 다른 서브넷에 여러 프라이빗 엔드포인트를 만들 수 있습니다. 하나의 구독에서 만들 수 있는 프라이빗 엔드포인트 수는 제한됩니다. 자세한 내용은 Azure 제한을 참조하세요.
- 프라이빗 링크 리소스를 포함하는 구독은 Micosoft 네트워크 리소스 공급자에 등록해야 합니다. 프라이빗 엔드포인트를 포함하는 구독은 Micosoft 네트워크 리소스 공급자에도 등록해야 합니다. 자세한 내용은 Azure Resource Providers를 참조하세요.
프라이빗 링크 리소스
프라이빗 링크 리소스는 지정된 프라이빗 엔드포인트의 대상입니다. 다음 표에는 프라이빗 엔드포인트를 지원하는 사용 가능한 리소스를 나와 있습니다.
Application Gateway | Microsoft.Network/applicationgateways | 프런트 엔드 IP 구성 이름 |
Azure AI 검색 | Microsoft.Search/searchServices | searchService |
Azure AI 서비스 | Microsoft.CognitiveServices/accounts | 거래처 |
Azure API for FHIR(전자 의료 기록 교환). | Microsoft.HealthcareApis/services | FHIR |
Azure API Management | Microsoft.ApiManagement/service | 게이트웨이 |
Azure App Configuration | Microsoft.Appconfiguration/configurationStores | configurationStores |
Azure App Service | Microsoft.Web/hostingEnvironments | 호스팅 환경 |
Azure App Service | Microsoft.Web/sites | sites |
Azure Attestation 서비스 | Microsoft.Attestation/attestationProviders | 표준 |
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 Container Registry | Microsoft.ContainerRegistry/registries | 사용된 |
Azure Cosmos DB | Microsoft.AzureCosmosDB/databaseAccounts | SQL, MongoDB, Cassandra, Gremlin, Table |
Azure Cosmos DB for MongoDB vCore | Microsoft.DocumentDb/mongoClusters | mongoCluster |
Azure Cosmos DB for PostgreSQL | Microsoft.DBforPostgreSQL/serverGroupsv2 | 코디네이터 |
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/flexibleServers | mysqlServer |
Azure Database for MySQL - 단일 서버 | Microsoft.DBforMySQL/servers | mysqlServer |
Azure Database for PostgreSQL – 유연한 서버 | Microsoft.DBforPostgreSQL/flexibleServers | postgresqlServer |
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.Logic/integrationAccounts | integrationAccount |
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-AzPrivateEndpoint 및 az 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 Third party 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 보안 필터를 추가할 때 모든 대상 포트를 열어야 할 수 있습니다.
- Azure Cosmos DB - 자세한 내용은 서비스 포트 범위를 참조하세요.
UDR
SNAT는 항상 권장됩니다. | 프라이빗 엔드포인트 데이터 평면의 가변 특성 때문에 프라이빗 엔드포인트로 향하는 SNAT 트래픽을 사용하여 반환 트래픽이 유지되도록 하는 것이 좋습니다. |
일부 지역에서는 기능을 사용할 수 없습니다. | 현재 다음 지역에서는 사용할 수 없습니다. 인도 서부 오스트레일리아 중부 2 남아프리카 공화국 서부 브라질 남동부 |
애플리케이션 보안 그룹
일부 지역에서는 기능을 사용할 수 없습니다. | 현재 다음 지역에서는 사용할 수 없습니다. 인도 서부 오스트레일리아 중부 2 남아프리카 공화국 서부 브라질 남동부 |
다음 단계
- 프라이빗 엔드포인트 및 Private Link에 대한 자세한 내용은 Azure Private Link란?을 참조하세요.
- 웹앱에 대한 프라이빗 엔드포인트 만들기를 시작하려면 빠른 시작: Azure Portal을 사용하여 프라이빗 엔드포인트 만들기를 참조하세요.
'IT이야기 > Azure' 카테고리의 다른 글
가상 네트워크 트래픽 라우팅 (0) | 2024.10.18 |
---|---|
가상 어플라이언스를 사용하여 네트워크 보안 (2) | 2024.10.18 |
Virtual Network 서비스 엔드포인트 (0) | 2024.10.18 |
Azure에 Palo Alto VM 시리즈 배포 (0) | 2024.10.18 |
Azure Private DNS (0) | 2024.10.18 |