当我尝试从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中包含的所有子网的关联,而不必为每个子网创建多个块。
答案 0 :(得分:0)
您可以执行以下操作:
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