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


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

Важно!

Классическая виртуальная сеть теперь является устаревшей для новых клиентов и будет прекращена 31 августа 2024 г. для всех клиентов. В новых развертываниях должна использоваться новая модель развертывания Azure на основе Resource Manager Azure Resource Manager виртуальная сеть

Виртуальная сеть (VNet) Azure — это представление сети в облаке. Можно управлять параметрами сети Azure и определить блоки адресов DHCP-сервера, параметры DNS, политики безопасности и маршрутизацию. Кроме того, можно дополнительно разделить виртуальную сеть на подсети и развернуть виртуальные машины Azure IaaS и экземпляры роли PaaS точно так же, как развертываются физические компьютеры и виртуальные машины в локальном центре обработки данных. На самом деле вы можете развернуть свою сеть в Azure, используя собственные блоки IP-адресов. Если вы не знакомы с работой виртуальных сетей, прочтите общие сведения о виртуальных сетях.

Важно!

Прежде чем приступить к работе с ресурсами Azure, обратите внимание на то, что в настоящее время в Azure существует две модели развертывания: классическая модель развертывания и модель развертывания с помощью Azure Resource Manager. Обязательно изучите модели и инструменты развертывания , прежде чем приступить к работе с какими бы то ни было ресурсами Azure. Для просмотра документации о средствах развертывания выбирайте соответствующие вкладки в верхней части данной статьи.

В этом документе описывается создание виртуальной сети с помощью классической модели развертывания. Вы также можете создать виртуальную сеть на основе модели развертывания диспетчера ресурсов.

Сценарий

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

Сценарий виртуальной сети

В этом сценарии вы создадите виртуальную сеть с именем TestVNet и зарезервированным блоком CIDR 192.168.0.0./16. Виртуальная сеть содержит следующие подсети:

  • FrontEnd с блоком 192.168.1.0/24 в качестве блока CIDR.
  • BackEnd с блоком 192.168.2.0/24 в качестве блока CIDR.

Как создать виртуальную сеть с помощью файла конфигурации сети в PowerShell

В Azure для определения всех виртуальных сетей, доступных для подписки, используется XML-файл. Вы можете скачать этот файл и внести в него изменения, чтобы изменить или удалить существующие виртуальные сети и создать новые. Из этого руководства вы узнаете, как скачать этот файл, который называется файлом конфигурации сети (или NETCGF), и внести в него изменения для создания виртуальной сети. Дополнительные сведения о файле конфигурации сети см. в статье Azure Virtual Network Configuration Schema (Схема конфигурации виртуальной сети Azure).

Чтобы создать виртуальную сеть в PowerShell, используя файл NETCGF, сделайте следующее:

  1. Если вы ранее не использовали Azure PowerShell, выполните действия по установке и настройке Azure PowerShell. Затем войдите в учетную запись Azure и выберите подписку.

  2. В консоли Azure PowerShell воспользуйтесь командлетом Get-AzureVnetConfig, чтобы скачать файл конфигурации сети в каталог на компьютере, выполнив указанную ниже команду.

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

    Ожидаемые выходные данные:

    XMLConfiguration                                                                                                     
    ----------------                                                                                                     
    <?xml version="1.0" encoding="utf-8"?>...
    
  3. Откройте файл, сохраненный на шаге 2, с помощью любого приложения XML или текстового редактора и найдите элемент VirtualNetworkSites>.< Если у вас уже созданы сети, каждая сеть отображается как собственный <элемент VirtualNetworkSite> .

  4. Чтобы создать виртуальную сеть, описанную в этом сценарии, добавьте следующий XML-код сразу под элементом <VirtualNetworkSites> :

          <?xml version="1.0" encoding="utf-8"?>
          <NetworkConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration">
            <VirtualNetworkConfiguration>
              <VirtualNetworkSites>
                  <VirtualNetworkSite name="TestVNet" Location="East US">
                    <AddressSpace>
                      <AddressPrefix>192.168.0.0/16</AddressPrefix>
                    </AddressSpace>
                    <Subnets>
                      <Subnet name="FrontEnd">
                        <AddressPrefix>192.168.1.0/24</AddressPrefix>
                      </Subnet>
                      <Subnet name="BackEnd">
                        <AddressPrefix>192.168.2.0/24</AddressPrefix>
                      </Subnet>
                    </Subnets>
                  </VirtualNetworkSite>
              </VirtualNetworkSites>
            </VirtualNetworkConfiguration>
          </NetworkConfiguration>
    
  5. Сохраните файл конфигурации сети.

  6. В консоли Azure PowerShell воспользуйтесь командлетом Set-AzureVnetConfig, чтобы отправить файл конфигурации сети, выполнив следующую команду:

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

    Возвращаемые выходные данные:

    OperationDescription OperationId                          OperationStatus
    -------------------- -----------                          ---------------
    Set-AzureVNetConfig  <Id>                                 Succeeded 
    

    Если в возвращаемых выходных данных значение параметра OperationStatus отлично от Succeeded, проверьте XML-файл на наличие ошибок и повторите шаг 6.

  7. В консоли Azure PowerShell воспользуйтесь командлетом Get AzureVnetSite, чтобы убедиться в том, что новая сеть добавлена, выполнив следующую команду:

    Get-AzureVNetSite -VNetName TestVNet
    

    Возвращаемые выходные данные (сокращенные) содержат следующий текст:

    AddressSpacePrefixes : {192.168.0.0/16}
    Location             : Central US
    Name                 : TestVNet
    State                : Created
    Subnets              : {FrontEnd, BackEnd}
    OperationDescription : Get-AzureVNetSite
    OperationStatus      : Succeeded