Развертывание решения балансировки нагрузки для Интернета с поддержкой IPv6 с помощью шаблонаDeploy an Internet-facing load-balancer solution with IPv6 using a template

Azure Load Balancer является балансировщиком нагрузки 4-го уровня (TCP, UDP).An Azure load balancer is a Layer-4 (TCP, UDP) load balancer. Балансировщик нагрузки обеспечивает высокий уровень доступности, распределяя входящий трафик между работоспособными экземплярами службы в облачных службах или виртуальных машинах, определенных в наборе балансировщика нагрузки.The load balancer provides high availability by distributing incoming traffic among healthy service instances in cloud services or virtual machines in a load balancer set. Azure Load Balancer может также представить данные службы на нескольких портах, нескольких IP-адресах или обоими этими способами.Azure Load Balancer can also present those services on multiple ports, multiple IP addresses, or both.

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

На следующей схеме показано решение балансировки нагрузки, которое развертывается в этой статье с помощью примера шаблона.The following diagram illustrates the load balancing solution being deployed using the example template described in this article.

Сценарий использования балансировщика нагрузки

В этом сценарии вы создадите следующие ресурсы Azure:In this scenario you will create the following Azure resources:

  • виртуальный сетевой интерфейс для каждой виртуальной машины с назначенными IPv4 и IPv6-адресами;a virtual network interface for each VM with both IPv4 and IPv6 addresses assigned
  • балансировщик нагрузки для Интернета с общедоступными IPv4- и IPv6-адресами;an Internet-facing Load Balancer with an IPv4 and an IPv6 Public IP address
  • два правила балансировки нагрузки для сопоставления общедоступных виртуальных IP-адресов с частными конечными точками;two load balancing rules to map the public VIPs to the private endpoints
  • группу доступности, которая содержит две виртуальные машины;an Availability Set that contains the two VMs
  • две виртуальные машины.two virtual machines (VMs)

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

Эта статья ссылается на шаблон,опубликованный в коллекции Шаблоны быстрого запуска Azure.This article references a template that is published in the Azure Quickstart Templates gallery. Вы можете скачать шаблон из коллекции или запустить развертывание в Azure непосредственно из коллекции.You can download the template from the gallery or launch the deployment in Azure directly from the gallery. В этой статье предполагается, что вы скачали шаблон на локальный компьютер.This article assumes you have downloaded the template to your local computer.

  1. Откройте портал Azure и выполните вход с помощью учетной записи, имеющей разрешения на создание виртуальных машин и сетевых ресурсов в рамках подписки Azure.Open the Azure portal and sign in with an account that has permissions to create VMs and networking resources within an Azure subscription. Кроме того, учетной записи необходимы разрешения на создание группы ресурсов и учетной записи хранения (это не требуется, если вы используете существующие ресурсы).Also, unless you're using existing resources, the account needs permission to create a resource group and a storage account.

  2. В меню щелкните "+ Создать", а затем введите в поле поиска "template".Click "+New" from the menu then type "template" in the search box. В результатах поиска выберите "Развертывание шаблона".Select "Template deployment" from the search results.

    lb-ipv6-portal-step2

  3. В колонке "Все" щелкните "Развертывание шаблона".In the Everything blade, click "Template deployment."

    lb-ipv6-portal-step3

  4. Нажмите кнопку "Создать".Click "Create."

    lb-ipv6-portal-step4

  5. Щелкните "Изменить шаблон".Click "Edit template." Удалите имеющееся содержимое, затем скопируйте и вставьте все содержимое файла шаблона (включая начальный и конечный символы {}). Затем нажмите кнопку "Сохранить".Delete the existing contents and copy/paste in the entire contents of the template file (to include the start and end { }), then click "Save."

    Примечание

    Если вы используете Microsoft Internet Explorer, то при вставке отображается диалоговое окно, запрашивающее разрешение на доступ к буферу обмена Windows.If you are using Microsoft Internet Explorer, when you paste you receive a dialog box asking you to allow access to the Windows clipboard. Нажмите кнопку "Разрешить доступ".Click "Allow access."

    lb-ipv6-portal-step5

  6. Щелкните "Изменить параметры".Click "Edit parameters." В колонке "Параметры" укажите значения, которые приведены в разделе "Параметры шаблона", а затем нажмите кнопку "Сохранить", чтобы закрыть колонку "Параметры".In the Parameters blade, specify the values per the guidance in the Template parameters section, then click "Save" to close the Parameters blade. В колонке "Настраиваемое развертывание" выберите подписку и существующую группу ресурсов (или создайте новую).In the Custom Deployment blade, select your subscription, an existing resource group or create one. Если вы создаете группу ресурсов, то выберите для нее расположение.If you are creating a resource group, then select a location for the resource group. Затем щелкните Условия и выберите Приобрести.Next, click Legal terms, then click Purchase for the legal terms. Azure начнет развертывание ресурсов.Azure begins deploying the resources. Развертывание всех ресурсов займет несколько минут.It takes several minutes to deploy all the resources.

    lb-ipv6-portal-step6

    Дополнительные сведения об этих параметрах см. в разделе Параметры и переменные шаблона далее в этой статье.For more information about these parameters, see the Template parameters and variables section later in this article.

  7. Чтобы просмотреть ресурсы, созданные с помощью шаблона, щелкните "Обзор", прокрутите список вниз до пункта "Группы ресурсов" и выберите его.To see the resources created by the template, click Browse, scroll down the list until you see "Resource groups," then click it.

    lb-ipv6-portal-step7

  8. В колонке "Группы ресурсов" щелкните имя группы ресурсов, которое вы указали на шаге 6.On the Resource groups blade, click the name of the resource group you specified in step 6. Отобразится список всех развернутых ресурсов.You see a list of all the resources that were deployed. Если все прошло успешно, то в разделе "Последнее развертывание" должно отобразиться "Выполнено".If all went well, it should say "Succeeded" under "Last deployment." Если это не так, проверьте, имеет ли используемая вами учетная запись разрешения на создание необходимых ресурсов.If not, ensure that the account you're using has permissions to create the necessary resources.

    lb-ipv6-portal-step8

    Примечание

    Если просмотреть "Группы ресурсов" сразу после выполнения шага 6, то в разделе "Последнее развертывание" будет отображаться состояние "Идет развертывание", так как ресурсы еще развертываются.If you browse your Resource Groups immediately after completing step 6, "Last deployment" will display the status of "Deploying" while the resources are being deployed.

  9. В список ресурсов выберите myIPv6PublicIP.Click "myIPv6PublicIP" in the list of resources. Вы увидите, что в качестве IP-адреса указан IPv6-адрес, а значение DNS-имени соответствует тому, которое вы указали для параметра dnsNameforIPv6LbIP на шаге 6.You see that it has an IPv6 address under IP address, and that its DNS name is the value you specified for the dnsNameforIPv6LbIP parameter in step 6. Этот ресурс является общедоступным IPv6-адресом и именем узла, доступным для Интернет-клиентов.This resource is the public IPv6 address and host name that is accessible to Internet-clients.

    lb-ipv6-portal-step9

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

