快速入门 - 使用 Azure CLI 创建专用终结点

创建并使用专用终结点安全连接到 Azure Web 应用以开始使用 Azure 专用链接。

在本快速入门中,创建 Azure 应用服务 Web 应用的专用终结点,然后部署虚拟机 (VM) 以测试专用连接。

你可以为各种 Azure 服务(例如 Azure SQL 和 Azure 存储)创建专用终结点。

在专用终结点快速入门中创建的资源的示意图。

先决条件

  • 具有活动订阅的 Azure 帐户。 如果还没有 Azure 帐户,请创建一个试用订阅

  • 部署在 Azure 订阅中且支持 PremiumV2 层或更高版本应用服务计划的 Azure Web 应用。

  • 如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI

    • 如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录

    • 出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展

    • 运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade

创建资源组

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

首先使用 az group create 创建资源组:

az group create \
    --name test-rg \
    --location chinanorth3

创建虚拟网络和堡垒主机

需要使用一个虚拟网络和子网来托管专用终结点的专用 IP 地址。 你要创建一个堡垒主机,以安全连接到虚拟机来测试专用终结点。 你要在后面的部分创建该虚拟机。

注意

每小时定价从部署 Bastion 的时刻开始计算,无论出站数据的使用情况如何。 有关详细信息,请参阅定价SKU。 如果要将 Bastion 部署为教程或测试的一部分,建议在使用完此资源后将其删除。

使用 az network vnet create 创建虚拟网络。

az network vnet create \
    --resource-group test-rg \
    --location chinanorth3 \
    --name vnet-1 \
    --address-prefixes 10.0.0.0/16 \
    --subnet-name subnet-1 \
    --subnet-prefixes 10.0.0.0/24

使用 az network vnet subnet create 创建堡垒子网。

az network vnet subnet create \
    --resource-group test-rg \
    --name AzureBastionSubnet \
    --vnet-name vnet-1 \
    --address-prefixes 10.0.1.0/26

使用 az network public-ip create 为堡垒主机创建公共 IP 地址。

az network public-ip create \
    --resource-group test-rg \
    --name public-ip \
    --sku Standard \
    --zone 1 2 3

使用 az network bastion create 创建堡垒主机。

az network bastion create \
    --resource-group test-rg \
    --name bastion \
    --public-ip-address public-ip \
    --vnet-name vnet-1 \
    --location chinanorth3

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

创建专用终结点

需要使用一个支持专用终结点的 Azure 服务来设置专用终结点和连接到虚拟网络。 对于本文中的示例,请使用先决条件中提到的 Azure Web 应用。 有关支持专用终结点的 Azure 服务的详细信息,请参阅 Azure 专用链接可用性

专用终结点可以有静态或动态分配的 IP 地址。

重要

必须事先部署 Azure 应用服务 Web 应用才能继续执行本文中的步骤。 有关详细信息,请参阅先决条件

使用 az webapp list 将之前创建的 Web 应用的资源 ID 放入 shell 变量中。 使用 az network private-endpoint create 创建专用终结点。

id=$(az webapp list \
    --resource-group test-rg \
    --query '[].[id]' \
    --output tsv)

az network private-endpoint create \
    --connection-name connection-1 \
    --name private-endpoint \
    --private-connection-resource-id $id \
    --resource-group test-rg \
    --subnet subnet-1 \
    --group-id sites \
    --vnet-name vnet-1    

配置专用 DNS 区域

专用 DNS 区域用于解析虚拟网络中专用终结点的 DNS 名称。 对于此示例,我们将使用 Azure Web 应用的 DNS 信息。有关专用终结点的 DNS 配置的详细信息,请参阅 Azure 专用终结点 DNS 配置

使用 az network private-dns zone create 创建新的专用 Azure DNS 区域。

az network private-dns zone create \
    --resource-group test-rg \
    --name "privatelink.chinacloudsites.cn"

