Развертывание решения балансировки нагрузки для Интернета с поддержкой IPv6 с помощью шаблона

Примечание.

В этой статье описывается вводная функция IPv6, позволяющая подсистемам Azure Load Balancer категории "Базовый" предоставлять возможность подключения IPv4 и IPv6. Теперь доступны комплексные возможности подключения IPv6, которые обеспечивает IPv6 для виртуальных сетей Azure. Эта функция интегрирует подключение по протоколу IPv6 с виртуальными сетями и содержит ключевые компоненты, такие как правила группы безопасности сети IPv6, определяемая пользователем маршрутизация IPv6, подсистема балансировки нагрузки IPv6 категории "Стандартный" и "Базовый" и многие другие. IPv6 для виртуальных сетей Azure является рекомендуемым стандартом для приложений IPv6 в Azure. См. статью Развертывание приложения с двойным стеком IPv6 в Azure — PowerShell

Azure Load Balancer является балансировщиком нагрузки 4-го уровня (TCP, UDP). Балансировщик нагрузки обеспечивает высокий уровень доступности, распределяя входящий трафик между работоспособными экземплярами службы в облачных службах или виртуальных машинах, определенных в наборе балансировщика нагрузки. Azure Load Balancer может также представить данные службы на нескольких портах, нескольких IP-адресах или обоими этими способами.

Пример сценария развертывания

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

Diagram shows an example scenario used in this article, including a workstation client connected to an Azure Load Balancer over the Internet, connected in turn to two virtual machines.

В этом сценарии вы создадите следующие ресурсы Azure:

  • виртуальный сетевой интерфейс для каждой виртуальной машины с назначенными IPv4 и IPv6-адресами;
  • балансировщик нагрузки для Интернета с общедоступными IPv4- и IPv6-адресами;
  • два правила балансировки нагрузки для сопоставления общедоступных виртуальных IP-адресов с частными конечными точками.
  • группу доступности, которая содержит две виртуальные машины;
  • две виртуальные машины;

Развертывание шаблона с помощью портала Azure

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

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

  2. Выберите "+Создать" в меню и введите "шаблон" в поле поиска. В результатах поиска выберите "Развертывание шаблона".

    Screenshot shows the Azure portal with New and Template deployment selected.

  3. В колонке "Все" выберите "Развертывание шаблона".

    Screenshot shows Template deployment in the Marketplace.

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

    Screenshot shows the description of Template deployment in the Marketplace.

  5. Выберите "Изменить шаблон". Удалите существующее содержимое и скопируйте или вставьте все содержимое файла шаблона (чтобы включить начальный и конечный { }), а затем нажмите кнопку "Сохранить".

    Примечание.

    Если вы используете Microsoft Internet Explorer, то при вставке отображается диалоговое окно, запрашивающее разрешение на доступ к буферу обмена Windows. Нажмите кнопку "Разрешить доступ".

    Screenshot shows the firest step of a Custom deployment, which is Edit template.

  6. Выберите "Изменить параметры". В колонке "Параметры" укажите значения в разделе параметров шаблона, а затем нажмите кнопку "Сохранить", чтобы закрыть колонку "Параметры". В колонке "Настраиваемое развертывание" выберите подписку и существующую группу ресурсов (или создайте новую). Если вы создаете группу ресурсов, выберите расположение для группы ресурсов. Затем выберите "Юридические условия", а затем выберите "Покупка " для юридических условий. Azure начнет развертывание ресурсов. Развертывание всех ресурсов займет несколько минут.

    Screenshot shows the steps involved in the Custom deployment, starting with entering template parameter values.

    Дополнительные сведения об этих параметрах см. в разделе Параметры и переменные шаблона далее в этой статье.

  7. Чтобы просмотреть ресурсы, созданные шаблоном, выберите "Обзор", прокрутите список вниз, пока не увидите "Группы ресурсов", а затем выберите его.

    Screenshot shows the Azure portal with Browse and Resource groups selected.

  8. В колонке "Группы ресурсов" выберите имя группы ресурсов, указанной на шаге 6. Отобразится список всех развернутых ресурсов. Если все прошло успешно, "Последнее развертывание" будет иметь состояние "Успешно". В противном случае убедитесь, что у учетной записи есть разрешения на создание необходимых ресурсов.

    Screenshot shows the status of the last deployment for a resource group, in this example, Succeeded.

    Примечание.

    Если просмотреть "Группы ресурсов" сразу после выполнения шага 6, то в разделе "Последнее развертывание" будет отображаться состояние "Идет развертывание", так как ресурсы еще развертываются.

  9. Выберите myIPv6PublicIP в списке ресурсов. Вы увидите, что в качестве IP-адреса указан IPv6-адрес, а значение DNS-имени соответствует тому, которое вы указали для параметра dnsNameforIPv6LbIP на шаге 6. Этот ресурс является общедоступным IPv6-адресом и именем узла, доступным для Интернет-клиентов.

    Screenshot shows the IPv6 public address.