После успешного развертывания шаблона можно проверить подключение, выполнив следующие действия:When the template has deployed successfully, you can validate connectivity by completing the following tasks:

  1. Войдите на портал Azure и подключитесь к каждой из виртуальных машин, созданных при развертывании шаблона.Sign in to the Azure portal and connect to each of the VMs created by the template deployment. Если была развернута виртуальная машина Windows Server, то в командной строке введите ipconfig / all.If you deployed a Windows Server VM, run ipconfig /all from a command prompt. Вы видите, что виртуальные машины имеют оба адреса — IPv4 и IPv6.You see that the VMs have both IPv4 and IPv6 addresses. Если были развернуты виртуальные машины Linux, то в ОС Linux необходимо настроить получение динамических IPv6-адресов, руководствуясь инструкциями к дистрибутиву Linux.If you deployed Linux VMs, you need to configure the Linux OS to receive dynamic IPv6 addresses using the instructions provided for your Linux distribution.
  2. Из клиента, подключенного к Интернету по протоколу IPv6, инициируйте подключение к общедоступному IPv6-адресу балансировщика нагрузки.From an IPv6 Internet-connected client, initiate a connection to the public IPv6 address of the load balancer. Чтобы убедиться, что балансировщик нагрузки выполняет балансировку между двумя виртуальными машинами, можно установить на каждой виртуальной машине веб-сервер, например Microsoft IIS.To confirm that the load balancer is balancing between the two VMs, you could install a web server like Microsoft Internet Information Services (IIS) on each of the VMs. Для уникальной идентификации каждого сервера его веб-страница по умолчанию может содержать текст "Server0" или "Server1".The default web page on each server could contain the text "Server0" or "Server1" to uniquely identify it. Затем, чтобы выполнить сквозную проверку IPv6-подключения к каждой виртуальной машине, откройте браузер на клиенте, подключенном к Интернету по протоколу IPv6, и перейдите к узлу, имя которого вы указали для параметра dnsNameforIPv6LbIP балансировщика нагрузки.Then, open an Internet browser on an IPv6 Internet-connected client and browse to the hostname you specified for the dnsNameforIPv6LbIP parameter of the load balancer to confirm end-to-end IPv6 connectivity to each VM. Если вам удается просмотреть веб-страницу только с одного сервера, то, возможно, необходимо очистить кэш браузера.If you only see the web page from only one server, you may need to clear your browser cache. Откройте несколько сеансов в режиме закрытого просмотра.Open multiple private browsing sessions. Вы должны получить ответ от каждого сервера.You should see a response from each server.
  3. Из клиента, подключенного к Интернету по протоколу IPv4, инициируйте подключение к общедоступному IPv4-адресу балансировщика нагрузки.From an IPv4 Internet-connected client, initiate a connection to the public IPv4 address of the load balancer. Чтобы убедиться, что балансировщик нагрузки выполняет балансировку между двумя виртуальными машинами, можно выполнить проверку с помощью IIS, как описано на шаге 2.To confirm that the load balancer is load balancing the two VMs, you could test using IIS, as detailed in Step 2.
  4. С каждой виртуальной машины инициируйте исходящее подключение к устройству, подключенному к Интернету по протоколу IPv4 или IPv6.From each VM, initiate an outbound connection to an IPv6 or IPv4-connected Internet device. В обоих случаях исходный IP-адрес, отображаемый на устройстве назначения, является общедоступным IPv4 или IPv6-адресом балансировщика нагрузки.In both cases, the source IP seen by the destination device is the public IPv4 or IPv6 address of the load balancer.

