Руководство. Создание правила NAT для входящего трафика одной виртуальной машины с помощью портала Azure

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

Дополнительные сведения о правилах Azure Load Balancer см. в статье Управление правилами для Azure Load Balancer с помощью портала Azure.

В этом руководстве описано следующее:

  • создать виртуальную сеть и виртуальные машины;
  • создать общедоступную подсистему балансировки нагрузки с SKU уровня "Стандартный" с внешним IP-адресом, пробой работоспособности, конфигурацией серверной части, правилом балансировки нагрузки и правилами NAT для входящего трафика;
  • создать шлюз NAT для исходящего доступа к Интернету из внутреннего пула;
  • установить и настроить веб-сервер на виртуальных машинах, чтобы продемонстрировать правила перенаправления портов и балансировки нагрузки.

Diagram of load balancer resources for deploying an inbound NAT rule for a virtual machine.

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

Вход в Azure

Войдите на портал Azure.

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

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

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

  2. На странице Виртуальные машины выберите + Создать>+ Виртуальная машина.

  3. В окне Создание виртуальной машины введите или выберите следующие значения на вкладке Основные сведения:

    Параметр Значение
    Сведения о проекте
    Подписка Выберите свою подписку.
    Группа ресурсов Выберите Создать.
    Введите load-balancer-rg.
    Нажмите кнопку ОК.
    Сведения об экземпляре
    Virtual machine name Введите lb-vm1.
    Регион Выберите (США) Восточная часть США).
    Параметры доступности Выберите Зона доступности.
    Availability zone Выберите зону 1.
    Тип безопасности Выберите Стандартное.
    Image Выберите Ubuntu Server 20.04 LTS — Gen2.
    Точечный экземпляр Azure Оставьте значение по умолчанию (флажок снят).
    Size Выберите размер виртуальной машины.
    Учетная запись администратора
    Тип аутентификации Выберите Открытый ключ SSH.
    Имя пользователя Введите azureuser.
    SSH public key source (Источник открытого ключа SSH) Выберите Создать новую пару ключей.
    Key pair name (Имя пары ключей) Введите пару lb-key-pair.
    Правила входящего порта
    Общедоступные входящие порты Выберите Отсутствует.
  4. Выберите вкладку Сети или Next: Disks (Далее: диски), а затем Next: Networking (Далее: сеть).

  5. На вкладке Сеть введите или выберите следующие значения параметров.

    Параметр Значение
    Сетевой интерфейс
    Виртуальная сеть Выберите Создать.
    Введите lb-vnet в имя.
    В адресном пространстве в диапазоне адресов введите 10.0.0.0/16.
    В подсетях под именем подсети введите серверную подсеть.
    В диапазоне адресов введите 10.0.1.0/24.
    Нажмите кнопку ОК.
    Подсеть Выберите серверную подсеть.
    Общедоступный IP-адрес Выберите Отсутствует.
    Группа безопасности сети сетевого адаптера Выберите Дополнительно.
    Настройка группы безопасности сети Выберите Создать.
    Введите lb-NSG в имени.
    В разделе Правила для входящего трафика выберите + Добавить правило для входящих подключений.
    В поле Служба выберите HTTP.
    В поле Приоритет введите значение 100.
    Введите для имени правилоlb-NSG.
    Выберите Добавить.
    Нажмите кнопку ОК.
  6. Перейдите на вкладку Просмотр и создание или нажмите кнопку Просмотр и создание внизу страницы.

  7. Выберите Создать.

  8. Когда появится запрос Создать новую пару ключей, выберите Скачать закрытый ключ и создать ресурс. Файл ключа скачан как lb-key-pair.pem. Запомните место, куда вы скачали PEM-файл. Путь к файлу ключа потребуется в последующих шагах.

  9. Выполните шаги 1–7, чтобы создать другую виртуальную машину со следующими значениями и всеми остальными параметрами , как lb-vm1:

    Параметр Значение
    Основы
    Сведения об экземпляре
    Virtual machine name Ввод lb-vm2
    Availability zone Выбор зоны 2
    Учетная запись администратора
    Тип аутентификации Выбор открытого ключа SSH
    SSH public key source (Источник открытого ключа SSH) Выберите Использовать существующий ключ, хранимый в Azure.
    Хранимые ключи Выберите lb-key-pair.
    Правила входящего порта
    Общедоступные входящие порты Выберите Отсутствует.
    Сеть
    Сетевой интерфейс
    Общедоступный IP-адрес Выберите Отсутствует.
    Группа безопасности сети сетевого адаптера Выберите Дополнительно.
    Настройка группы безопасности сети Выберите существующий lb-NSG

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

