Развертывание решения балансировки нагрузки для Интернета с поддержкой 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-адресах или обоими этими способами.
Пример сценария развертывания
На следующей схеме показано решение балансировки нагрузки, которое развертывается в этой статье с помощью примера шаблона.
В этом сценарии вы создадите следующие ресурсы Azure:
- виртуальный сетевой интерфейс для каждой виртуальной машины с назначенными IPv4 и IPv6-адресами;
- балансировщик нагрузки для Интернета с общедоступными IPv4- и IPv6-адресами;
- два правила балансировки нагрузки для сопоставления общедоступных виртуальных IP-адресов с частными конечными точками.
- группу доступности, которая содержит две виртуальные машины;
- две виртуальные машины;
Развертывание шаблона с помощью портала Azure
Эта статья ссылается на шаблон,опубликованный в коллекции Шаблоны быстрого запуска Azure. Вы можете скачать шаблон из коллекции или запустить развертывание в Azure непосредственно из коллекции. В этой статье предполагается, что вы скачали шаблон на локальный компьютер.
Откройте портал Azure и выполните вход с помощью учетной записи, имеющей разрешения на создание виртуальных машин и сетевых ресурсов в рамках подписки Azure. Кроме того, учетной записи необходимы разрешения на создание группы ресурсов и учетной записи хранения (это не требуется, если вы используете существующие ресурсы).
Выберите "+Создать" в меню и введите "шаблон" в поле поиска. В результатах поиска выберите "Развертывание шаблона".
В колонке "Все" выберите "Развертывание шаблона".
Выберите "Создать".
Выберите "Изменить шаблон". Удалите существующее содержимое и скопируйте или вставьте все содержимое файла шаблона (чтобы включить начальный и конечный { }), а затем нажмите кнопку "Сохранить".
Примечание.
Если вы используете Microsoft Internet Explorer, то при вставке отображается диалоговое окно, запрашивающее разрешение на доступ к буферу обмена Windows. Нажмите кнопку "Разрешить доступ".
Выберите "Изменить параметры". В колонке "Параметры" укажите значения в разделе параметров шаблона, а затем нажмите кнопку "Сохранить", чтобы закрыть колонку "Параметры". В колонке "Настраиваемое развертывание" выберите подписку и существующую группу ресурсов (или создайте новую). Если вы создаете группу ресурсов, выберите расположение для группы ресурсов. Затем выберите "Юридические условия", а затем выберите "Покупка " для юридических условий. Azure начнет развертывание ресурсов. Развертывание всех ресурсов займет несколько минут.
Дополнительные сведения об этих параметрах см. в разделе Параметры и переменные шаблона далее в этой статье.
Чтобы просмотреть ресурсы, созданные шаблоном, выберите "Обзор", прокрутите список вниз, пока не увидите "Группы ресурсов", а затем выберите его.
В колонке "Группы ресурсов" выберите имя группы ресурсов, указанной на шаге 6. Отобразится список всех развернутых ресурсов. Если все прошло успешно, "Последнее развертывание" будет иметь состояние "Успешно". В противном случае убедитесь, что у учетной записи есть разрешения на создание необходимых ресурсов.
Примечание.
Если просмотреть "Группы ресурсов" сразу после выполнения шага 6, то в разделе "Последнее развертывание" будет отображаться состояние "Идет развертывание", так как ресурсы еще развертываются.
Выберите myIPv6PublicIP в списке ресурсов. Вы увидите, что в качестве IP-адреса указан IPv6-адрес, а значение DNS-имени соответствует тому, которое вы указали для параметра dnsNameforIPv6LbIP на шаге 6. Этот ресурс является общедоступным IPv6-адресом и именем узла, доступным для Интернет-клиентов.
Проверка подключения
После успешного развертывания шаблона можно проверить подключение, выполнив следующие действия:
- Войдите на портал Azure и подключитесь к каждой из виртуальных машин, созданных при развертывании шаблона. Если была развернута виртуальная машина Windows Server, то в командной строке введите ipconfig / all. Вы видите, что виртуальные машины имеют оба адреса — IPv4 и IPv6. Если были развернуты виртуальные машины Linux, то в ОС Linux необходимо настроить получение динамических IPv6-адресов, руководствуясь инструкциями к дистрибутиву Linux.
- Из клиента, подключенного к Интернету по протоколу IPv6, инициируйте подключение к общедоступному IPv6-адресу балансировщика нагрузки. Чтобы убедиться, что балансировщик нагрузки выполняет балансировку между двумя виртуальными машинами, можно установить на каждой виртуальной машине веб-сервер, например Microsoft IIS. Для уникальной идентификации каждого сервера его веб-страница по умолчанию может содержать текст "Server0" или "Server1". Затем, чтобы выполнить сквозную проверку IPv6-подключения к каждой виртуальной машине, откройте браузер на клиенте, подключенном к Интернету по протоколу IPv6, и перейдите к узлу, имя которого вы указали для параметра dnsNameforIPv6LbIP балансировщика нагрузки. Если вам удается просмотреть веб-страницу только с одного сервера, то, возможно, необходимо очистить кэш браузера. Откройте несколько сеансов в режиме закрытого просмотра. Вы должны получить ответ от каждого сервера.
- Из клиента, подключенного к Интернету по протоколу IPv4, инициируйте подключение к общедоступному IPv4-адресу балансировщика нагрузки. Чтобы убедиться, что балансировщик нагрузки выполняет балансировку между двумя виртуальными машинами, можно выполнить проверку с помощью IIS, как описано на шаге 2.
- С каждой виртуальной машины инициируйте исходящее подключение к устройству, подключенному к Интернету по протоколу 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.