Проверка подключения

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

  1. Войдите на портал Azure и подключитесь к каждой из виртуальных машин, созданных при развертывании шаблона. Если была развернута виртуальная машина Windows Server, то в командной строке введите ipconfig / all. Вы видите, что виртуальные машины имеют оба адреса — IPv4 и IPv6. Если были развернуты виртуальные машины Linux, то в ОС Linux необходимо настроить получение динамических IPv6-адресов, руководствуясь инструкциями к дистрибутиву Linux.
  2. Из клиента, подключенного к Интернету по протоколу IPv6, инициируйте подключение к общедоступному IPv6-адресу балансировщика нагрузки. Чтобы убедиться, что балансировщик нагрузки выполняет балансировку между двумя виртуальными машинами, можно установить на каждой виртуальной машине веб-сервер, например Microsoft IIS. Для уникальной идентификации каждого сервера его веб-страница по умолчанию может содержать текст "Server0" или "Server1". Затем, чтобы выполнить сквозную проверку IPv6-подключения к каждой виртуальной машине, откройте браузер на клиенте, подключенном к Интернету по протоколу IPv6, и перейдите к узлу, имя которого вы указали для параметра dnsNameforIPv6LbIP балансировщика нагрузки. Если вам удается просмотреть веб-страницу только с одного сервера, то, возможно, необходимо очистить кэш браузера. Откройте несколько сеансов в режиме закрытого просмотра. Вы должны получить ответ от каждого сервера.
  3. Из клиента, подключенного к Интернету по протоколу IPv4, инициируйте подключение к общедоступному IPv4-адресу балансировщика нагрузки. Чтобы убедиться, что балансировщик нагрузки выполняет балансировку между двумя виртуальными машинами, можно выполнить проверку с помощью IIS, как описано на шаге 2.
  4. С каждой виртуальной машины инициируйте исходящее подключение к устройству, подключенному к Интернету по протоколу IPv4 или IPv6. В обоих случаях исходный IP-адрес, отображаемый на устройстве назначения, является общедоступным IPv4 или IPv6-адресом балансировщика нагрузки.

Примечание.

Чтобы проверить подключение как для интерфейса IPv4, так и интерфейса IPv6 подсистемы балансировки нагрузки, можно отправить связь ICMP на интерфейс подсистемы балансировки нагрузки. Обратите внимание, что IP-адреса, показанные на схеме, являются примерами значений, которые могут отобразиться. Так как IPv6-адреса назначаются динамически, полученные вами адреса будут отличаться и могут быть разными для разных регионов. Кроме того, для общедоступного IPv6-адреса подсистемы балансировки нагрузки обычно используется другой префикс, отличный от частных IPv6-адресов в серверном пуле.

Параметры и переменные шаблона

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

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

Параметр / переменная Примечания.
adminUsername Укажите имя учетной записи администратора, которое используется для входа в виртуальные машины.
adminPassword Укажите пароль учетной записи администратора, который используется для входа в виртуальные машины.
dnsNameforIPv4LbIP Укажите имя узла DNS, которое необходимо назначить в качестве общедоступного имени балансировщика нагрузки. Это имя разрешается в общедоступный IPv4-адрес балансировщика нагрузки. Оно должно вводиться в нижнем регистре и соответствовать регулярному выражению: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$.
dnsNameforIPv6LbIP Укажите имя узла DNS, которое необходимо назначить в качестве общедоступного имени балансировщика нагрузки. Это имя разрешается в общедоступный IPv6-адрес балансировщика нагрузки. Оно должно вводиться в нижнем регистре и соответствовать регулярному выражению: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. Это имя может совпадать с IPv4-адресом. Когда клиент отправляет DNS-запрос для этого имени, Azure возвращает записи A и AAAA при совместном использовании имени.
vmNamePrefix Укажите префикс для имени виртуальной машины. При создании виртуальных машин шаблоном к имени добавляется число (0, 1 и т. д.).
nicNamePrefix Укажите префикс для имени сетевого интерфейса. При создании сетевых интерфейсов шаблоном к имени добавляется число (0, 1 и т. д.).
storageAccountName Введите имя существующей учетной записи хранения или укажите имя новой записи, которая будет создана шаблоном.
availabilitySetName Введите имя группы доступности, которая будет использоваться с виртуальными машинами.
addressPrefix Префикс адреса, который используется для определения диапазона адресов виртуальной сети.
subnetName Имя подсети, создаваемой в виртуальной сети.
subnetPrefix Префикс адреса, который используется для определения диапазона адресов подсети.
vnetName Укажите имя для виртуальной сети, используемой виртуальными машинами.
ipv4PrivateIPAddressType Метод распределения, используемый для частного IP-адреса (статический или динамический).
ipv6PrivateIPAddressType Метод распределения, используемый для частного IP-адреса (динамический). Протокол IPv6 поддерживает только динамическое распределение.
numberOfInstances Количество экземпляров балансировщика нагрузки, развертываемых шаблоном.
ipv4PublicIPAddressName Укажите DNS-имя, которое необходимо использовать для взаимодействия с общедоступным IPv4-адресом балансировщика нагрузки.
ipv4PublicIPAddressType Метод распределения, используемый для общедоступного IP-адреса (статический или динамический).
Ipv6PublicIPAddressName Укажите DNS-имя, которое необходимо использовать для взаимодействия с общедоступным IPv6-адресом балансировщика нагрузки.
ipv6PublicIPAddressType Метод распределения, используемый для общедоступного IP-адреса (динамический). Протокол IPv6 поддерживает только динамическое распределение.
lbName Укажите имя балансировщика нагрузки. Это имя отображается на портале, а также используется интерфейсом командной строки и командами PowerShell.

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

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

Синтаксис JSON и свойства подсистемы балансировки нагрузки в шаблоне см. в справочнике по шаблону для ресурса Microsoft.Network/loadBalancers.