Вы создадите подсистему балансировки нагрузки в этом разделе. В процессе создания настраиваются внешний IP-адрес, внутренний пул, правила балансировки нагрузки и правила NAT для входящего трафика.

  1. В поле поиска в верхней части портала введите Подсистема балансировки нагрузки. В результатах поиска выберите Подсистема балансировки нагрузки.

  2. На странице Подсистема балансировки нагрузки щелкните Создать.

  3. На странице Создание подсистемы балансировки нагрузки на вкладке Основные сведения укажите следующее.

    Параметр Значение
    Сведения о проекте
    Подписка Выберите свою подписку.
    Группа ресурсов Выберите load-balancer-rg.
    Сведения об экземпляре
    Имя Введите подсистему балансировки нагрузки
    Регион Выберите Восточная часть США.
    номер SKU Оставьте значение по умолчанию Стандартная.
    Тип Щелкните Общедоступный.
    Уровень Оставьте значение по умолчанию Региональная.
  4. В нижней части страницы выберите Далее: интерфейсная IP-конфигурация.

  5. В разделе Интерфейсная IP-конфигурация выберите + Добавить интерфейсную IP-конфигурацию.

  6. Введите интерфейс lb-frontend в поле "Имя".

  7. Выберите IPv4 или IPv6 в качестве версии протокола IP.

    Примечание.

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

  8. Выберите значение IP-адрес для параметра Тип IP-адреса.

    Примечание.

    Дополнительные сведения о префиксах IP-адресов см. в статье Префикс общедоступного IP-адреса Azure.

  9. Выберите вариант Создать новый в разделе Общедоступный IP-адрес.

  10. В поле "Добавление общедоступного IP-адреса" введите lb-frontend-ip для имени.

  11. Выберите Избыточный между зонами в поле Зона доступности.

    Примечание.

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

  12. Для параметра Предпочтение маршрутизации оставьте значение по умолчанию Сеть Майкрософт.

  13. Нажмите ОК.

  14. Выберите Добавить.

  15. Внизу страницы выберите элемент Далее. Серверные пулы.

  16. На вкладке Серверные пулы нажмите кнопку + Добавить серверный пул.

  17. В разделе Добавление серверного пула введите или выберите указанные ниже сведения.

    Параметр Значение
    Имя Введите lb-backend-pool.
    Виртуальная сеть Выберите lb-vnet (load-balancer-rg).
    Конфигурация серверного пула Выберите Сетевой адаптер.
  18. В разделе Виртуальные машины выберите + Добавить.

  19. Выберите проверка boxes рядом с lb-vm1 и lb-vm2 в разделе "Добавление виртуальных машин в внутренний пул".

  20. Нажмите кнопку Добавить, а затем выберите Сохранить.

  21. Внизу страницы выберите Далее: правила для входящего трафика.

  22. На вкладке Правила для входящего трафика в разделе Правило балансировки нагрузки нажмите кнопку + Добавить правило балансировки нагрузки.

  23. В разделе Добавление правила балансировки нагрузки введите следующую информацию или выберите указанные ниже варианты.

    Параметр Значение
    Имя Ввод правила lb-HTTP
    Версия IP-адреса Выберите IPv4 или IPv6 в зависимости от своих требований.
    Интерфейсный IP-адрес Выберите интерфейс lb-frontend (Чтобы быть создано).
    Внутренний пул Выберите lb-backend-pool.
    Протокол Выберите TCP.
    Порт Введите 80.
    Серверный порт Введите 80.
    Проба работоспособности Выберите Создать.
    В поле "Имя" введите lb-health-probe.
    Выберите TCP в поле Протокол.
    Оставьте остальные значения по умолчанию и нажмите кнопку "Сохранить".
    Сохранение сеанса Выберите Отсутствует.
    Время ожидания простоя (в минутах) Введите или выберите 15.
    Включить функцию сброса подключений TCP Выберите проверка box, чтобы включить.
    Включить плавающий IP-адрес Оставьте значение по умолчанию (флажок снят).
    Преобразование исходных сетевых адресов (SNAT) для исходящего трафика Оставьте значение по умолчанию (Рекомендуется) Используйте правила для исходящего трафика, чтобы предоставить участникам внутреннего пула доступ в Интернет.

    Дополнительные сведения о правилах балансировки нагрузки см. в разделе Правила балансировки нагрузки.

  24. Выберите Сохранить.

  25. В разделе Правило NAT для входящего трафика на вкладке Правила для входящего трафика выберите + Добавить правило NAT для входящего трафика.

  26. В окне Добавление правила NAT для входящего трафика введите или выберите указанные ниже сведения.

    Параметр Значение
    Имя Введите lb-NAT-rule-VM1-221.
    Целевая виртуальная машина Выберите lb-vm1.
    IP-конфигурация сети Выберите ipconfig1 (10.0.0.4).
    Интерфейсный IP-адрес Выберите интерфейс lb-frontend (Чтобы быть создано).
    Интерфейсный порт Введите 221.
    Тег службы Выберите Пользовательский.
    Серверный порт Введите 22.
    Протокол Оставьте значение по умолчанию TCP.
    Включить сброс TCP Оставьте значение по умолчанию (флажок снят).
    Время ожидания простоя (в минутах) Оставьте значение по умолчанию 4.
    Включить плавающий IP-адрес Оставьте значение по умолчанию (флажок снят).
  27. Выберите Добавить.

  28. Выберите + Добавить правило NAT для входящего трафика.

  29. В окне Добавление правила NAT для входящего трафика введите или выберите указанные ниже сведения.

    Параметр Значение
    Имя Введите lb-NAT-rule-VM2-222.
    Целевая виртуальная машина Выберите lb-vm2.
    IP-конфигурация сети Выберите ipconfig1 (10.0.0.5).
    Интерфейсный IP-адрес Выберите интерфейс lb-frontend.
    Интерфейсный порт Введите 222.
    Тег службы Выберите Пользовательский.
    Серверный порт Введите 22.
    Протокол Оставьте значение по умолчанию TCP.
    Включить сброс TCP Оставьте значение по умолчанию (флажок снят).
    Время ожидания простоя (в минутах) Оставьте значение по умолчанию 4.
    Включить плавающий IP-адрес Оставьте значение по умолчанию (флажок снят).
  30. Выберите Добавить.

  31. В нижней части страницы нажмите синюю кнопку Просмотр + создание.

  32. Выберите Создать.

