尝试从 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