通过Terraform的所有Azure订阅的默认NSG

zdwk9cvp  于 2023-02-09  发布在  其他
关注(0)|答案(1)|浏览(127)

我正在尝试实施一种策略,让我可以在一个Azure订阅中创建NSG,并使用相同的NSG资源连接到在其他订阅和资源组中创建的任何VM或NIC。
如果我想将单个(默认)NSG(在单独的订阅中创建)连接到其他订阅中的多个VM和NIC,此实施如何通过Terraform工作?

3yhwsihp

3yhwsihp1#

通过Terraform进行的所有Azure订阅的默认NSG:

  • 为具有某些网络安全规则的特定网络安全组定义的规则将仅应用于该资源组。由于对网络安全组的此限制,无法访问现有订阅之外的订阅中的NSG。*
  • 您不能访问存在于另一个订购中的NSG,即使它是在同一地区提供的。*
    如果需要在其他订阅中添加网络安全,可以考虑以下方法:

1.在部署Terraform代码时使用alias在提供程序中添加多个订阅,如@Jeff Brown提到的article

provider "azurerm"{
alias = "xx"
subscription = "subscription1"
features{}
}
provider "azurerm"{
alias = "xxdev"
subscription = "subscription2"
features{}
}
resource "azurerm_network_security_group" "example"{
//Add configuration
}

注意:包括azurerm提供程序以跨订阅ID提供的多个订阅部署相同的NSG或任何Azure资源。

  1. terraform import可用于从任何地方导入现有资源。
terraform import azurerm_network_security_group.<NSG> <ResourceID>

输出:

相关问题