使用 CLI 创建和管理用于 Azure Database for MariaDB 的专用链接

重要

Azure Database for MariaDB 已列入停用计划。 强烈建议迁移到 Azure Database for MySQL。 有关迁移到 Azure Database for MySQL 的详细信息,请参阅 Azure Database for MariaDB 发生了什么情况?

专用终结点是 Azure 中专用链接的构建基块。 它使 Azure 资源(例如虚拟机 (VM))能够以私密方式来与专用链接资源通信。 在本文中,你将学习如何使用 Azure CLI 在 Azure 虚拟网络和带有 Azure 专用终结点的 Azure Database for MariaDB 服务器中创建 VM。

注意

专用链接功能仅适用于“常规用途”或“内存优化”定价层中的 Azure Database for MariaDB 服务器。 请确保数据库服务器位于其中一个定价层中。

如果没有 Azure 试用版订阅,请在开始前创建一个试用版订阅

先决条件

创建资源组

在创建任何资源之前,必须创建一个资源组以托管虚拟网络。 使用 az group create 创建资源组。 此示例在 chinaeast2 位置创建一个名为 myResourceGroup 的资源组 :

az group create --name myResourceGroup --location chinaeast2

创建虚拟网络

使用 az network vnet create 创建虚拟网络。 此示例创建名为 myVirtualNetwork 的默认虚拟网络,它具有一个名为 mySubnet 的子网:

az network vnet create \
--name myVirtualNetwork \
--resource-group myResourceGroup \
--subnet-name mySubnet

禁用子网专用终结点策略

Azure 会将资源部署到虚拟网络中的子网,因此,你需要创建或更新子网,以禁用专用终结点网络策略。 使用 az network vnet subnet update 更新名为 mySubnet 的子网配置:

az network vnet subnet update \
--name mySubnet \
--resource-group myResourceGroup \
--vnet-name myVirtualNetwork \
--disable-private-endpoint-network-policies true

创建 VM

使用 az vm create 创建 VM。 出现提示时,请提供要用作 VM 登录凭据的密码。 此示例创建名为 myVm 的 VM:

az vm create \
  --resource-group myResourceGroup \
  --name myVm \
  --image Win2019Datacenter

记下 VM 的公共 IP 地址。 在下一步中,此地址将用于从 Internet 连接到 VM。

创建 Azure Database for MariaDB 服务器

使用 az mariadb server create 命令创建 Azure Database for MariaDB。 请记住,你的 MariaDB 服务器名称必须在 Azure 中是唯一的,因此请将括号中的占位符值替换为你自己的唯一值:

# Create a server in the resource group 

az mariadb server create \
--name mydemoserver \
--resource-group myResourcegroup \
--location chinaeast2 \
--admin-user mylogin \
--admin-password <server_admin_password> \
--sku-name GP_Gen5_2

注意

在某些情况下,Azure Database for MariaDB 和 VNet 子网位于不同的订阅中。 在这些情况下,必须确保以下配置:

  • 确保两个订阅都注册了 Microsoft.DBforMariaDB 资源提供程序。 有关详细信息,请参阅资源管理器注册

创建专用终结点

为虚拟网络中的 MariaDB 服务器创建专用终结点:

az network private-endpoint create \  
    --name myPrivateEndpoint \  
    --resource-group myResourceGroup \  
    --vnet-name myVirtualNetwork  \  
    --subnet mySubnet \  
    --private-connection-resource-id $(az resource show -g myResourcegroup -n mydemoserver --resource-type "Microsoft.DBforMariaDB/servers" --query "id" -o tsv) \    
    --group-id mariadbServer \  
    --connection-name myConnection  

配置专用 DNS 区域

为 MariDB 服务器域创建专用 DNS 区域,并创建一个与虚拟网络关联的链接。

az network private-dns zone create --resource-group myResourceGroup \ 
   --name  "privatelink.mariadb.database.chinacloudapi.cn" 
az network private-dns link vnet create --resource-group myResourceGroup \ 
   --zone-name  "privatelink.mariadb.database.chinacloudapi.cn"\ 
   --name MyDNSLink \ 
   --virtual-network myVirtualNetwork \ 
   --registration-enabled false

#Query for the network interface ID  

networkInterfaceId=$(az network private-endpoint show --name myPrivateEndpoint --resource-group myResourceGroup --query 'networkInterfaces[0].id' -o tsv)

az resource show --ids $networkInterfaceId --api-version 2019-04-01 -o json
# Copy the content for privateIPAddress and FQDN matching the Azure database for MariaDB name

#Create DNS records 

az network private-dns record-set a create --name mydemoserver --zone-name privatelink.mariadb.database.chinacloudapi.cn --resource-group myResourceGroup  
az network private-dns record-set a add-record --record-set-name mydemoserver --zone-name privatelink.mariadb.database.chinacloudapi.cn --resource-group myResourceGroup -a <Private IP Address>

注意

客户 DNS 设置中的 FQDN 未解析为已配置的专用 IP。 你必须为已配置的 FQDN 设置一个 DNS 区域,如此处所示。

从 Internet 连接到 VM

从 Internet 连接到 VM myVm,如下所示:

  1. 在门户的搜索栏中,输入 myVm

  2. 选择“连接”按钮。 选择“连接”按钮后,“连接到虚拟机”随即打开

  3. 选择“下载 RDP 文件”。 Azure 会创建远程桌面协议 ( .rdp) 文件,并将其下载到计算机。

  4. 打开 downloaded.rdp 文件。

    1. 出现提示时,选择“连接”。

    2. 输入在创建 VM 时指定的用户名和密码。

      注意

      可能需要选择“更多选择”“使用其他帐户”,以指定在创建 VM 时输入的凭据。

  5. 选择“确定”。

  6. 你可能会在登录过程中收到证书警告。 如果收到证书警告,请选择“确定”或“继续” 。

  7. VM 桌面出现后,将其最小化以返回到本地桌面。

从 VM 私密访问 MariaDB 服务器

  1. myVM 的远程桌面中,打开 PowerShell。

  2. 输入 nslookup mydemoserver.privatelink.mariadb.database.chinacloudapi.cn

    将收到类似于下面的消息:

    Server:  UnKnown
    Address:  168.63.129.16
    Non-authoritative answer:
    Name:    mydemoserver.privatelink.mariadb.database.chinacloudapi.cn
    Address:  10.1.3.4
    
  3. 使用任何可用的客户端测试 MariaDB 服务器的专用链接连接。 在下面的示例中,我使用了 MySQL Workbench 来执行该操作。

  4. 在“新建连接”中,输入或选择以下信息:

    设置
    连接名称 选择所选的连接名称。
    主机名 选择 mydemoserver.privatelink.mariadb.database.chinacloudapi.cn
    用户名 输入用户名 username@servername,该用户名是在创建 MariaDB 服务器期间提供的。
    密码 输入创建 MariaDB 服务器期间提供的密码。
  5. 选择“测试连接”或“确定” 。

  6. (可选)从左侧菜单浏览数据库,并从 MariaDB 数据库创建或查询信息

  7. 关闭与 myVm 的远程桌面连接。

清理资源

如果不再需要资源组及其所有资源,可以使用 az group delete 将其删除:

az group delete --name myResourceGroup --yes 

后续步骤

详细了解什么是 Azure 专用终结点