Поделиться через


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

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

Требуемые конфигурации

Примените поиск в шаблоне по названиям разделов, чтобы понять их правильное расположение.

Диапазон адресов IPv6 (addressSpace) для виртуальной сети

Добавляемый раздел шаблона:

        "addressSpace": {
          "addressPrefixes": [
            "[variables('vnetv4AddressRange')]",
            "[variables('vnetv6AddressRange')]"    

Подсеть IPv6 в диапазоне адресов виртуальной сети IPv6

Добавляемый раздел шаблона:

          {
            "name": "V6Subnet",
            "properties": {
              "addressPrefix": "[variables('subnetv6AddressRange')]"
            }

Конфигурация IPv6 для сетевой карты

Добавляемый раздел шаблона:

          {
            "name": "ipconfig-v6",
            "properties": {
              "privateIPAllocationMethod": "Dynamic",
          "privateIPAddressVersion":"IPv6",
              "subnet": {
                "id": "[variables('v6-subnet-id')]"
              },
              "loadBalancerBackendAddressPools": [
                {
                  "id": "[concat(resourceId('Microsoft.Network/loadBalancers','loadBalancer'),'/backendAddressPools/LBBAP-v6')]"
                }

Правила группы безопасности сети IPv6 (NSG)

          {
            "name": "default-allow-rdp",
            "properties": {
              "description": "Allow RDP",
              "protocol": "Tcp",
              "sourcePortRange": "33819-33829",
              "destinationPortRange": "5000-6000",
              "sourceAddressPrefix": "fd00:db8:deca:deed::/64",
              "destinationAddressPrefix": "fd00:db8:deca:deed::/64",
              "access": "Allow",
              "priority": 1003,
              "direction": "Inbound"
            }

Условная конфигурация

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

    {
      "type": "Microsoft.Network/routeTables",
      "name": "v6route",
      "apiVersion": "[variables('ApiVersion')]",
      "location": "[resourceGroup().location]",
      "properties": {
        "routes": [
          {
            "name": "v6route",
            "properties": {
              "addressPrefix": "fd00:db8:deca:deed::/64",
              "nextHopType": "VirtualAppliance",
              "nextHopIpAddress": "fd00:db8:ace:f00d::1"
            }

Дополнительные настройки

Доступ к Интернету по протоколу IPv6 для виртуальной сети

{
            "name": "LBFE-v6",
            "properties": {
              "publicIPAddress": {
                "id": "[resourceId('Microsoft.Network/publicIPAddresses','lbpublicip-v6')]"
              }

Общедоступные IPv6-адреса

    {
      "apiVersion": "[variables('ApiVersion')]",
      "type": "Microsoft.Network/publicIPAddresses",
      "name": "lbpublicip-v6",
      "location": "[resourceGroup().location]",
      "sku": {
        "name": "Standard"
      },
      "properties": {
        "publicIPAllocationMethod": "Static",
        "publicIPAddressVersion": "IPv6"
      }

Внешний интерфейс IPv6 для Load Balancer

          {
            "name": "LBFE-v6",
            "properties": {
              "publicIPAddress": {
                "id": "[resourceId('Microsoft.Network/publicIPAddresses','lbpublicip-v6')]"
              }

Пул адресов серверной части IPv6 для Load Balancer

              "backendAddressPool": {
                "id": "[concat(resourceId('Microsoft.Network/loadBalancers', 'loadBalancer'), '/backendAddressPools/LBBAP-v6')]"
              },
              "protocol": "Tcp",
              "frontendPort": 8080,
              "backendPort": 8080
            },
            "name": "lbrule-v6"

Правила балансировщика нагрузки IPv6 для сопоставления входящих и исходящих портов

          {
            "name": "ipconfig-v6",
            "properties": {
              "privateIPAllocationMethod": "Dynamic",
          "privateIPAddressVersion":"IPv6",
              "subnet": {
                "id": "[variables('v6-subnet-id')]"
              },
              "loadBalancerBackendAddressPools": [
                {
                  "id": "[concat(resourceId('Microsoft.Network/loadBalancers','loadBalancer'),'/backendAddressPools/LBBAP-v6')]"
                }

Пример шаблона виртуальной машины в формате JSON

Чтобы развернуть приложение с двумя стеками IPv6 в виртуальной сети Azure с помощью шаблона Azure Resource Manager, просмотрите пример шаблона здесь.

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

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