Azure使用Azure CLI将VNET链接到私有DNS

时间:2019-12-17 14:08:27

标签: azure azure-cli vnet azure-private-dns

我正在使用Azure CLI脚本来在我们的云基础架构中自动创建vnet。该脚本的一部分是将VNET链接到Azure私有DNS。这应该很容易,但是明显的困难是VNET和专用DNS在不同的资源组中。

这是我的脚本;

   az network private-dns link vnet create --name MyLink \
     --registration-enabled true \
     --resource-group my-vnet-resourcegroup\
     --subscription 'My Subscription' \
     --tags Domain=MyDomain \
     --virtual-network my-own-vnet \
     --zone-name myzone.nu

现在在发泄时出现以下错误;

无法对嵌套资源执行请求的操作。找不到父资源“ myzone.nu”。

因此,我更新了脚本,以查看专用DNS的资源组;

   az network private-dns link vnet create --name MyLink \
     --registration-enabled true \
     --resource-group my-privatedns-resourcegroup \
     --subscription 'My Subscription' \
     --tags Domain=MyDomain \
     --virtual-network my-own-vnet \
     --zone-name myzone.nu

这给了我以下错误;

部署失败。相关ID:(SomeGuid)。找不到'/subscriptions//resourceGroups/my-privatedns-resourcegroup/providers/Microsoft.Network/virtualNetworks/my-own-vnet'的虚拟网络资源

此刻,我对如何解决此问题一无所知。有人遇到过吗?我愿意接受建议!

1 个答案:

答案 0 :(得分:1)

如果虚拟网络位于另一个与DNS区域资源组不同的资源组中,则可以将虚拟网络ID传递给专用DNS链接vNet创建。

VnetID=$(az network vnet show -g vnet-rg -n my-vnet --query 'id' -o tsv)
az network private-dns link vnet create -n mylink -e true -g dns-rg -z myzone.nu -v $VnetID

enter image description here

或者,您可以使用Azure Powershell

$vnet = Get-AzVirtualNetwork -name my-own-vnet -ResourceGroupName my-vnet-resourcegroup

New-AzPrivateDnsVirtualNetworkLink -ZoneName private.contoso.com `
  -ResourceGroupName MyAzureResourceGroup -Name "mylink" `
  -VirtualNetworkId $vnet.id -EnableRegistration