【发布时间】:2018-11-07 18:52:38
【问题描述】:
您好,我有这段代码,它部署了一些虚拟机和一个 vpn 解决方案,但是它在部署 vnet 之前部署了 "vmRdsDeployment"。我已经尝试了几种不同的 dependsOn 变体,但似乎没有任何效果
错误是:
New-AzureRmResourceGroupDeployment : 18:38:57 - Resource Microsoft.Network/loadBalancers 'ilb-m21-m21-m21-vpn-rds' failed with message '{
"error": {
"code": "InvalidResourceReference",
"message": "Resource /subscriptions/0309443f-e9d3-4974-9a9a-08a476b6ae2e/resourceGroups/RG-VPN-TEST/providers/Microsoft.Network/virtualNetworks/VNET-M21-M21-M21-VPN
referenced by resource /subscriptions/0309443f-e9d3-4974-9a9a-08a476b6ae2e/resourceGroups/rg-vpn-test/providers/Microsoft.Network/loadBalancers/ilb-m21-m21-m21-vpn-rds
was not found. Please make sure that the referenced resource exists, and that both resources are in the same region.",
"details": [
{
"code": "NotFound",
"message": "Resource
/subscriptions/0309443f-e9d3-4974-9a9a-08a476b6ae2e/resourceGroups/RG-VPN-TEST/providers/Microsoft.Network/virtualNetworks/VNET-M21-M21-M21-VPN not found."
}
]
【问题讨论】:
-
嘿,一般来说这就是它所说的。您名为
ilb-m21-m21-m21-vpn-rds的负载均衡器正在尝试使用名为VNET-M21-M21-M21-VPN的虚拟网络,但它不在同一个资源组中,或者不在同一个区域中。同样,很难更具体,因为所有资源都隐藏在嵌套模板中 -
@4c74356b41 嗨,谢谢,问题是 ilb-.. 不应该创建,因为这应该取决于首先创建的 vnet。有一个名为“vmRdsDeployment”的部分创建了 ilb,它应该依赖于 vnet,因此创建了 vnet,然后创建了 ilb,但是当 vnet 部署没有时,部署似乎由于某种原因开始了完成了
-
嘿,哪个部署创建了 vnet?如果您说的是真的,那么在第一次失败后,您的模板应该可以在第二次运行(或者至少失败并出现不同的错误,因为 vnet 从第一次部署开始就在那里)
-
@4c74356b41 是的,完全同意,但是看起来 vnet 没有创建。它是一个嵌套模板(在变量部分),vnet 也是使用“vnetTemplate”名称部署的。如果有意义的话
-
条件可用于阻止资源部署。 true 表示部署,false 表示跳过
标签: json azure powershell arm-template azure-template