0

我正在使用 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”的虚拟网络资源

我现在很困惑如何解决这个问题。以前有人遇到过这个吗?我愿意接受建议!

4

1 回答 1

2

如果虚拟网络位于与您的 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

在此处输入图像描述

或者,您可以使用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
于 2019-12-18T02:42:12.220 回答