Создание шлюза NAT.

В этом разделе описано, как создать шлюз NAT для исходящего доступа к Интернету для ресурсов в виртуальной сети.

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

  1. В поле поиска в верхней части портала введите сетевой шлюз NAT. В результатах поиска выберите NAT-шлюзы.

  2. На странице Шлюзы NAT выберите + Создать.

  3. В разделе Создание шлюза NAT введите или выберите следующие значения.

    Параметр Значение
    Сведения о проекте
    Подписка Выберите свою подписку.
    Группа ресурсов Выберите load-balancer-rg.
    Сведения об экземпляре
    Имя шлюза NAT Введите lb-nat-gateway.
    Регион Выберите Восточная часть США.
    Availability zone Выберите Отсутствует.
    Время ожидания простоя (в минутах) Введите 15.
  4. Откройте вкладку Исходящий IP-адрес или нажмите кнопку Далее: исходящий IP-адрес внизу страницы.

  5. На вкладке Исходящий IP-адрес выберите Создание общедоступного IP-адреса рядом с пунктом Общедоступные IP-адреса.

  6. Введите имя nat-gw-public-ip в поле "Добавить общедоступный IP-адрес".

  7. Нажмите ОК.

  8. Откройте вкладку Подсеть или нажмите кнопку Далее: подсеть внизу страницы.

  9. В виртуальной сети на вкладке "Подсеть" выберите lb-vnet.

  10. Выберите серверную подсеть в разделе "Имя подсети".

  11. Нажмите синюю кнопку Просмотр и создание внизу страницы или перейдите на вкладку Просмотр и создание.

  12. Выберите Создать.

