gpt4 book ai didi

terraform - 当 Azure 策略要求所有子网上的 NSG 时,如何处理 Terraform 销毁操作?

转载 作者:行者123 更新时间:2023-12-04 17:38:01 25 4
gpt4 key购买 nike

我们的订阅政策强制所有子网都有 NSG。 Terraform 在创建子网/NSG 时运行良好。但是,它在执行 terraform destroy 时遇到策略错误,因为它首先尝试从子网中删除 NSG。由于要求在所有子网上使用 NSG 的策略,这会被阻止。有没有办法在 terraform 中解决这个问题,或者可能使子网/nsg 删除成为原子操作?

Terraform v0.11.13+ provider.azurerm v1.25.0

最佳答案

这是一个很难解决的问题,只有草率的解决方案。我一般说的是使用 Terraform 处理政策。本质上,您想将范围的排除动态注入(inject)到资源中:

选项

  1. 只需转到 Azure 门户并在销毁之前排除资源策略。如果您禁用该策略,则需要将其放回原处。
  2. 在运行之前为管道中的策略分配构建一个动态地形,这将为目标资源添加一个 not_scope。由于政策分配已经部署,因此需要执行导入步骤。
  3. 想出一种向策略引擎发送信号的方法(无论您使用什么来自动化您的 Azure 策略)。将 not_scope 添加到您的管道。
  4. 跳过使用 terraform 使用 Azure CLI 或 REST 界面更新范围。

对于选项 2、3 或 4,需要暂停才能使策略分配生效。我的经验是它会有所不同,有时会失败,但如果您正在执行管道,您可以对其发出警报并重新运行。

关于terraform - 当 Azure 策略要求所有子网上的 NSG 时,如何处理 Terraform 销毁操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55856381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com