Share via


使用 CLI,為適用於 MariaDB 的 Azure 資料庫建立及管理 Private Link

重要

適用於 MariaDB 的 Azure 資料庫位於淘汰路徑上。 強烈建議您移轉至適用於 MySQL 的 Azure 資料庫。 如需移轉至適用於 MySQL 的 Azure 資料庫的詳細資訊,請參閱適用於 MariaDB 的 Azure 資料庫會發生什麼事?(部份機器翻譯)。

私人端點是 Azure 中私人連結的基本要素。 其可讓 Azure 資源 (例如虛擬機器 (VM)) 與私人連結資源進行私密通訊。 在本文中,您將了解如何使用 Azure CLI 在 Azure 虛擬網路中建立 VM,以及建立具有 Azure 私人端點的適用於 MariaDB 的 Azure 資料庫伺服器。

注意

私人連結功能僅適用於一般用途或記憶體最佳化定價層的適用於 MariaDB 的 Azure 資料庫伺服器。 請確定資料庫伺服器位於下列其中一個定價層。

如果您沒有 Azure 訂閱,請在開始之前,先建立 Azure 免費帳戶

必要條件

  • 本文需要 2.0.28 版或更新版本的 Azure CLI。 如果您是使用 Azure Cloud Shell,就已安裝最新版本。

建立資源群組

建立任何資源之前,您必須先建立資源群組來裝載虛擬網路。 使用 az group create 來建立資源群組。 下列範例會在 westeurope 位置建立名為 myResourceGroup 的資源群組:

az group create --name myResourceGroup --location westeurope

建立虛擬網路

使用 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 的登入認證。 此範例會建立名為 myVm 的 VM:

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

請記下 VM 的公用 IP 位址。 在下一個步驟中,您將使用此位址來從網際網路連線至 VM。

建立適用於 MariaDB 的 Azure 資料庫伺服器

使用 az mariadb server create 命令來建立適用於 MariaDB 的 Azure 資料庫。 請記住,您的 MariaDB 伺服器名稱在整個 Azure 中必須是唯一的,因此請以您自己的唯一值取代括弧中的預留位置值:

# Create a server in the resource group 

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

注意

在某些案例中,適用於 MariaDB 的 Azure 資料庫和 VNet 子網路是位於不同的訂用帳戶。 在這些情況下,您必須確保下列設定:

  • 請確定這兩個訂用帳戶都已註冊 Microsoft.DBforMariaDB 資源提供者。 如需詳細資訊,請參閱 resource-manager-registration

建立私人端點

在您的虛擬網路中建立 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 區域

建立適用於 MariaDB 伺服器網域的私人 DNS 區域,然後建立與虛擬網路關聯的連結。

az network private-dns zone create --resource-group myResourceGroup \ 
   --name  "privatelink.mariadb.database.azure.com" 
az network private-dns link vnet create --resource-group myResourceGroup \ 
   --zone-name  "privatelink.mariadb.database.azure.com"\ 
   --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.azure.com --resource-group myResourceGroup  
az network private-dns record-set a add-record --record-set-name mydemoserver --zone-name privatelink.mariadb.database.azure.com --resource-group myResourceGroup -a <Private IP Address>

注意

客戶 DNS 設定中的 FQDN 無法解析為已設定的私人 IP。 對於已設定的 FQDN,您必須設定 DNS 區域,如此處所示。

從網際網路連線至 VM

從網際網路連線至 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.azure.com

    您將收到如下訊息:

    Server:  UnKnown
    Address:  168.63.129.16
    Non-authoritative answer:
    Name:    mydemoserver.privatelink.mariadb.database.azure.com
    Address:  10.1.3.4
    
  3. 使用任何可用的用戶端來測試 MariaDB 伺服器的私人連結連線。 在下列範例中,我已使用 MySQL Workbench 執行此作業。

  4. 在 [新增連線] 中,輸入或選取這項資訊:

    設定
    連線名稱 選取您所選擇的連線名稱。
    主機名稱 選取 mydemoserver.privatelink.mariadb.database.azure.com
    使用者名稱 在 MariaDB 伺服器建立期間所提供的使用者名稱以 username@servername 形式輸入。
    密碼 輸入在建立 MariaDB 伺服器期間提供的密碼。
  5. 選取 [測試連線] 或 [確定]

  6. (選擇性地) 從左側功能表瀏覽資料庫,以及從 MariaDB 資料庫建立或查詢資訊

  7. 關閉對 myVm 的遠端桌面連線。

清除資源

您可以使用 az group delete 來移除不再需要的資源群組,以及其所具有的所有資源:

az group delete --name myResourceGroup --yes 

下一步

深入了解什麼是 Azure 私人端點