Примечание

В сети Azure ICMP-трафик для протоколов IPv4 и IPv6 заблокирован.ICMP for both IPv4 and IPv6 is blocked in the Azure network. Поэтому при запуске инструментов ICMP, таких как проверка связи, всегда происходит сбой.As a result, ICMP tools like ping always fail. Чтобы проверить подключение, воспользуйтесь аналогичным инструментом TCP (например TCPing) или командлетом PowerShell Test-NetConnection.To test connectivity, use a TCP alternative such as TCPing or the PowerShell Test-NetConnection cmdlet. Обратите внимание, что IP-адреса, показанные на схеме, являются примерами значений, которые могут отобразиться.Note that the IP addresses shown in the diagram are examples of values that you might see. Так как IPv6-адреса назначаются динамически, полученные вами адреса будут отличаться и могут быть разными для разных регионов.Since the IPv6 addresses are assigned dynamically, the addresses you receive will differ and can vary by region. Кроме того, общедоступные IPv6-адреса балансировщика нагрузки часто начинаются с префиксов, которые отличаются от префиксов частных IPv6-адресов во внутреннем пуле.Also, it is common for the public IPv6 address on the load balancer to start with a different prefix than the private IPv6 addresses in the back-end pool.

Параметры и переменные шаблонаTemplate parameters and variables

Шаблон Azure Resource Manager содержит несколько переменных и параметров, которые можно настроить в соответствии со своими потребностями.An Azure Resource Manager template contains multiple variables and parameters that you can customize to your needs. Переменные используются для фиксированных значений, которые не должны изменяться пользователем.Variables are used for fixed values that you do not want a user to change. Параметры используются для значений, которые пользователь должен указывать при развертывании шаблона.Parameters are used for values that you want a user to provide when deploying the template. Пример шаблона настроен для сценария, описанного в этой статье.The example template is configured for the scenario described in this article. Вы можете изменить настройки в соответствии с потребностями своей среды.You can customize this to needs of your environment.

Пример шаблона, используемый в этой статье, включает следующие переменные и параметры:The example template used in this article includes the following variables and parameters:

