Поделиться через


Создание ресурсов виртуальной сети с помощью Bicep

Для многих развертываний Azure требуется развернуть и настроить сетевые ресурсы. Вы можете использовать Bicep для определения сетевых ресурсов Azure.

виртуальные сети и подсети;

Определите виртуальные сети, создав ресурс с типом Microsoft.Network/virtualNetworks.

Настройка подсетей с помощью свойства подсетей

Виртуальные сети содержат подсети, которые представляют собой логические группировки IP-адресов в сети. Подсети всегда должны управляться как дочерние ресурсы, а свойство подсетей никогда не должно быть определено в ресурсе виртуальной сети. Такой подход обеспечивает безопасный и независимый жизненный цикл для обоих типов ресурсов.

Замечание

API виртуальной сети Azure обновляется, чтобы разрешить изменения в виртуальных сетях, не требуя включения свойства подсети в запросы PUT. Ранее исключение свойства подсети приведет к удалению существующих подсетей. При новом поведении, если свойство подсети не входит в запрос PUT, существующие подсети остаются неизменными. При явной установке свойства подсети в пустое значение все существующие подсети удаляются, а предоставление конкретных конфигураций подсети приводит к их созданию или обновлению. Это изменение упрощает управление виртуальными сетями, предотвращая непреднамеренные удаления подсети во время обновлений. Дополнительные сведения см. в статье "Виртуальная сеть Azure" теперь поддерживает обновления без свойства подсети.

Рекомендуется определить подсети как дочерние ресурсы, как в следующем примере:

param location string = resourceGroup().location

var virtualNetworkName = 'my-vnet'
var subnet1Name = 'Subnet-1'
var subnet2Name = 'Subnet-2'

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-05-01' = {
  name: virtualNetworkName
  location: location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
  }

  resource subnet1 'subnets' = {
    name: subnet1Name
    properties: {
      addressPrefix: '10.0.0.0/24'
    }  }

  resource subnet2 'subnets' = {
    name: subnet2Name
    properties: {
      addressPrefix: '10.0.1.0/24'
    }    
  }
}

output subnet1ResourceId string = virtualNetwork::subnet1.id
output subnet2ResourceId string = virtualNetwork::subnet2.id

Чтобы ссылаться на вложенный ресурс за пределами родительского ресурса, он должен быть квалифицирован с именем ресурса и оператором ::, как показано в предыдущем примере.

Группы безопасности сети

Группы безопасности сети часто используются для применения правил, управляющих входящим и исходящим потоком трафика из подсети или сетевого интерфейса. Это может стать громоздким, чтобы определить большое количество правил в файле Bicep и делиться правилами между несколькими файлами Bicep. При работе со сложными или крупными группами безопасности сети рекомендуется использовать шаблон файла общей переменной .

Частные конечные точки

Частные конечные узлы должны быть утверждены. В некоторых ситуациях утверждение происходит автоматически. Но в других сценариях необходимо утвердить конечную точку, прежде чем использовать ее.

Утверждение частной конечной точки — это операция, поэтому ее нельзя выполнять непосредственно в коде Bicep. Однако для вызова операции можно использовать скрипт развертывания . Кроме того, можно вызвать операцию вне файла Bicep, например, в сценарии конвейера.