Краткое руководство. Создание виртуальной сети с помощью Azure CLI

В этом кратком руководстве показано, как создать виртуальную сеть с помощью Azure CLI, интерфейса командной строки Azure. Затем вы создадите две виртуальные машины в сети, безопасно подключитесь к виртуальным машинам из Интернета и запустите частный обмен данными между виртуальными машинами.

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

Схема ресурсов, созданных в кратком руководстве по виртуальной сети.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

Необходимые компоненты

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

Создание или изменение группы ресурсов

Используйте az group create , чтобы создать группу ресурсов для размещения виртуальной сети. Используйте следующий код для создания группы ресурсов с именем test-rg в регионе Azure eastus2 :

az group create \
    --name test-rg \
    --location eastus2

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

Используйте az network vnet create, чтобы создать виртуальную сеть с именем vnet-1 с подсетью с именем subnet-1 в группе ресурсов test-rg:

az network vnet create \
    --name vnet-1 \
    --resource-group test-rg \
    --address-prefix 10.0.0.0/16 \
    --subnet-name subnet-1 \
    --subnet-prefixes 10.0.0.0/24

Развертывание Бастиона Azure

Бастион Azure использует браузер для подключения к виртуальным машинам в виртуальной сети через Secure Shell (SSH) или протокол удаленного рабочего стола (RDP) с помощью частных IP-адресов. Виртуальные машины не нуждаются в общедоступных IP-адресах, клиентском программном обеспечении или специальной конфигурации.

Почасовая цена начинается с момента развертывания Бастиона независимо от использования исходящих данных. Дополнительные сведения см. в разделе "Цены и номера SKU". Если вы развертываете Бастион в рамках руководства или теста, рекомендуется удалить этот ресурс после завершения работы с ним. Дополнительные сведения о Бастионе см. в статье "Что такое Бастион Azure?".

  1. Используйте az network vnet subnet create для создания подсети Бастиона для виртуальной сети. Эта подсеть зарезервирована исключительно для ресурсов Бастиона и должна называться AzureBastionSubnet.

    az network vnet subnet create \
        --name AzureBastionSubnet \
        --resource-group test-rg \
        --vnet-name vnet-1 \
        --address-prefix 10.0.1.0/26
    
  2. Создайте общедоступный IP-адрес бастиона. Этот IP-адрес используется для подключения к узлу Бастиона из Интернета. Используйте az network public-ip create , чтобы создать общедоступный IP-адрес с именем public-ip в группе ресурсов test-rg :

    az network public-ip create \
        --resource-group test-rg \
        --name public-ip \
        --sku Standard \
        --location eastus2 \
        --zone 1 2 3
    
  3. Используйте az network бастион create для создания узла Бастиона в AzureBastionSubnet для виртуальной сети:

    az network bastion create \
        --name bastion \
        --public-ip-address public-ip \
        --resource-group test-rg \
        --vnet-name vnet-1 \
        --location eastus2
    

Развертывание ресурсов Бастиона занимает около 10 минут. Виртуальные машины можно создать в следующем разделе, пока бастион развертывается в виртуальной сети.

Создание виртуальных машин

Используйте az vm create , чтобы создать две виртуальные машины с именем vm-1 и vm-2 в подсети подсети виртуальной сети 1 . При появлении запроса на ввод учетных данных введите имена пользователей и пароли для виртуальных машин.

  1. Чтобы создать первую виртуальную машину, используйте следующую команду:

    az vm create \
        --resource-group test-rg \
        --admin-username azureuser \
        --authentication-type password \
        --name vm-1 \
        --image Ubuntu2204 \
        --public-ip-address ""
    
  2. Чтобы создать вторую виртуальную машину, используйте следующую команду:

    az vm create \
        --resource-group test-rg \
        --admin-username azureuser \
        --authentication-type password \
        --name vm-2 \
        --image Ubuntu2204 \
        --public-ip-address ""
    

Совет

