我有一个名为 vNetVPN-Dev 的虚拟网络,在该虚拟网络中我还有一些其他子网
现在我想在同一虚拟网络中创建另一个子网vNetVPN-Dev。
虚拟网络
resource "azurerm_virtual_network" "virtual_network" {
name = "vNetVPN-Dev"
location = var.resource_group_location_north_europe
resource_group_name = var.resource_group_name
address_space = ["10.1.16.0/23", "10.2.0.0/16", "172.16.100.0/24"]
subnet {
name = "snet-vgp-dev"
address_prefix = "10.2.1.0/24"
}
tags = {
environment = var.tag_dev
}
}
这是我想要配置的子网
resource "azurerm_subnet" "subnet_internal" {
name = "snet-internal-vm"
resource_group_name = var.resource_group_name
virtual_network_name = azurerm_virtual_network.virtual_network.name
address_prefixes = ["10.2.10.0/24"]
}
当我运行terraform apply命令时,它错误地指出GatewaySubnet正在使用中。
creating/updating Virtual Network: (Name "vNetVPN-Dev" / Resource Group "rg-03-data-dev"): network.VirtualNetworksClient#CreateOrUpdate:
Failure sending request: StatusCode=400 --
Original Error: Code="InUseSubnetCannotBeDeleted"
Message="Subnet GatewaySubnet is in use by /subscriptions/XXXXXXXXXXXXXXX/resourceGroups/rg-03-data-dev/providers/Microsoft.Network/virtualNetworkGateways/vgw-vgp-dev/ipConfigurations/vpn_public_ip_address_vgtw and cannot be deleted.
In order to delete the subnet, delete all the resources within the subnet. See aka.ms/deletesubnet."
我无法阻止 GatewaySubnet。
GatewaySubnet 用于 VPN。 我是否需要删除 GatewaySubnet 才能配置其他资源?
最佳答案
无法使用 azurerm_virtual_network 和 azurerm_subnet 资源的内联子网来声明同一 vnet 的子网。
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_network
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/subnet
为了防止 terraform 尝试删除已部署的网关子网,您应该仅使用内联声明
resource "azurerm_virtual_network" "virtual_network" {
name = "vNetVPN-Dev"
location = var.resource_group_location_north_europe
resource_group_name = var.resource_group_name
address_space = ["10.1.16.0/23", "10.2.0.0/16", "172.16.100.0/24"]
subnet {
name = "snet-vgp-dev"
address_prefix = "10.2.1.0/24"
}
subnet {
name = "snet-internal-vm"
address_prefix = "10.2.10.0/24"
}
tags = {
environment = var.tag_dev
}
}
关于azure - 在Azure资源组中创建子网但出现错误(无法删除它),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75080426/