Настройка (классической) виртуальной сети с помощью файла конфигурации сети

Важно!

В Azure предлагаются две модели развертывания для создания ресурсов и работы с ними: модель развертывания с помощью Resource Manager и классическая модель. В этой статье рассматривается использование классической модели развертывания. Для большинства новых развертываний корпорация Майкрософт рекомендует использовать модель развертывания с помощью Resource Manager.

Вы можете создать и настроить (классическую) виртуальную сеть с файлом конфигурации сети с помощью классического интерфейса командной строки Azure или Azure PowerShell. Вы не можете создавать или изменять виртуальную сеть с помощью модели развертывания Azure Resource Manager с использованием файла конфигурации сети. Использовать портал Azure для создания или изменения (классической) виртуальной сети с помощью файла конфигурации сети нельзя. Однако портал Azure можно использовать для создания такой сети без использования файла конфигурации сети.

Для создания и настройки (классической) виртуальной сети с помощью файла конфигурации сети необходимо экспортировать, изменить и импортировать файл.

Экспорт файла конфигурации сети

Чтобы экспортировать файл конфигурации сети, можно использовать PowerShell или классический Azure CLI. PowerShell экспортирует XML-файл, а классический Azure CLI — JSON-файл.

PowerShell

  1. Установите Azure PowerShell и войдите в Azure.

  2. При необходимости измените каталог (убедитесь, что он существует) и имя файла в указанной ниже команде. Затем выполните команду, чтобы экспортировать файл конфигурации сети.

    Get-AzureVNetConfig -ExportToFile c:\azure\networkconfig.xml
    

Классический Azure CLI

  1. Установите классический Azure CLI. Выполните оставшиеся шаги в командной строке классического интерфейса командной строки.

  2. Войдите в Azure, выполнив команду azure login.

  3. Выполните команду azure config mode asm, чтобы убедиться, что используется режим ASM.

  4. При необходимости измените каталог (убедитесь, что он существует) и имя файла в указанной ниже команде. Затем выполните команду, чтобы экспортировать файл конфигурации сети.

    azure network export c:\azure\networkconfig.json
    

Создание и изменение файла конфигурации сети

Файл конфигурации сети имеет формат XML (при использовании PowerShell) или JSON (при использовании классического интерфейса командной строки). Файл можно изменить в любом текстовом редакторе и в редакторе XML или JSON. Сведения о параметрах схемы файла конфигурации сети см. в этой статье. Дополнительные сведения о параметрах см. в разделе Просмотр виртуальных сетей и параметров. Изменения, внесенные в файл:

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

Важно!

Azure рассматривает подсеть с имеющимся развертыванием как используемую. Когда подсеть используется, она не может быть изменена. Перед изменением информации о подсети в файле конфигурации сети переместите все, что было развернуто в подсети, в другую подсеть, которая не изменяется. Дополнительные сведения см. в статье Перемещение (классической) виртуальной машины или экземпляра роли облачных служб в другую подсеть с помощью PowerShell.

Пример кода XML для использования с PowerShell

В следующем примере файла конфигурации сети создается виртуальная сеть с именем myVirtualNetwork и адресным пространством 10.0.0.0/16 в регионе Azure — восточная часть США. Виртуальная сеть содержит одну подсеть с именем mySubnet и префиксом адреса 10.0.0.0/24.

<?xml version="1.0" encoding="utf-8"?>
<NetworkConfiguration xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns="https://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration">
  <VirtualNetworkConfiguration>
    <Dns />
    <VirtualNetworkSites>
      <VirtualNetworkSite name="myVirtualNetwork" Location="East US">
        <AddressSpace>
          <AddressPrefix>10.0.0.0/16</AddressPrefix>
        </AddressSpace>
        <Subnets>
          <Subnet name="mySubnet">
            <AddressPrefix>10.0.0.0/24</AddressPrefix>
          </Subnet>
        </Subnets>
      </VirtualNetworkSite>
    </VirtualNetworkSites>
  </VirtualNetworkConfiguration>
</NetworkConfiguration>

Если экспортированный файл конфигурации сети пуст, можно скопировать код XML из предыдущего примера и вставить его в новый файл.

Пример кода JSON для использования с классическим интерфейсом командной строки

В следующем примере файла конфигурации сети создается виртуальная сеть с именем myVirtualNetwork и адресным пространством 10.0.0.0/16 в регионе Azure — восточная часть США. Виртуальная сеть содержит одну подсеть с именем mySubnet и префиксом адреса 10.0.0.0/24.

{
   "VirtualNetworkConfiguration" : {
      "Dns" : "",
      "VirtualNetworkSites" : [
         {
            "AddressSpace" : [ "10.0.0.0/16" ],
            "Location" : "East US",
            "Name" : "myVirtualNetwork",
            "Subnets" : [
               {
                  "AddressPrefix" : "10.0.0.0/24",
                  "Name" : "mySubnet"
               }
            ]
         }
      ]
   }
}

Если экспортируемый файл конфигурации сети пуст, можно скопировать код JSON из предыдущего примера и вставить его в новый файл.

Импорт файла конфигурации сети

Чтобы импортировать файл конфигурации сети, можно использовать PowerShell или классический интерфейс командной строки. PowerShell импортирует XML-файл, а классический интерфейс командной строки — JSON-файл. При сбое импорта убедитесь, что файл соответствует схеме конфигурации сети.

PowerShell

  1. Установите Azure PowerShell и войдите в Azure.

  2. При необходимости измените каталог и имя файла в указанной ниже команде. Затем выполните команду, чтобы импортировать файл конфигурации сети.

    Set-AzureVNetConfig  -ConfigurationPath c:\azure\networkconfig.xml
    

Классический Azure CLI

  1. Установите классический Azure CLI. Выполните оставшиеся шаги в командной строке классического интерфейса командной строки.

  2. Войдите в Azure, выполнив команду azure login.

  3. Выполните команду azure config mode asm, чтобы убедиться, что используется режим ASM.

  4. При необходимости измените каталог и имя файла в указанной ниже команде. Затем выполните команду, чтобы импортировать файл конфигурации сети.

    azure network import c:\azure\networkconfig.json