子网AzureFirewallSubnet正在使用中,无法删除

时间:2018-10-03 12:08:44

标签: azure firewall azure-resource-manager

我正在尝试使用ARM模板部署Azure防火墙。该模板在首次部署期间运行良好,并在现有虚拟网络以及具有公共IP的Azure防火墙中创建一个子网(根据需要命名为AzureFirewallSubnet)。再次尝试部署模板时,如果期望部署能够通过而没有任何更改,则会出现以下错误:

子网AzureFirewallSubnet正在使用中... / azureFirewallIpConfigurations / IpConf,无法删除

这是Arm模板部署中的详细错误消息:

"details": [
  {
    "code": "DeploymentFailed",
    "message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.",
    "details": [
      {
        "code": "BadRequest",
        "message": "{\r\n  \"error\": {\r\n    \"code\": \"InUseSubnetCannotBeDeleted\",\r\n    \"message\": \"Subnet AzureFirewallSubnet is in use by /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/azureFirewalls/<firewall-name>/azureFirewallIpConfigurations/IpConf and cannot be deleted.\",\r\n    \"details\": []\r\n  }\r\n}"
      }
    ]
  }
]

有任何线索吗?

2 个答案:

答案 0 :(得分:1)

这意味着您的vnet包含一个名为AzureFirewallSubnet的子网,而您的模板则没有。因此,它试图删除该vnet。将此vnet添加到模板。或手动将其删除。

答案 1 :(得分:1)

重新部署未修改的ARM模板时遇到了相同的 InUseSubnetCannotBeDeleted 问题,但是通过对模板进行两项更改,我能够解决此问题。

  1. 将子网定义从资源列表移至虚拟网络的 subnets 属性。
  2. 从网络接口的 dependsOn 列表中删除子网(如果有的话),而是依赖于虚拟网络。

有关子网属性的详细信息,请参见virtualNetworks template reference

进行了这些更改之后,使用相同的参数值重新部署模板就变成了您期望的无操作。