我正在使用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'的虚拟网络资源
此刻,我对如何解决此问题一无所知。有人遇到过吗?我愿意接受建议!
答案 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
或者,您可以使用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