azure-functions - Azure Terraform 网络安全组被删除
问题描述
我有一个试图创建天蓝色资源的天蓝色 Terraform 代码,包括 Vnet、子网、NSG。我的目标 Azure 配置已经创建了 VNET、子网和 NSG。但是在进行了一些更改之后,terraform build 失败,因为它试图删除“网络安全组”,我想知道它尝试删除“:网络安全组”的原因。请建议它尝试删除网络安全组的根本原因是什么?
错误:删除网络安全组“xxxxxxx685558856875”(资源组“common-8856875”)时出错:network.SecurityGroupsClient#Delete:发送请求失败:StatusCode=400 -- 原始错误:Code="InUseNetworkSecurityGroupCannotBeDeleted" Message="网络安全组。
下面是我的 NSG 代码。
resource "azurerm_virtual_network" "virtual_network" {
name = "has-virtual-network-${var.location_namespace}"
resource_group_name = var.common_rg_name
address_space = ["xx.x.x.x/x1"]
location = var.location
}
resource "azurerm_subnet" "subnet" {
name = var.location_namespace
resource_group_name = var.common_rg_name
virtual_network_name = azurerm_virtual_network.virtual_network.name
address_prefix = "xx.x.x.x/x2"
network_security_group_id = azurerm_network_security_group.network_security_group.id
service_endpoints = [
"Microsoft.KeyVault",
"Microsoft.AzureCosmosDB",
"Microsoft.Sql",
"Microsoft.Storage"
]
}
resource "azurerm_network_security_group" "network_security_group" {
name = var.location_namespace
location = var.location
resource_group_name = var.common_rg_name
}
resource "azurerm_subnet_network_security_group_association" "subnet_network_security_group_association" {
subnet_id = azurerm_subnet.subnet.id
network_security_group_id = azurerm_network_security_group.network_security_group.id
}
解决方案
能够解决问题。根本原因是由于某种原因,两个资源具有不同的地址但相同的 id=。刚刚在这两个条目上运行了 terraform state rm 。terraform state rm module.central_network.azurerm_network_security_group.network_security_group_appgwsubnet terraform state rm module.east_network.azurerm_network_security_group.network_security_group_appgwsubnet。这解决了这个问题。对此感到惊讶的是,天蓝色的 terraform 提供者以某种方式允许这种情况发生。
推荐阅读
- python - 将 Flask 应用程序部署到 Heroku 会导致来自 psycopg2 的 ImportError
- r - 删除数据框列表中的 NA 值
- android - 在 Android Studio 项目中为不同的模块依赖添加单独的 jniLibs 引用
- ios - Xcode10 错误:对于用户定义的构建设置,无法执行(没有这样的文件或目录)
- javascript - jQuery 链接必须点击两次才能滚动
- python - 我无法导入文件,但文件夹中的其他文件可以
- sql - IN 条件的查询优化
- algorithm - 提出以下问题的线性时间解决方案
- reactjs - 打字稿:'字符串| undefined' 不可分配给类型 'string'
- css - CSS - 阴影问题