你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:使用 Azure CLI 通过 Azure 专用终结点连接到 Azure SQL 服务器
Azure 专用终结点是 Azure 中专用链接的构建基块。 它使 Azure 资源(例如虚拟机 (VM))能够以私密方式来与专用链接资源通信。
本教程介绍如何执行下列操作:
- 创建虚拟网络和 Bastion 主机。
- 创建虚拟机。
- 创建 Azure SQL 服务器和专用终结点。
- 测试到 SQL 服务器专用终结点的连接。
必备条件
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
- 登录 Azure 门户,并通过运行
az login
来检查订阅是否处于活动状态。 - 通过运行
az --version
在终端或命令窗口中检查 Azure CLI 版本。 有关最新版本,请参阅最新发行说明。- 如果没有最新版本,请按照适用于你操作系统或平台的安装指南来更新安装。
创建资源组
Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。
使用 az group create 创建资源组:
- 命名为 CreateSQLEndpointTutorial-rg。
- 在位置“eastus”中。
az group create \
--name CreateSQLEndpointTutorial-rg \
--location eastus
创建虚拟网络和堡垒主机
在本部分,你将创建虚拟网络、子网和堡垒主机。
堡垒主机将用于安全地连接到虚拟机,以测试专用终结点。
使用 az network vnet create 创建虚拟网络
- 命名为“myVNet”。
- 地址前缀为 10.0.0.0/16。
- 子网命名为“myBackendSubnet”。
- 子网前缀为 10.0.0.0/24。
- 在 CreateSQLEndpointTutorial-rg 资源组中。
- eastus 的位置。
az network vnet create \
--resource-group CreateSQLEndpointTutorial-rg\
--location eastus \
--name myVNet \
--address-prefixes 10.0.0.0/16 \
--subnet-name myBackendSubnet \
--subnet-prefixes 10.0.0.0/24
更新子网,以使用 az network vnet subnet update 禁用专用终结点的专用终结点网络策略:
az network vnet subnet update \
--name myBackendSubnet \
--resource-group CreateSQLEndpointTutorial-rg \
--vnet-name myVNet \
--disable-private-endpoint-network-policies true
使用 az network public-ip create 为堡垒主机创建公共 IP:
- 创建名为“myBastionIP”的标准区域冗余公共 IP 地址。
- 在 CreateSQLEndpointTutorial-rg 中。
az network public-ip create \
--resource-group CreateSQLEndpointTutorial-rg \
--name myBastionIP \
--sku Standard
使用 az network vnet subnet create 创建堡垒子网:
- 命名为 AzureBastionSubnet。
- 地址前缀为 10.0.1.0/24。
- 在虚拟网络“myVNet”中。
- 在资源组 CreateSQLEndpointTutorial-rg 中。
az network vnet subnet create \
--resource-group CreateSQLEndpointTutorial-rg \
--name AzureBastionSubnet \
--vnet-name myVNet \
--address-prefixes 10.0.1.0/24
使用 az network bastion create 创建堡垒主机:
- 命名为 myBastionHost。
- 在 CreateSQLEndpointTutorial-rg 中。
- 与公共 IP myBastionIP 相关联。
- 与虚拟网络 myVNet 相关联。
- 在位置“eastus”中。
az network bastion create \
--resource-group CreateSQLEndpointTutorial-rg \
--name myBastionHost \
--public-ip-address myBastionIP \
--vnet-name myVNet \
--location eastus
部署 Azure Bastion 主机需要几分钟时间。
创建测试虚拟机
在本部分,你将创建将用来测试专用终结点的虚拟机。
使用 az vm create 创建 VM。 出现提示时,请提供要用作 VM 凭据的密码:
- 名为 myVM。
- 在 CreateSQLEndpointTutorial-rg 中。
- 在网络 myVNet 中。
- 在子网“myBackendSubnet”中。
- 服务器映像 Win2019Datacenter。
az vm create \
--resource-group CreateSQLEndpointTutorial-rg \
--name myVM \
--image Win2019Datacenter \
--public-ip-address "" \
--vnet-name myVNet \
--subnet myBackendSubnet \
--admin-username azureuser
注意
Azure 会为未分配公共 IP 地址的 VM 或位于内部基本 Azure 负载均衡器的后端池中的 VM 提供默认出站访问 IP。 默认出站访问 IP 机制会提供不可配置的出站 IP 地址。
发生以下事件之一时,将禁用默认出站访问 IP:
- 将公共 IP 地址分配给 VM。
- 虚拟机被放置在标准负载平衡器的后端池中,有无出站规则均可。
- 向 VM 的子网分配了 Azure NAT 网关资源。
在灵活业务流程模式下通过使用虚拟机规模集创建的 VM 没有默认的出站访问权限。
有关 Azure 中的出站连接的详细信息,请参阅 Azure 中的默认出站访问权限和使用用于出站连接的源网络地址转换 (SNAT)。
创建 Azure SQL 服务器
在本部分,你将创建一个 SQL 服务器和数据库。
使用 az sql server create 创建 SQL 服务器:
- 将 <sql-server-name> 替换为唯一服务器名称。
- 将 <your-password> 替换为你的密码。
- 在 CreateSQLEndpointTutorial-rg 中。
- 在 eastus 区域中。
az sql server create \
--name <sql-server-name> \
--resource-group CreateSQLEndpointTutorial-rg \
--location eastus \
--admin-user sqladmin \
--admin-password <your-password>
使用 az sql db create 创建数据库:
- 命名为 myDataBase。
- 在 CreateSQLEndpointTutorial-rg 中。
- 将 <sql-server-name> 替换为唯一服务器名称。
az sql db create \
--resource-group CreateSQLEndpointTutorial-rg \
--server <sql-server-name> \
--name myDataBase \
--sample-name AdventureWorksLT
创建专用终结点
在本部分,你将创建专用终结点。
使用 az sql server list 将 SQL 服务器的资源 ID 置于 shell 变量中。
使用 az network private-endpoint create 创建终结点和连接:
- 命名为 myPrivateEndpoint。
- 在资源组 CreateSQLEndpointTutorial-rg 中。
- 在虚拟网络“myVNet”中。
- 在子网“myBackendSubnet”中。
- 名为 myConnection 的连接。
id=$(az sql server list \
--resource-group CreateSQLEndpointTutorial-rg \
--query '[].[id]' \
--output tsv)
az network private-endpoint create \
--name myPrivateEndpoint \
--resource-group CreateSQLEndpointTutorial-rg \
--vnet-name myVNet --subnet myBackendSubnet \
--private-connection-resource-id $id \
--group-ids sqlServer \
--connection-name myConnection
配置专用 DNS 区域
在本部分中,你将使用 az network private-dns zone create 创建和配置专用 DNS 区域。
你将使用 az network private-dns link vnet create 创建指向 DNS 区域的虚拟网络链接。
你将使用 az network private-endpoint dns-zone-group create 创建 DNS 区域组。
- 区域名为 privatelink.database.windows.net
- 在虚拟网络“myVNet”中。
- 在资源组 CreateSQLEndpointTutorial-rg 中。
- 名为 myDNSLink 的 DNS 链接。
- 与 myPrivateEndpoint 相关联。
- 名为 MyZoneGroup 的区域组。
az network private-dns zone create \
--resource-group CreateSQLEndpointTutorial-rg \
--name "privatelink.database.windows.net"
az network private-dns link vnet create \
--resource-group CreateSQLEndpointTutorial-rg \
--zone-name "privatelink.database.windows.net" \
--name MyDNSLink \
--virtual-network myVNet \
--registration-enabled false
az network private-endpoint dns-zone-group create \
--resource-group CreateSQLEndpointTutorial-rg \
--endpoint-name myPrivateEndpoint \
--name MyZoneGroup \
--private-dns-zone "privatelink.database.windows.net" \
--zone-name sql
测试到专用终结点的连接
在本部分,你将使用在上一步骤中创建的虚拟机通过专用终结点连接到 SQL 服务器。
登录到 Azure 门户。
在左侧导航窗格中选择“资源组”。
选择“CreateSQLEndpointTutorial-rg”。
选择“myVM”。
在 myVM的“概述”页上,选择“连接”,然后选择“堡垒”。
选择蓝色的“使用堡垒”按钮。
输入在创建虚拟机期间输入的用户名和密码。
连接后,在服务器上打开 Windows PowerShell。
输入
nslookup <sqlserver-name>.database.windows.net
。 将 <sqlserver-name> 替换为在上一步骤中创建的 SQL 服务器的名称。 你将收到类似于以下所示内容的消息:Server: UnKnown Address: 172.63.129.16 Non-authoritative answer: Name: mysqlserver8675.privatelink.database.windows.net Address: 10.0.0.5 Aliases: mysqlserver8675.database.windows.net
将为 SQL 服务器名称返回专用 IP 地址 10.0.0.5。 此地址位于你之前创建的虚拟网络的子网中。
在 myVM 上安装 SQL Server Management Studio。
打开 SQL Server Management Studio。
在连接服务器中,输入或选择以下信息:
设置 值 服务器类型 选择数据库引擎。 服务器名称 输入 <sql-server-name>.database.windows.net 身份验证 选择SQL Server 身份验证。 用户名 输入在服务器创建过程中所输入的用户名 Password 输入在服务器创建过程中所输入的密码 记住密码 选择是。 选择“连接”。
浏览左侧菜单中的数据库。
(可选)创建或查询 mydatabase 中的信息。
关闭到 myVM 的堡垒连接。
清理资源
用完专用终结点、SQL 服务器和 VM 之后,请删除资源组及其包含的所有资源:
az group delete \
--name CreateSQLEndpointTutorial-rg
后续步骤
在本教程中,你已创建:
- 虚拟网络和堡垒主机。
- 虚拟机。
- 具有专用终结点的 Azure SQL 服务器。
你使用虚拟机通过专用终结点安全测试了到 SQL 服务器的连接。
接下来,请查看与 Azure SQL 数据库建立专用连接的 Web 应用体系结构方案,该方案将虚拟网络以外的 Web 应用程序连接到数据库的专用终结点。