Вы также можете использовать --no-wait параметр для создания виртуальной машины в фоновом режиме, пока вы продолжите работу с другими задачами.

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

    {
      "fqdns": "",
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/vm-2",
      "location": "eastus2",
      "macAddress": "00-0D-3A-23-9A-49",
      "powerState": "VM running",
      "privateIpAddress": "10.0.0.5",
      "publicIpAddress": "",
      "resourceGroup": "test-rg"
      "zones": ""
    }

Примечание.

Виртуальные машины в виртуальной сети с узлом Бастиона не требуют общедоступных IP-адресов. Бастион предоставляет общедоступный IP-адрес, а виртуальные машины используют частные IP-адреса для обмена данными в сети. Вы можете удалить общедоступные IP-адреса из любых виртуальных машин в размещенных в бастионах виртуальных сетей. Дополнительные сведения см. в разделе "Отсообщение общедоступного IP-адреса" с виртуальной машины Azure.

Примечание.

Azure предоставляет IP-адрес исходящего доступа по умолчанию для виртуальных машин, которые либо не назначены общедоступным IP-адресом, либо находятся в серверном пуле внутренней подсистемы балансировки нагрузки Azure. Механизм IP-адреса исходящего трафика по умолчанию предоставляет исходящий IP-адрес, который нельзя настроить.

IP-адрес исходящего доступа по умолчанию отключен при возникновении одного из следующих событий:

  • Общедоступный IP-адрес назначается виртуальной машине.
  • Виртуальная машина размещается в серверном пуле стандартной подсистемы балансировки нагрузки с правилами исходящего трафика или без нее.
  • Ресурс шлюза NAT Azure назначается подсети виртуальной машины.

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

Дополнительные сведения об исходящих подключениях в Azure см. в статье об исходящем доступе по умолчанию в Azure и использовании преобразования исходящих сетевых адресов (SNAT) для исходящих подключений.

Подключение к виртуальной машине

  1. На портале найдите и выберите "Виртуальные машины".

  2. На странице "Виртуальные машины" выберите vm-1.

  3. В разделе "Обзор" для vm-1 выберите Подключение.

  4. На странице Подключение виртуальной машины выберите вкладку Бастион.

  5. Выберите Использовать бастион.

  6. Введите имя пользователя и пароль, созданные при создании виртуальной машины, а затем выберите Подключение.

Запуск обмена данными между виртуальными машинами

  1. В командной строке bash для vm-1 введите ping -c 4 vm-2.

    Вы получите ответ, аналогичный следующему сообщению:

    azureuser@vm-1:~$ ping -c 4 vm-2
    PING vm-2.3bnkevn3313ujpr5l1kqop4n4d.cx.internal.cloudapp.net (10.0.0.5) 56(84) bytes of data.
    64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=1 ttl=64 time=1.83 ms
    64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=2 ttl=64 time=0.987 ms
    64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=3 ttl=64 time=0.864 ms
    64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=4 ttl=64 time=0.890 ms
    
  2. Закройте подключение Бастиона к vm-1.

  3. Повторите действия, описанные в Подключение виртуальной машине, чтобы подключиться к vm-2.

  4. В командной строке bash для vm-2 введите ping -c 4 vm-1.

    Вы получите ответ, аналогичный следующему сообщению:

    azureuser@vm-2:~$ ping -c 4 vm-1
    PING vm-1.3bnkevn3313ujpr5l1kqop4n4d.cx.internal.cloudapp.net (10.0.0.4) 56(84) bytes of data.
    64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=1 ttl=64 time=0.695 ms
    64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=2 ttl=64 time=0.896 ms
    64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=3 ttl=64 time=3.43 ms
    64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=4 ttl=64 time=0.780 ms
    
  5. Закройте подключение Бастиона к vm-2.

Очистка ресурсов

Завершив работу с виртуальной сетью и виртуальными машинами, используйте az group delete , чтобы удалить группу ресурсов и все ее ресурсы:

az group delete \
    --name test-rg \
    --yes

Следующие шаги

В этом кратком руководстве вы создали виртуальную сеть с подсетью по умолчанию, содержащей две виртуальные машины. Вы развернули Бастион и использовали его для подключения к виртуальным машинам и установления связи между виртуальными машинами. Дополнительные сведения о параметрах виртуальной сети см. в статье Создание, изменение или удаление виртуальной сети.

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