使用 az network private-dns link vnet create 将 DNS 区域链接到之前创建的虚拟网络。

az network private-dns link vnet create \
    --resource-group test-rg \
    --zone-name "privatelink.chinacloudsites.cn" \
    --name dns-link \
    --virtual-network vnet-1 \
    --registration-enabled false

使用 az network private-endpoint dns-zone-group create 创建 DNS 区域组。

az network private-endpoint dns-zone-group create \
    --resource-group test-rg \
    --endpoint-name private-endpoint \
    --name zone-group \
    --private-dns-zone "privatelink.chinacloudsites.cn" \
    --zone-name webapp

创建测试虚拟机

若要验证静态 IP 地址和专用终结点的功能,需要将一个测试虚拟机连接到虚拟网络。

使用 az vm create 创建虚拟机。

az vm create \
    --resource-group test-rg \
    --name vm-1 \
    --image Win2022Datacenter \
    --public-ip-address "" \
    --vnet-name vnet-1 \
    --subnet subnet-1 \
    --admin-username azureuser \
    --admin-password <Your_Password_Placeholder>

注意

虚拟网络中具有堡垒主机的虚拟机不需要公共 IP 地址。 Bastion 提供公共 IP,虚拟机使用专用 IP 在网络中进行通信。 可以从堡垒托管的虚拟网络的任何虚拟机中删除公共 IP。 有关详细信息,请参阅 将公共 IP 地址与 Azure VM 取消关联

注意

Azure 会为未分配公共 IP 地址的 VM 或位于内部基本 Azure 负载均衡器的后端池中的 VM 提供默认出站访问 IP。 默认出站访问 IP 机制会提供不可配置的出站 IP 地址。

发生以下事件之一时,将禁用默认出站访问 IP:

  • 将公共 IP 地址分配给 VM。
  • 虚拟机被放置在标准负载平衡器的后端池中,有无出站规则均可。
  • 向虚拟机的子网分配了 Azure 虚拟网络 NAT 网关 资源。

在灵活业务流程模式下通过使用虚拟机规模集创建的 VM 没有默认的出站访问权限。

有关 Azure 中的出站连接的详细信息,请参阅 Azure 中的默认出站访问权限使用用于出站连接的源网络地址转换 (SNAT)

测试到专用终结点的连接

使用之前创建的虚拟机,通过专用终结点连接到 Web 应用。

  1. 在门户顶部的搜索框中,输入“虚拟机”。 选择“虚拟机”。

  2. 选择 vm-1

  3. vm-1 的“概述”页中,选择“连接”,然后选择“堡垒”选项卡。

  4. 选择“使用 Bastion”。

  5. 输入创建 VM 时使用的用户名和密码。

  6. 选择“连接”。

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

  8. 输入 nslookup webapp-1.chinacloudsites.cn。 你会收到类似于以下示例的消息:

    Server:  UnKnown
    Address:  168.63.129.16
    
    Non-authoritative answer:
    Name:    webapp-1.privatelink.chinacloudsites.cn
    Address:  10.0.0.10
    Aliases:  webapp-1.chinacloudsites.cn
    

    如果在前面的步骤中选择了静态 IP 地址,则会为 Web 应用程序名称返回专用 IP 地址 10.0.0.10。 此地址位于你之前创建的虚拟网络的子网中。

  9. 在与 vm-1 的堡垒连接中,打开 Web 浏览器。

  10. 输入 Web 应用的 URL,即 https://webapp-1.chinacloudsites.cn

    如果你的 Web 应用尚未部署,你会看到以下默认 Web 应用页:

    浏览器上的默认Web 应用页面的屏幕截图。

  11. 关闭到 vm-1 的连接。

清理资源

如果不再需要资源组、专用链接服务、负载均衡器和所有相关的资源,使用 az group delete 命令将它们删除。

  az group delete \
    --name test-rg

后续步骤

要详细了解支持专用终结点的服务,请参阅: