【问题标题】:How to deploy the subnets from one resource group into existing virtual network located in different resource group using ARM template?如何使用 ARM 模板将一个资源组中的子网部署到位于不同资源组中的现有虚拟网络中?
【发布时间】:2018-05-16 08:54:42
【问题描述】:

我正在开发 Azure 资源管理器模板,目前我为 NSG、路由表和带有 NSG 和 UDR 的子网开发了 ARM 模板。

我编写了以下代码行,用于将子网以及 NSG 和 UDR 添加到现有虚拟网络中。

"resources": [{
  "apiVersion": "2017-10-01",
  "type": "Microsoft.Network/virtualNetworks/subnets",
  "copy": {
    "name": "subnetCopy",
    "mode": "serial",
    "count": "[length(parameters('subnetNames'))]"
  },
  "name": "[ concat( parameters('existingVNETName'), '/', parameters('subnetNames')[copyIndex()] ) ]",
  "location": "[resourceGroup().location]",
  "properties": {
    "addressPrefix": "[parameters('subnetAddresses')[copyIndex()]]",
    "networkSecurityGroup": {
      "id": "[resourceId('Microsoft.Network/networkSecurityGroups', parameters('subnetNSGs')[copyIndex()])]"
    },
    "routeTable": {
      "id": "[resourceId('Microsoft.Network/routeTables', parameters('subnetUDRs')[copyIndex()])]"
    }
  }
}]

只有当虚拟网络、NSG 和 UDR 在同一个资源组中时,上述代码才有效。但是,每当我将上述代码部署到不同的资源组时,我都会收到类似“在此资源组中找不到虚拟网络资源”的错误。实际上虚拟网络位于具有相同位置的其他资源组中。

任何人都可以根据我的上述要求建议我如何修改上述代码吗?

【问题讨论】:

    标签: azure azure-resource-manager subnet azure-virtual-network


    【解决方案1】:

    模板部署具有 resourceGroup 范围 - 因此您必须将该模板部署到参数('existingVNETName')所在的同一资源组。您还需要部署到现有 vnet 所在的同一位置,并且它可能不在 [resourceGroup().location]...

    需要检查的几件事。

    【讨论】:

      猜你喜欢
      • 2019-07-27
      • 1970-01-01
      • 1970-01-01
      • 2018-07-20
      • 2020-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多