Добавление IPv6 в приложение IPv4 в виртуальной сети Azure с помощью Azure CLI

В этой статье показано, как добавить IPv6-адреса в приложение, которое использует общедоступный IP-адрес версии IPv4 в виртуальной сети Azure для Load Balancer (цен. категория "Стандартный") с помощью Azure CLI. Обновление на месте включает виртуальную сеть и подсеть, Load Balancer (цен. категория "Стандартный") с конфигурациями внешнего интерфейса IPv4 + IPV6, виртуальные машины с сетевыми картами c конфигурациями IPv4 + IPv6, группу безопасности сети и общедоступные IP-адреса.

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

  • Используйте среду 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.

  • Для работы с этой статьей требуется Azure CLI версии 2.0.28 или более поздней. Если вы используете Azure Cloud Shell, последняя версия уже установлена.

Создание IPv6-адресов

Создайте общедоступный IPv6-адрес с помощью az network public-ip create для Load Balancer (цен. категория . В примере ниже создается общедоступный IP-адрес версии IPv6 с именем PublicIP_v6 в группе ресурсов myResourceGroupSLB.

az network public-ip create \
--name PublicIP_v6 \
--resource-group MyResourceGroupSLB \
--location EastUS \
--sku Standard \
--allocation-method static \
--version IPv6

Настройка внешнего интерфейса Load Balancer с IPv6

Настройте подсистему балансировки нагрузки с новым IP-адресом версии IPv6, используя команду az network lb frontend-ip create, как показано ниже:

az network lb frontend-ip create \
--lb-name myLoadBalancer \
--name dsLbFrontEnd_v6 \
--resource-group MyResourceGroupSLB \
--public-ip-address PublicIP_v6

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

Создайте серверный пул для сетевых карт с адресами IPv6, используя команду az network lb address-pool create, как показано ниже:

az network lb address-pool create \
--lb-name myLoadBalancer \
--name dsLbBackEndPool_v6 \
--resource-group MyResourceGroupSLB

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

Создайте правила подсистемы балансировки нагрузки с IPv6 с помощью команды az network lb rule create.

az network lb rule create \
--lb-name myLoadBalancer \
--name dsLBrule_v6 \
--resource-group MyResourceGroupSLB \
--frontend-ip-name dsLbFrontEnd_v6 \
--protocol Tcp \
--frontend-port 80 \
--backend-port 80 \
--backend-pool-name dsLbBackEndPool_v6

Добавление диапазонов адресов IPv6

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

az network vnet update \
--name myVnet  \
--resource-group MyResourceGroupSLB \
--address-prefixes  "10.0.0.0/16"  "fd00:db8:deca::/48"

az network vnet subnet update \
--vnet-name myVnet \
--name mySubnet \
--resource-group MyResourceGroupSLB \
--address-prefixes  "10.0.0.0/24"  "fd00:db8:deca:deed::/64"  

Добавление конфигурации IPv6 в сетевые карты

Настройте сетевые карты виртуальных машин с адресами IPv6 с помощью команды az network nic ip-config create, как показано ниже:

az network nic ip-config create \
--name dsIp6Config_NIC1 \
--nic-name myNicVM1 \
--resource-group MyResourceGroupSLB \
--vnet-name myVnet \
--subnet mySubnet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name dsLB

az network nic ip-config create \
--name dsIp6Config_NIC2 \
--nic-name myNicVM2 \
--resource-group MyResourceGroupSLB \
--vnet-name myVnet \
--subnet mySubnet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name myLoadBalancer

az network nic ip-config create \
--name dsIp6Config_NIC3 \
--nic-name myNicVM3 \
--resource-group MyResourceGroupSLB \
--vnet-name myVnet \
--subnet mySubnet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name myLoadBalancer

Виртуальная сеть IPv6 с двойным стеком на портале Azure

Вы можете просмотреть виртуальную сеть IPv6 с двумя стеками на портале Azure следующим образом:

  1. В строке поиска портала введите виртуальные сети и

  2. В окне виртуальная сеть выберите myVNet.

  3. Выберите Подключение устройства в Параметры, чтобы просмотреть подключенные сетевые интерфейсы. Виртуальная сеть двойного стека показывает три сетевых адаптера с конфигурациями IPv4 и IPv6.

    Screenshot of connected devices settings displaying IPv4 and IPv6 addresses on network interfaces.

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

Вы можете удалить ставшие ненужными группу ресурсов, виртуальную машину и все связанные с ней ресурсы, выполнив команду az group delete.

 az group delete --name MyAzureResourceGroupSLB

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

В этой статье вы изменили существующую подсистему Load Balancer (цен. категория "Стандартный") с конфигурацией IP внешнего интерфейса с IPv4 на конфигурацию с двойным стеком (IPv4 и IPv6). Вы также добавили конфигурации IPv6 в сетевые карты виртуальных машин в серверном пуле. Дополнительные сведения о поддержке IPv6 в виртуальных сетях Azure см. в статье Что такое IPv6 для виртуальной сети Azure?