Установка веб-сервера

В этом разделе вы подключитесь по протоколу SSH к виртуальным машинам посредством правил NAT для входящего трафика и установите веб-сервер.

  1. В поле поиска в верхней части портала введите Подсистема балансировки нагрузки. В результатах поиска выберите Подсистема балансировки нагрузки.

  2. Выберите подсистему балансировки нагрузки.

  3. Выберите Конфигурация интерфейсного IP-адреса в разделе Параметры.

  4. В конфигурации внешнего IP-адреса запишите IP-адрес для интерфейса lb-frontend. В нашем примере это 20.99.165.176.

    Screenshot of public IP in Azure portal.

  5. Если вы используете компьютер Mac или Linux, откройте командную строку Bash. Если вы используете компьютер Windows, откройте командную строку PowerShell.

  6. В запросе откройте SSH-подключение к lb-vm1. Замените IP-адрес на адрес, полученный на предыдущем шаге, и порт 221 , используемый для правила NAT для входящего трафика NAT lb-vm1. Замените путь к PEM-файлу на путь, куда был скачан файл ключа.

    ssh -i .\Downloads\lb-key-pair.pem azureuser@20.99.165.176 -p 221
    

    Совет

    Созданный вами ключ SSH можно использовать при следующем создании виртуальной машины в Azure. Только при этом выберите для параметра Источник открытого ключа SSH значение Use a key stored in Azure (Использовать ключ, сохраненный в Azure). У вас уже есть закрытый ключ на компьютере, поэтому вам не нужно ничего скачивать.

  7. Из сеанса SSH обновите источники пакетов, а затем установите последнюю версию пакета NGINX.

    sudo apt-get -y update
    sudo apt-get -y install nginx
    
  8. Введите Exit, чтобы выйти из сеанса SSH.

  9. В запросе откройте подключение SSH к lb-vm2. Замените IP-адрес на адрес, полученный на предыдущем шаге, и порт 222 , используемый для правила NAT для входящего трафика NAT. Замените путь к PEM-файлу на путь, куда был скачан файл ключа.

    ssh -i .\Downloads\lb-key-pair.pem azureuser@20.99.165.176 -p 222
    
  10. Из сеанса SSH обновите источники пакетов, а затем установите последнюю версию пакета NGINX.

    sudo apt-get -y update
    sudo apt-get -y install nginx
    
  11. Введите Exit, чтобы выйти из сеанса SSH.

Тестирование веб-сервера

В этом разделе описано, как протестировать веб-сервер с помощью общедоступного IP-адреса подсистемы балансировки нагрузки.

  1. Откройте браузер.

  2. В адресной строке введите IP-адрес подсистемы балансировки нагрузки. В нашем примере это 20.99.165.176.

  3. Отобразится веб-сайт NGINX по умолчанию.

    Screenshot of testing the NGINX web server.

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

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

  1. В поле поиска в верхней части портала введите ResourceGroup. Выберите Группы ресурсов в результатах поиска.

  2. Выберите load-balancer-rg в группах ресурсов.

  3. Выберите команду Удалить группу ресурсов.

  4. Введите load-balancer-rg вВЕДИТЕ ИМЯ ГРУППЫ РЕСУРСОВ:. Выберите команду Удалить.

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

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