问题描述
我正在尝试部署一个应用程序网关,该应用程序网关所引用的子网与我要部署应用程序网关的位置不同。
部署脚本如下所示(省略文件的其余部分以降低复杂性):
变量:
"variables": {
"virtualNetworksExternalId": "[resourceId('<another-subscription-id>','<resource-group-name>','Microsoft.Network/virtualNetworks/subnets','<resource-name>','<subnet-name>')]"
},
网关资源
{
"type": "Microsoft.Network/applicationGateways","apiVersion": "2020-05-01","name": "[parameters('applicationGatewayName')]","location": "westeurope","properties": {
"gatewayIPConfigurations": [
{
"name": "appGatewayIpConfig","properties": {
"subnet": {
"id": "[variables('virtualNetworksExternalId')]"
}
}
}
]
}
}
但是,当我部署模板时,我从Azure中收到以下错误:
Exception Details:
Error Code: ResourceReferenceUsesWrongSubscriptionId
Message: Property subnet of resource /subscriptions/<current-subscription-id>/resourceGroups/<name-of-rg>/providers/Microsoft.Network/applicationGateways/<name-of-appliationgateway> can only reference resources in subscription(s) <current-subscription-id>. Value /subscriptions/<another-subscription-id>/resourceGroups/<name-of-network>/providers/Microsoft.Network/virtualNetworks/<name-of-net>/subnets/<name-of-subnet> references wrong subscription.
是否不可能通过ARM引用另一个订阅中的资源,或者我做错了其他事情?
解决方法
问题不是使用ARM模板,而是应用程序网关如何工作。
“ Application Gateway是您的虚拟网络中的专用部署。”因此,它不能用于交叉订阅。
https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-faq