Назад | Перейти на главную страницу

Прикрепите NSG к существующей подсети с помощью шаблона ARM

Я хочу создать Группа сетевой безопасности (NSG) в Azure и прикрепите его к существующая подсеть используя шаблон ARM. Я уже сталкивался с этим сайтом: https://github.com/Azure/azure-quickstart-templates/tree/master/201-nsg-add-to-existing-subnet но шаблон ссылается на дополнительные файлы на GitHub, которые мой клиент не разрешает.

В идеале я хотел бы по возможности избегать вложенных шаблонов ARM и просто использовать файл x1 template.json и x1 parameters.json ИЛИ просто файл x1 template.json в целом.

Если у кого-то есть опыт работы с этим или он знает хороший сайт, на который можно ссылаться, я был бы признателен за помощь.

В примере это делается как вложенный шаблон, потому что группа ресурсов, в которой находится виртуальная сеть, находится в другой группе ресурсов, чем сама виртуальная сеть. Если ваша сеть безопасности сети и виртуальная сеть находятся в одной группе ресурсов, в этом нет необходимости. Все, что вам нужно сделать, это добавить часть подсети в ваш основной шаблон в зависимости от вашей NSG.

{
      "apiVersion": "2018-03-01",
      "type": "Microsoft.Network/virtualNetworks/subnets",
      "dependsOn": [
        "new-nsg"
      ],
      "name": "[concat(parameters('virtualNetworkName'), '/', parameters('subnetName'))]",
      "location": "[resourceGroup().location]",
      "properties": {
        "addressPrefix": "[parameters('subnetAddressPrefix')]",
        "networkSecurityGroup": {
          "id": "[resourceId('Microsoft.Network/networkSecurityGroups', 'new-nsg')]"
        }
      }
    }

Если ваша сеть безопасности сети и виртуальная сеть находятся в разных группах ресурсов, то единственный способ сделать это - использовать вложенный шаблон. Это один из недостатков ARM по сравнению с чем-то вроде Terraform. Тем не менее, есть еще несколько вариантов, на которые вы можете взглянуть:

  1. Вы можете использовать встроенный вложенный шаблон. Они немного ограничены, но не требуют ссылки на внешний файл.
  2. Вы можете запустить его как два отдельных развертывания, передав группу ресурсов NSG между двумя