从 NSG 中删除子网



尝试从 NSG 中删除子网时出现问题,因为自动进程会销毁资源组中的某些组件。

尝试运行此命令时,删除与一个子网的 NSG 关联没有问题。

- name: Dissociate NSG from subnet
environment:
AZURE_CONFIG_DIR: ./.azure
shell: az network vnet subnet update -g Networks -n '{{ subnetName }}' --vnet-name '{{ vnetName }}' --network-security-group "" --subscription '{{ subscription }}'
ignore_errors: yes

问题是当我在NSG 中关联 2 个或更多子网(用于不同的组件(时。

如果我在 Azure 上的 bash 中运行该命令,则会收到此错误:

az network vnet subnet update: error: argument --network-security-group: expected one argument
usage: az network vnet subnet update [-h] [--verbose] [--debug]
[--output {json,jsonc,table,tsv,yaml,none}]

我正在尝试了解如何取消关联它在 NSG 中包含的所有子网,而无需为每个子网创建多个块。

你可以做这样的事情:

az network nsg show -n nsg_name -g rg_name --query 'subnets[].id' -o tsv

以找出 NSG 附加到的所有子网,然后可以使用这些子网从这些子网中删除 NSG。

az network vnet subnet update --ids [] (resource IDs space-delimited) --network-security-group ""

或者您可以逐个迭代它们:

az network nsg show -n nsg_name -g rg_name --query 'subnets[].id' -o tsv |
xargs -L 1 az network vnet subnet update --network-security-group "" --ids 

最新更新