Azure使用Terraform将安全组与多个网络接口和负载平衡器与多个子网相关联

Azure使用Terraform将安全组与多个网络接口和负载平衡器与多个子网相关联,azure,azure-devops,cloud,terraform-provider-azure,Azure,Azure Devops,Cloud,Terraform Provider Azure,我使用Terraform在Azure内部构建了一个环境,我创建了虚拟网络、多个子网、安全组(以子网的数量计)、网络接口(以虚拟机的数量计)、负载平衡器、虚拟机等。 我试图将每个安全组与多个网络接口相关联,但尚未找到解决方案。此外,我还面临将负载平衡器与多个子网关联的问题 假设我的环境中有4个子网、4个安全组、8个NIC(每个子网中有2个NIC)和1个负载平衡器。我想将特定子网内的每个SG与该子网内的2个NIC相关联,然后将我的负载平衡器与4个子网中的2个子网相关联 在Terraform的文档中,

我使用Terraform在Azure内部构建了一个环境,我创建了虚拟网络、多个子网、安全组(以子网的数量计)、网络接口(以虚拟机的数量计)、负载平衡器、虚拟机等。 我试图将每个安全组与多个网络接口相关联,但尚未找到解决方案。此外,我还面临将负载平衡器与多个子网关联的问题

假设我的环境中有4个子网、4个安全组、8个NIC(每个子网中有2个NIC)和1个负载平衡器。我想将特定子网内的每个SG与该子网内的2个NIC相关联,然后将我的负载平衡器与4个子网中的2个子网相关联

在Terraform的文档中,将SG与NIC关联使用一个特定的NIC id,而不是多个:

此外,在Terraform的文档中,将负载平衡器与子网关联使用一个特定的子网id,而不是很多:

我如何处理这些多重关联?
谢谢。

您可以使用关联中的count属性将多个NIC与一个NSG关联起来。以下是一个例子:

resource "azurerm_network_interface_security_group_association" "example" {
  count                     = length(azurerm_network_interface.example.*.id)
  network_interface_id      = element(azurerm_network_interface.example.*.id, count.index)
  network_security_group_id = azurerm_network_security_group.example.id
}

您可以使用关联中的
count
属性。确定吗?只需更改列表中的NIC ID即可关联不同的NSG?我不相信。我会检查的,谢谢:)