적용 대상: ✔️ Linux VM ✔️ 유연한 확장 집합
프라이빗 엔드포인트를 사용하여 관리 디스크의 내보내기 및 가져오기를 제한하고 Azure 가상 네트워크의 클라이언트에서 Private Link를 통해 데이터에 안전하게 액세스할 수 있습니다. 프라이빗 엔드포인트는 관리 디스크 서비스에 대한 가상 네트워크 주소 공간의 IP 주소를 사용합니다. 가상 네트워크의 클라이언트와 관리 디스크 간의 네트워크 트래픽은 가상 네트워크와 Microsoft 백본 네트워크의 프라이빗 링크를 통해서만 트래버스하므로 공용 인터넷에서 노출되지 않습니다.
프라이빗 링크를 사용하여 관리 디스크를 내보내거나 가져오려면 먼저 디스크 액세스 리소스를 만들고 프라이빗 엔드포인트를 만들어 동일한 구독의 가상 네트워크에 연결합니다. 그런 다음 디스크 또는 스냅샷을 디스크 액세스 인스턴스와 연결합니다. 마지막으로 디스크 또는 스냅샷의 NetworkAccessPolicy 속성을 .로 AllowPrivate설정합니다. 이렇게 하면 가상 네트워크에 대한 액세스가 제한됩니다.
NetworkAccessPolicy 속성을 설정하여 DenyAll 누구도 디스크 또는 스냅샷의 데이터를 내보내지 못하도록 할 수 있습니다. NetworkAccessPolicy 속성의 기본값은 .입니다 AllowAll.
제한점
- 동일한 디스크 액세스 리소스를 사용하여 동시에 100개 이상의 디스크 또는 스냅샷을 가져오거나 내보낼 수 없습니다.
- 디스크 액세스 리소스와 디스크 암호화 집합을 모두 사용하여 디스크에 업로드할 수 없습니다.
- 개별 디스크에 적용되는 크기 조정 대상 외에도 디스크 액세스 리소스에는 데이터 수신/송신을 중심으로 하는 더 많은 크기 조정 대상이 있습니다. 이러한 제한은 디스크 액세스 리소스와 연결된 모든 디스크에 누적적으로 적용됩니다. 자세한 내용은 여기를 참조 하세요.
구독에 로그인하고 변수 설정
subscriptionId=yourSubscriptionId
resourceGroupName=yourResourceGroupName
region=northcentralus
diskAccessName=yourDiskAccessForPrivateLinks
vnetName=yourVNETForPrivateLinks
subnetName=yourSubnetForPrivateLinks
privateEndPointName=yourPrivateLinkForSecureMDExportImport
privateEndPointConnectionName=yourPrivateLinkConnection
#The name of an existing disk which is the source of the snapshot
sourceDiskName=yourSourceDiskForSnapshot
#The name of the new snapshot which will be secured via Private Links
snapshotNameSecuredWithPL=yourSnapshotNameSecuredWithPL
az login
az account set --subscription $subscriptionId
Azure CLI를 사용하여 디스크 액세스 만들기
az disk-access create -n $diskAccessName -g $resourceGroupName -l $region
diskAccessId=$(az disk-access show -n $diskAccessName -g $resourceGroupName --query [id] -o tsv)
Virtual Network 만들기
NSG(네트워크 보안 그룹)와 같은 네트워크 정책은 프라이빗 엔드포인트에 대해 지원되지 않습니다. 지정된 서브넷에 프라이빗 엔드포인트를 배포하려면 해당 서브넷에 명시적 사용 안 함 설정이 필요합니다.
az network vnet create --resource-group $resourceGroupName \
--name $vnetName \
--subnet-name $subnetName
서브넷 프라이빗 엔드포인트 정책 사용 안 함
Azure는 가상 네트워크 내의 서브넷에 리소스를 배포하므로 프라이빗 엔드포인트 네트워크 정책을 사용하지 않도록 서브넷을 업데이트해야 합니다.
az network vnet subnet update --resource-group $resourceGroupName \
--name $subnetName \
--vnet-name $vnetName \
--disable-private-endpoint-network-policies true
디스크 액세스 개체에 대한 프라이빗 엔드포인트 만들기
az network private-endpoint create --resource-group $resourceGroupName \
--name $privateEndPointName \
--vnet-name $vnetName \
--subnet $subnetName \
--private-connection-resource-id $diskAccessId \
--group-ids disks \
--connection-name $privateEndPointConnectionName
프라이빗 DNS 영역 구성
스토리지 Blob 도메인에 대한 프라이빗 DNS 영역을 만들고, Virtual Network와 연결 링크를 만들고, 프라이빗 엔드포인트를 프라이빗 DNS 영역과 연결하는 DNS 영역 그룹을 만듭니다.
az network private-dns zone create --resource-group $resourceGroupName \
--name "privatelink.blob.core.windows.net"
az network private-dns link vnet create --resource-group $resourceGroupName \
--zone-name "privatelink.blob.core.windows.net" \
--name yourDNSLink \
--virtual-network $vnetName \
--registration-enabled false
az network private-endpoint dns-zone-group create \
--resource-group $resourceGroupName \
--endpoint-name $privateEndPointName \
--name yourZoneGroup \
--private-dns-zone "privatelink.blob.core.windows.net" \
--zone-name disks
프라이빗 링크로 보호되는 디스크 만들기
resourceGroupName=yourResourceGroupName
region=northcentralus
diskAccessName=yourDiskAccessName
diskName=yourDiskName
diskSkuName=Standard_LRS
diskSizeGB=128
diskAccessId=$(az resource show -n $diskAccessName -g $resourceGroupName --namespace Microsoft.Compute --resource-type diskAccesses --query [id] -o tsv)
az disk create -n $diskName \
-g $resourceGroupName \
-l $region \
--size-gb $diskSizeGB \
--sku $diskSkuName \
--network-access-policy AllowPrivate \
--disk-access $diskAccessId
프라이빗 링크로 보호된 디스크의 스냅샷 만들기
resourceGroupName=yourResourceGroupName
region=northcentralus
diskAccessName=yourDiskAccessName
sourceDiskName=yourSourceDiskForSnapshot
snapshotNameSecuredWithPL=yourSnapshotName
diskId=$(az disk show -n $sourceDiskName -g $resourceGroupName --query [id] -o tsv)
diskAccessId=$(az resource show -n $diskAccessName -g $resourceGroupName --namespace Microsoft.Compute --resource-type diskAccesses --query [id] -o tsv)
az snapshot create -n $snapshotNameSecuredWithPL \
-g $resourceGroupName \
-l $region \
--source $diskId \
--network-access-policy AllowPrivate \
--disk-access $diskAccessId
다음 단계
- Azure에 VHD 업로드 또는 관리 디스크를 다른 지역에 복사 - Azure CLI 또는 Azure PowerShell 모듈
- VHD 다운로드 - Windows 또는 Linux
- 프라이빗 링크에 대한 FAQ
- CLI를 사용하여 관리되는 스냅샷을 VHD로 다른 지역의 스토리지 계정으로 내보내기/복사