你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:使用 Azure PowerShell 创建专用终结点

使用专用终结点安全连接到 Azure 证明以开始使用 Azure 专用链接。

在本快速入门中,你将为 Azure 证明创建专用终结点,并部署虚拟机以测试专用连接。

注意

当前实现仅包括自动审批选项。 必须将订阅添加到允许列表才能继续创建专用终结点。 在继续执行以下步骤之前,请联系服务团队,或者在 Azure 支持页上提交 Azure 支持请求。

必备条件

创建资源组

Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。

使用 New-AzResourceGroup 创建资源组:

## Create to your Azure account subscription and create a resource group in a desired location. ##
Connect-AzAccount
Set-AzSubscription "mySubscription"
$rg = "CreateAttestationPrivateLinkTutorial-rg"
$loc= "eastus"
New-AzResourceGroup -Name $rg -Location $loc

创建虚拟网络和堡垒主机

在本部分中,你将创建虚拟网络、子网和堡垒主机。

堡垒主机将用于安全地连接到虚拟机,以测试专用终结点。

使用以下命令创建虚拟网络和堡垒主机:

## Create backend subnet config. ##
$subnetConfig = New-AzVirtualNetworkSubnetConfig -Name myBackendSubnet -AddressPrefix 10.0.0.0/24

## Create Azure Bastion subnet. ##
$bastsubnetConfig = New-AzVirtualNetworkSubnetConfig -Name AzureBastionSubnet -AddressPrefix 10.0.1.0/24

## Create the virtual network. ##
$vnet = New-AzVirtualNetwork -Name "myAttestationTutorialVNet" -ResourceGroupName $rg -Location $loc -AddressPrefix "10.0.0.0/16" -Subnet $subnetConfig, $bastsubnetConfig

## Create public IP address for bastion host. ##
$publicip = New-AzPublicIpAddress -Name "myBastionIP" -ResourceGroupName $rg -Location $loc -Sku "Standard" -AllocationMethod "Static"

## Create bastion host ##
New-AzBastion -ResourceGroupName $rg -Name "myBastion" -PublicIpAddress $publicip -VirtualNetwork $vnet

部署 Azure Bastion 主机需要几分钟时间。

创建测试虚拟机

在本部分中,你将创建将用来测试专用终结点的虚拟机。

使用以下内容创建虚拟机:

## Set credentials for server admin and password. ##
$cred = Get-Credential

## Command to create network interface for VM ##
$nicVM = New-AzNetworkInterface -Name "myNicVM" -ResourceGroupName $rg -Location $loc -Subnet $vnet.Subnets[0] 

## Create a virtual machine configuration.##
$vmConfig = New-AzVMConfig -VMName "myVM" -VMSize "Standard_DS1_v2" | Set-AzVMOperatingSystem -Windows -ComputerName "myVM" -Credential $cred | Set-AzVMSourceImage -PublisherName "MicrosoftWindowsServer" -Offer "WindowsServer" -Skus "2019-Datacenter" -Version "latest" | Add-AzVMNetworkInterface -Id $nicVM.Id 

## Create the virtual machine ##
New-AzVM -ResourceGroupName $rg -Location $loc -VM $vmConfig

创建证明提供程序

## Create an attestation provider ##
$attestationProviderName = "myattestationprovider"
$attestationProvider = New-AzAttestation -Name $attestationProviderName -ResourceGroupName $rg -Location $loc
$attestationProviderId = $attestationProvider.Id

从本地计算机访问证明提供程序

输入 nslookup <provider-name>.attest.azure.net。 将 <provider-name> 替换为你在前面的步骤中创建的证明提供程序实例的名称。

## Access the attestation provider from local machine ##
nslookup myattestationprovider.eus.attest.azure.net

<# You'll receive a message similar to what is displayed below:

Server:  cdns01.comcast.net
Address:  2001:558:feed::1

Non-authoritative answer:
Name:    eus.service.attest.azure.net
Address:  20.62.219.160
Aliases:  myattestationprovider.eus.attest.azure.net
	attesteusatm.trafficmanager.net

#>

创建专用终结点

在本部分中,你将使用以下命令创建专用终结点和连接:

## Create private endpoint connection. ##
$privateEndpointConnection = New-AzPrivateLinkServiceConnection -Name "myConnection" -PrivateLinkServiceId $attestationProviderId -GroupID "Standard"

## Disable private endpoint network policy ##
$vnet.Subnets[0].PrivateEndpointNetworkPolicies = "Disabled" 
$vnet | Set-AzVirtualNetwork

## Create private endpoint
New-AzPrivateEndpoint  -ResourceGroupName $rg -Name "myPrivateEndpoint" -Location $loc -Subnet $vnet.Subnets[0] -PrivateLinkServiceConnection $privateEndpointConnection

配置专用 DNS 区域

在本部分中,你将使用以下命令创建和配置专用 DNS 区域:

## Create private dns zone. ##
$zone = New-AzPrivateDnsZone -ResourceGroupName $rg -Name "privatelink.attest.azure.net"

## Create dns network link. ##
$link = New-AzPrivateDnsVirtualNetworkLink -ResourceGroupName $rg -ZoneName "privatelink.attest.azure.net" -Name "myLink" -VirtualNetworkId $vnet.Id

## Create DNS configuration ##
$config = New-AzPrivateDnsZoneConfig -Name "privatelink.attest.azure.net" -PrivateDnsZoneId $zone.ResourceId

## Create DNS zone group. ##
New-AzPrivateDnsZoneGroup -ResourceGroupName $rg -PrivateEndpointName "myPrivateEndpoint" -Name "myZoneGroup" -PrivateDnsZoneConfig $config

测试到专用终结点的连接

本部分将使用在上一步骤中创建的虚拟机通过专用终结点连接到 SQL 服务器。

  1. 登录 Azure 门户

  2. 在左侧导航窗格中选择“资源组”。

  3. 选择 CreateAttestationPrivateLinkTutorial-rg。

  4. 选择“myVM”。

  5. myVM的“概述”页上,选择“连接”,然后选择“堡垒”。

  6. 选择蓝色的“使用堡垒”按钮。

  7. 输入在创建虚拟机期间输入的用户名和密码。

  8. 连接后,在服务器上打开 Windows PowerShell。

  9. 输入 nslookup <provider-name>.attest.azure.net。 将 <provider-name> 替换为你在前面的步骤中创建的证明提供程序实例的名称:

    ## Access the attestation provider from local machine ##
    nslookup myattestationprovider.eus.attest.azure.net
    
    <# You'll receive a message similar to what is displayed below:
    
    Server:  cdns01.comcast.net
    Address:  2001:558:feed::1
        cdns01.comcast.net can't find myattestationprovider.eus.attest.azure.net: Non-existent domain
    
    #>
    
    ## Access the attestation provider from the VM created in the same virtual network as the private endpoint.   ##
    nslookup myattestationprovider.eus.attest.azure.net
    
    <# You'll receive a message similar to what is displayed below:
    
    Server:  UnKnown
    Address:  168.63.129.16
    Non-authoritative answer:
    Name:    myattestationprovider.eastus.test.attest.azure.net
    
    #>