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

Azure associating security group with multiple network interfaces and load balancer with multiple subnets using Terraform

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

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

在Terraform的文档中,将SG与NIC关联可以使用一个特定的NIC ID,但并不多:
enter


您可以使用关联中的count属性将多个NIC与一个NSG关联。这是一个示例:

1
2
3
4
5
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
}