terraform - 用于关联 Azure NSG 的 terraform 脚本的后端流程是什么
问题描述
下面给出的脚本工作正常。但问题是,当我第二次应用 Terraform 时,它会解除 NSG 与子网的关联。当我再次申请时,它会关联到子网。我的代码有什么问题吗,或者这条线实际上做了什么,也许可以解决我的问题。
network_security_group_id =
"${element(azurerm_network_security_group.NetworkSG.*.id,count.index)}"
下面的代码是我的 main.tf:
resource "azurerm_subnet" "Subnet" {
count = "${length(var.Subnet_name)}"
name = "${var.Subnet_name[count.index]}"
virtual_network_name = "${azurerm_virtual_network.Vnet.name}"
resource_group_name =
"${azurerm_resource_group.ResourceGroup.name}"
address_prefix =
"${element(var.Subnet_range[var.Subnet_name[count.index]], 0)}"
}
resource "azurerm_network_security_group" "NetworkSG" {
count = "${length(var.Subnet_name)}"
name =
"${element(var.Subnet_range[var.Subnet_name[count.index]], 1)}"
location =
"${azurerm_resource_group.ResourceGroup.location}"
resource_group_name = "${azurerm_resource_group.ResourceGroup.name}"
}
resource "azurerm_subnet_network_security_group_association"
"NetworkSGassociation" {
count= "${length(var.Subnet_name)}"
subnet_id = "${element(azurerm_subnet.Subnet.*.id, count.index)}"
network_security_group_id =
"${element(azurerm_network_security_group.NetworkSG.*.id,count.index)}"
}
下面是我的 .tfvars 文件:
Subnet_name= ["SCB-Sub1","SCB-Sub2","SCB-Sub3"]
Subnet_range =
{
SCB-Sub1= ["10.10.0.0/24","SCB-nsg1"]
SCB-Sub2= ["10.10.1.0/24","SCB-nsg2"]
SCB-Sub3= ["10.10.2.0/24","SCB-nsg3"]
}
这是我使用 terraform plan 时得到的输出:
azurerm_subnet.Subnet[1]: Modifying... (ID:
/subscriptions/0000-...tualNetworks/SCB_vnet/subnets/SCB-Sub3)
network_security_group_id: "/subscriptions/0000/resourceGroups/SCB-
rg/providers/Microsoft.Network/networkSecurityGroups/SCB-nsg3" => ""
解决方案
推荐阅读
- apollo-server - visitObject 上的匿名函数?
- php - 通过 Redis Hash 存储和搜索
- resources - EMF 资源负载 - SAXParser 读取地图两次
- java - Landroid/widget/ImageView 类中没有字段 mMaxWidth
- javascript - 我可以在保留实例/状态的同时移动 iframe 吗?
- html - 作为背景嵌入的谷歌地图涵盖了其余内容
- python - 根据列对数据框进行分组
- java - 将外部图像添加到圆形图像视图
- python - 有没有办法从 Python 中包含多个图像的文件夹中读取前 N 个图像、执行操作并读取下一个 N 个图像
- java - 为什么我无法将我的 firebase 读入我的 Android Studio 项目