Параметр / переменнаяParameter / Variable ПримечанияNotes
adminUsernameadminUsername Укажите имя учетной записи администратора, которое используется для входа в виртуальные машины.Specify the name of the admin account used to sign in to the virtual machines with.
adminPasswordadminPassword Укажите пароль учетной записи администратора, который используется для входа в виртуальные машины.Specify the password for the admin account used to sign in to the virtual machines with.
dnsNameforIPv4LbIPdnsNameforIPv4LbIP Укажите имя узла DNS, которое необходимо назначить в качестве общедоступного имени балансировщика нагрузки.Specify the DNS host name you want to assign as the public name of the load balancer. Это имя разрешается в общедоступный IPv4-адрес балансировщика нагрузки.This name resolves to the load balancer's public IPv4 address. Оно должно вводиться в нижнем регистре и соответствовать регулярному выражению: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$.The name must be lowercase and match the regex: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$.
dnsNameforIPv6LbIPdnsNameforIPv6LbIP Укажите имя узла DNS, которое необходимо назначить в качестве общедоступного имени балансировщика нагрузки.Specify the DNS host name you want to assign as the public name of the load balancer. Это имя разрешается в общедоступный IPv6-адрес балансировщика нагрузки.This name resolves to the load balancer's public IPv6 address. Оно должно вводиться в нижнем регистре и соответствовать регулярному выражению: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$.The name must be lowercase and match the regex: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. Это имя может совпадать с IPv4-адресом.This can be the same name as the IPv4 address. Когда клиент отправляет запрос DNS для получения этого имени, то при предоставлении имени Azure возвращает как запись A, так и запись AAAA.When a client sends a DNS query for this name Azure will return both the A and AAAA records when the name is shared.
vmNamePrefixvmNamePrefix Укажите префикс для имени виртуальной машины.Specify the VM name prefix. При создании виртуальных машин шаблоном к имени добавляется число (0, 1 и т. д.).The template appends a number (0, 1, etc.) to the name when the VMs are created.
nicNamePrefixnicNamePrefix Укажите префикс для имени сетевого интерфейса.Specify the network interface name prefix. При создании сетевых интерфейсов шаблоном к имени добавляется число (0, 1 и т. д.).The template appends a number (0, 1, etc.) to the name when the network interfaces are created.
storageAccountNamestorageAccountName Введите имя существующей учетной записи хранения или укажите имя новой записи, которая будет создана шаблоном.Enter the name of an existing storage account or specify the name of a new one to be created by the template.
availabilitySetNameavailabilitySetName Введите имя группы доступности, которая будет использоваться с виртуальными машинами.Enter then name of the availability set to be used with the VMs
addressPrefixaddressPrefix Префикс адреса, который используется для определения диапазона адресов виртуальной сети.The address prefix used to define the address range of the Virtual Network
subnetNamesubnetName Имя подсети, создаваемой в виртуальной сети.The name of the subnet in created for the VNet
subnetPrefixsubnetPrefix Префикс адреса, который используется для определения диапазона адресов подсети.The address prefix used to define the address range of the subnet
vnetNamevnetName Укажите имя для виртуальной сети, используемой виртуальными машинами.Specify the name for the VNet used by the VMs.
ipv4PrivateIPAddressTypeipv4PrivateIPAddressType Метод распределения, используемый для частного IP-адреса (статический или динамический).The allocation method used for the private IP address (Static or Dynamic)
ipv6PrivateIPAddressTypeipv6PrivateIPAddressType Метод распределения, используемый для частного IP-адреса (динамический).The allocation method used for the private IP address (Dynamic). Протокол IPv6 поддерживает только динамическое распределение.IPv6 only supports Dynamic allocation.
numberOfInstancesnumberOfInstances Количество экземпляров балансировщика нагрузки, развертываемых шаблоном.The number of load balanced instances deployed by the template
ipv4PublicIPAddressNameipv4PublicIPAddressName Укажите DNS-имя, которое необходимо использовать для взаимодействия с общедоступным IPv4-адресом балансировщика нагрузки.Specify the DNS name you want to use to communicate with the public IPv4 address of the load balancer.
ipv4PublicIPAddressTypeipv4PublicIPAddressType Метод распределения, используемый для общедоступного IP-адреса (статический или динамический).The allocation method used for the public IP address (Static or Dynamic)
Ipv6PublicIPAddressNameIpv6PublicIPAddressName Укажите DNS-имя, которое необходимо использовать для взаимодействия с общедоступным IPv6-адресом балансировщика нагрузки.Specify the DNS name you want to use to communicate with the public IPv6 address of the load balancer.
ipv6PublicIPAddressTypeipv6PublicIPAddressType Метод распределения, используемый для общедоступного IP-адреса (динамический).The allocation method used for the public IP address (Dynamic). Протокол IPv6 поддерживает только динамическое распределение.IPv6 only supports Dynamic allocation.
lbNamelbName Укажите имя балансировщика нагрузки.Specify the name of the load balancer. Это имя отображается на портале, а также используется интерфейсом командной строки и командами PowerShell.This name is displayed in the portal or used when referring to it with a CLI or PowerShell command.

Остальные переменные в шаблоне содержат производные значения, которые назначаются, когда Azure создает ресурсы.The remaining variables in the template contain derived values that are assigned when Azure creates the resources. Не изменяйте эти переменные.Do not change those variables.

Дальнейшие действияNext steps

Синтаксис JSON и свойства подсистемы балансировки нагрузки в шаблоне, см. в разделе Microsoft.Network/loadBalancers.For the JSON syntax and properties of a load balancer in a template, see Microsoft.Network/loadBalancers.