【问题标题】:Terraform : How to attach NSG and Service Endpoints in subnet provisionTerraform:如何在子网配置中附加 NSG 和服务端点
【发布时间】:2020-12-30 20:55:26
【问题描述】:

Azurerm 中是否有一种方法可以提供带有 NSG 附件的子网,也可以提供服务端点。这是考虑到我们有一个在子网上强制执行 NSG 的策略。所以 - - 如果子网是一个单独的资源(作为一个单独的资源 nsg_id 不再是一个参数) - 它会使策略失败。

作为 vnet 下的子资源,可以附加 nsg_id - 但没有参数来提供服务端点或服务委托。

【问题讨论】:

    标签: terraform terraform-provider-azure


    【解决方案1】:

    您可以使用 Terraform 语言 local-exec Provisioner 或 remote-exec 配置程序部署服务端点或服务委托,以在创建资源后调用 PowerShell 或 CLI 脚本。

    例如,您可以使用az network vnet subnet update 为子网启用服务端点。

    resource "null_resource" "example" {
    
       provisioner "local-exec" {
    
       command = "az network vnet subnet update -g ${azurerm_resource_group.example.name} -n 'subnet1' --vnet-name ${azurerm_virtual_network.example.name} --service-endpoints 'Microsoft.Sql'"
       interpreter = ["PowerShell", "-Command"]
        }  
      
    }
    

    更多参考资料,您可以阅读this blog- Terraform 中的多行 PowerShell。

    【讨论】:

    • 那行得通 - 让我试一试 - 谢谢
    • 虽然,目前使用的是 TF cloud,这可能有点问题——因为他们的工人没有 az cli。
    • 你也可以用谷歌的 powershell 脚本来做。
    猜你喜欢
    • 2020-01-13
    • 2020-09-23
    • 2022-09-26
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    • 2022-01-16
    • 2011-09-19
    相关资源
    最近更新 更多