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

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

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

Предварительные требования

  • Убедитесь, что внутренняя подсистема балансировки нагрузки Azure расположена в том регионе Azure, из которого вы намерены его переместить.

  • Внутренние подсистемы балансировки нагрузки Azure нельзя перемещать между регионами. Необходимо связать новую подсистему балансировки нагрузки с ресурсами в целевом регионе.

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

  • Определите структуру сети в исходном регионе и все ресурсы, которые вы сейчас используете. Сюда могут входить, среди прочего, подсистемы балансировки нагрузки, группы безопасности сети, виртуальные машины и виртуальные сети.

  • Убедитесь, что ваша подписка Azure позволяет создавать внутренние подсистемы балансировки нагрузки в вашем целевом регионе. Свяжитесь со службой поддержки, чтобы включить необходимые квоты.

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

Подготовка и перемещение

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

Примечание

Для взаимодействия с Azure рекомендуется использовать модуль Azure Az PowerShell. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Экспорт шаблона виртуальной сети и его развертывание с портала Azure

  1. Войдите в портал Azure>Группы ресурсов.

  2. Найдите группу ресурсов, содержащую исходную виртуальную сеть, и выберите ее.

  3. Выберите >Параметры>Экспорт шаблона.

  4. Выберите Развернуть в разделе Экспорт шаблона.

  5. Выберите ШАБЛОН>Изменить параметры , чтобы открыть файл parameters.json в интерактивном редакторе.

  6. Чтобы изменить параметр имени виртуальной сети, измените свойство value в разделе parameters:

    {
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "virtualNetworks_myVNET1_name": {
                "value": "<target-virtual-network-name>"
            }
        }
    }
    
  7. Измените значение имени исходной виртуальной сети в редакторе на нужное имя для целевой виртуальной сети. Убедитесь, что имя заключено в кавычки.

  8. Выберите в редакторе команду Сохранить.

  9. Выберите Шаблон>Изменить шаблон , чтобы открыть файл template.json в интерактивном редакторе.

  10. Чтобы изменить целевой регион, в который будет перемещена виртуальная сеть, измените свойство location в разделе ресурсов:

    "resources": [
                {
                    "type": "Microsoft.Network/virtualNetworks",
                    "apiVersion": "2019-06-01",
                    "name": "[parameters('virtualNetworks_myVNET1_name')]",
                    "location": "<target-region>",
                    "properties": {
                        "provisioningState": "Succeeded",
                        "resourceGuid": "6e2652be-35ac-4e68-8c70-621b9ec87dcb",
                        "addressSpace": {
                            "addressPrefixes": [
                                "10.0.0.0/16"
                            ]
                        },
    
    
  11. Чтобы получить коды расположения регионов, см. статью Расположения Azure. Код региона — это имя региона без пробелов, Central US = centralus.

  12. Кроме того, при необходимости можно изменить другие параметры в файле шаблона template.json:

    • Адресное пространство — адресное пространство виртуальной сети можно изменить перед сохранением в разделе resources>addressSpace, отредактировав свойство addressPrefixes в файле template.json:

              "resources": [
                  {
                  "type": "Microsoft.Network/virtualNetworks",
                  "apiVersion": "2019-06-01",
                  "name": "[parameters('virtualNetworks_myVNET1_name')]",
                  "location": "<target-region",
                  "properties": {
                  "provisioningState": "Succeeded",
                  "resourceGuid": "6e2652be-35ac-4e68-8c70-621b9ec87dcb",
                  "addressSpace": {
                      "addressPrefixes": [
                      "10.0.0.0/16"
                      ]
                  },
      
      
    • Подсеть — имя и адресное пространство подсети можно добавить или изменить в разделе subnets файла template.json. Имя подсети можно изменить, отредактировав свойство name. Адресное пространство подсети можно изменить, отредактировав свойство addressPrefix в файле template.json:

              "subnets": [
                  {
                  "name": "subnet-1",
                  "etag": "W/\"d9f6e6d6-2c15-4f7c-b01f-bed40f748dea\"",
                  "properties": {
                  "provisioningState": "Succeeded",
                  "addressPrefix": "10.0.0.0/24",
                  "delegations": [],
                  "privateEndpointNetworkPolicies": "Enabled",
                  "privateLinkServiceNetworkPolicies": "Enabled"
                  }
                  },
                  {
                  "name": "GatewaySubnet",
                  "etag": "W/\"d9f6e6d6-2c15-4f7c-b01f-bed40f748dea\"",
                  "properties": {
                  "provisioningState": "Succeeded",
                  "addressPrefix": "10.0.1.0/29",
                  "serviceEndpoints": [],
                  "delegations": [],
                  "privateEndpointNetworkPolicies": "Enabled",
                  "privateLinkServiceNetworkPolicies": "Enabled"
                  }
                  }
      
              ]
      

      Для изменения префикса адреса в файле template.json его необходимо отредактировать в двух местах: в указанном выше разделе и в разделе type, который описан ниже. Измените свойство addressPrefix, как указано выше:

       "type": "Microsoft.Network/virtualNetworks/subnets",
         "apiVersion": "2019-06-01",
         "name": "[concat(parameters('virtualNetworks_myVNET1_name'), '/GatewaySubnet')]",
            "dependsOn": [
               "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_myVNET1_name'))]"
                 ],
            "properties": {
               "provisioningState": "Succeeded",
               "addressPrefix": "10.0.1.0/29",
               "serviceEndpoints": [],
               "delegations": [],
               "privateEndpointNetworkPolicies": "Enabled",
               "privateLinkServiceNetworkPolicies": "Enabled"
                }
               },
                {
                "type": "Microsoft.Network/virtualNetworks/subnets",
                "apiVersion": "2019-06-01",
                "name": "[concat(parameters('virtualNetworks_myVNET1_name'), '/subnet-1')]",
                   "dependsOn": [
                      "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_myVNET1_name'))]"
                        ],
                   "properties": {
                      "provisioningState": "Succeeded",
                      "addressPrefix": "10.0.0.0/24",
                      "delegations": [],
                      "privateEndpointNetworkPolicies": "Enabled",
                      "privateLinkServiceNetworkPolicies": "Enabled"
                       }
                }
       ]
      
  13. Выберите Сохранить в интерактивном редакторе.

  14. Выберите Подписка BASICS>, чтобы выбрать подписку, в которой будет развернута целевая виртуальная сеть.

  15. Выберите Основные сведения>Группа ресурсов , чтобы выбрать группу ресурсов, в которой будет развернута целевая виртуальная сеть. Можно выбрать Создать, чтобы создать группу ресурсов для целевой виртуальной сети. Убедитесь, что имя не совпадает с исходной группой ресурсов существующей виртуальной сети.

  16. Убедитесь, что для параметра ОСНОВНЫЕ СВЕДЕНИЯ>Расположение установлено значение в виде целевого расположения, где планируется развернуть виртуальную сеть.

  17. В разделе ПАРАМЕТРЫ убедитесь, что имя совпадает с именем, указанным ранее в редакторе параметров.

  18. Установите флажок в разделе УСЛОВИЯ.

  19. Нажмите кнопку Приобрести , чтобы развернуть целевую виртуальную сеть.

Экспорт шаблона внутренней подсистемы балансировки нагрузки и развертывание из Azure PowerShell

  1. Выберите портал Azure>Группы ресурсов.

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

  3. Выберите >Параметры>Экспорт шаблона.

  4. Выберите Развернуть в разделе Экспорт шаблона.

  5. Выберите ШАБЛОН>Изменить параметры , чтобы открыть файл parameters.json в интерактивном редакторе.

  6. Чтобы изменить параметр имени внутренней подсистемы балансировки нагрузки, отредактируйте свойство defaultValue, заменив исходное имя внутренней подсистемы именем своей целевой внутренней подсистемы балансировки нагрузки (и не забудьте заключить его в кавычки):

         "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
         "contentVersion": "1.0.0.0",
         "parameters": {
            "loadBalancers_myLoadBalancer_name": {
            "defaultValue": "<target-internal-lb-name>",
            "type": "String"
             },
            "virtualNetworks_myVNET2_internalid": {
             "defaultValue": "<target-vnet-resource-ID>",
             "type": "String"
             }
    
  7. Чтобы изменить целевую виртуальную сеть, которая была перемещена выше, сначала необходимо получить идентификатор ресурса, а затем скопировать и вставить его в файл parameters.json. Получение идентификатора

    1. Выберите портал Azure>Группы ресурсов на другой вкладке или окне браузера.

    2. Найдите целевую группу ресурсов, содержащую перемещенную виртуальную сеть, и выберите ее.

    3. Выберите >Параметры>Свойства.

    4. В правой части портала выделите идентификатор ресурса и скопируйте его в буфер обмена. Кроме того, можно нажать кнопку копирования в буфер обмена справа от пути к идентификатору ресурса .

    5. Вставьте идентификатор ресурса в свойство defaultValue в редакторе Изменение параметров, который открыт в другом окне или в другой вкладке браузера.

       "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
       "contentVersion": "1.0.0.0",
       "parameters": {
          "loadBalancers_myLoadBalancer_name": {
          "defaultValue": "<target-internal-lb-name>",
          "type": "String"
           },
          "virtualNetworks_myVNET2_internalid": {
           "defaultValue": "<target-vnet-resource-ID>",
           "type": "String"
           }
      
    6. Выберите Сохранить в интерактивном редакторе.

  8. Выберите Шаблон>Изменить шаблон , чтобы открыть файл template.json в интерактивном редакторе.

  9. Чтобы изменить целевой регион, в который будет перемещена конфигурация внутренней подсистемы балансировки нагрузки, измените свойство location в разделе resources в файле template.json:

        "resources": [
            {
                "type": "Microsoft.Network/loadBalancers",
                "apiVersion": "2019-06-01",
                "name": "[parameters('loadBalancers_myLoadBalancer_name')]",
                "location": "<target-internal-lb-region>",
                "sku": {
                    "name": "Standard",
                    "tier": "Regional"
                },
    
  10. Чтобы получить коды расположения регионов, см. статью Расположения Azure. Код региона — это имя региона без пробелов, Central US = centralus.

  11. Кроме того, при необходимости можно изменить другие параметры в шаблоне:

    • SKU: вы можете сменить номер SKU внутренней подсистемы балансировки нагрузки в конфигурации с уровня "Стандартный" на "Базовый" и наоборот, отредактировав значение свойства sku>name в файле template.json.

      "resources": [
      {
          "type": "Microsoft.Network/loadBalancers",
          "apiVersion": "2019-06-01",
          "name": "[parameters('loadBalancers_myLoadBalancer_name')]",
          "location": "<target-internal-lb-region>",
          "sku": {
              "name": "Standard",
              "tier": "Regional"
          },
      

      Дополнительные сведения о различиях между SKU подсистемам балансировки нагрузки в категориях "Базовый" и "Стандартный" см. в статье с обзором подсистемы балансировки нагрузки (ценовая категория "Стандартный") Azure.

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

      "frontendIPConfigurations": [
      { 
          "name": "myfrontendIPinbound",
          "etag": "W/\"39e5e9cd-2d6d-491f-83cf-b37a259d86b6\"",
          "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
          "properties": {
              "provisioningState": "Succeeded",
              "privateIPAddress": "10.0.0.6",
              "privateIPAllocationMethod": "Dynamic",
              "subnet": {
                  "id": "[concat(parameters('virtualNetworks_myVNET2_internalid'), '/subnet-1')]"
              },
              "loadBalancingRules": [
                  {
                      "id": "[concat(resourceId('Microsoft.Network/loadBalancers', parameters('loadBalancers_myLoadBalancer_name')), '/loadBalancingRules/myInboundRule')]"
                  }
              ],
              "privateIPAddressVersion": "IPv4"
          },
          "zones": [
              "1",
              "2",
              "3"
          ]
      },
      

      Дополнительные сведения о зонах доступности см. в статье Регионы и зоны доступности в Azure.

    • Правила балансировки нагрузки: добавлять и удалять правила балансировки нагрузки в конфигурации можно путем добавления и удаления записей в разделе loadBalancingRules файла template.json.

      "loadBalancingRules": [
                  {
                      "name": "myInboundRule",
                      "etag": "W/\"39e5e9cd-2d6d-491f-83cf-b37a259d86b6\"",
                      "properties": {
                          "provisioningState": "Succeeded",
                          "frontendIPConfiguration": {
                              "id": "[concat(resourceId('Microsoft.Network/loadBalancers', parameters('loadBalancers_myLoadBalancer_name')), '/frontendIPConfigurations/myfrontendIPinbound')]"
                          },
                          "frontendPort": 80,
                          "backendPort": 80,
                          "enableFloatingIP": false,
                          "idleTimeoutInMinutes": 4,
                          "protocol": "Tcp",
                          "enableTcpReset": false,
                          "loadDistribution": "Default",
                          "disableOutboundSnat": true,
                          "backendAddressPool": {
                              "id": "[concat(resourceId('Microsoft.Network/loadBalancers', parameters('loadBalancers_myLoadBalancer_name')), '/backendAddressPools/myBEPoolInbound')]"
                          },
                          "probe": {
                              "id": "[concat(resourceId('Microsoft.Network/loadBalancers', parameters('loadBalancers_myLoadBalancer_name')), '/probes/myHTTPProbe')]"
                          }
                      }
                  }
              ]
      

      Дополнительные сведения о правилах балансировки нагрузки см. в разделе Что такое Azure Load Balancer?.

    • Пробы: добавить или удалить пробу для подсистемы балансировки нагрузки в конфигурации можно путем добавления или удаления записей в разделе probes файла template.json.

      "probes": [
                  {
                      "name": "myHTTPProbe",
                      "etag": "W/\"39e5e9cd-2d6d-491f-83cf-b37a259d86b6\"",
                      "properties": {
                          "provisioningState": "Succeeded",
                          "protocol": "Http",
                          "port": 80,
                          "requestPath": "/",
                          "intervalInSeconds": 15,
                          "numberOfProbes": 2
                      }
                  }
              ],
      

      Дополнительные сведения о пробах работоспособности Azure Load Balancer см. в этой статье.

    • Правила NAT для входящего трафика: добавить или удалить правила NAT для входящего трафика, относящиеся к подсистеме балансировки нагрузки, можно путем добавления или удаления записей в разделе inboundNatRules файла template.json.

      "inboundNatRules": [
                  {
                      "name": "myInboundNATRule",
                      "etag": "W/\"39e5e9cd-2d6d-491f-83cf-b37a259d86b6\"",
                      "properties": {
                          "provisioningState": "Succeeded",
                          "frontendIPConfiguration": {
                              "id": "[concat(resourceId('Microsoft.Network/loadBalancers', parameters('loadBalancers_myLoadBalancer_name')), '/frontendIPConfigurations/myfrontendIPinbound')]"
                          },
                          "frontendPort": 4422,
                          "backendPort": 3389,
                          "enableFloatingIP": false,
                          "idleTimeoutInMinutes": 4,
                          "protocol": "Tcp",
                          "enableTcpReset": false
                      }
                  }
              ]
      

      Чтобы завершить добавление или удаление правила NAT для входящего трафика, оно должно присутствовать в качестве свойства type в конце файла template.json.

      {
          "type": "Microsoft.Network/loadBalancers/inboundNatRules",
          "apiVersion": "2019-06-01",
          "name": "[concat(parameters('loadBalancers_myLoadBalancer_name'), '/myInboundNATRule')]",
          "dependsOn": [
              "[resourceId('Microsoft.Network/loadBalancers', parameters('loadBalancers_myLoadBalancer_name'))]"
          ],
          "properties": {
              "provisioningState": "Succeeded",
              "frontendIPConfiguration": {
                  "id": "[concat(resourceId('Microsoft.Network/loadBalancers', parameters('loadBalancers_myLoadBalancer_name')), '/frontendIPConfigurations/myfrontendIPinbound')]"
              },
              "frontendPort": 4422,
              "backendPort": 3389,
              "enableFloatingIP": false,
              "idleTimeoutInMinutes": 4,
              "protocol": "Tcp",
              "enableTcpReset": false
          }
      }
      

      Дополнительные сведения о правилах NAT для входящего трафика см. в статье Что такое Azure Load Balancer?.

  12. Выберите Сохранить в интерактивном редакторе.

  13. Выберите Подписка BASICS>, чтобы выбрать подписку, в которой будет развернута целевая внутренняя подсистема балансировки нагрузки.

  14. Выберите ОСНОВЫ>Группа ресурсов, чтобы выбрать группу ресурсов, где будет развернут целевой балансировщик нагрузки. Можно выбрать Создать, чтобы создать новую группу ресурсов для целевой внутренней подсистемы балансировки нагрузки, или выбрать существующую группу ресурсов, созданную ранее для виртуальной сети. Убедитесь, что ее имя не совпадает с именем исходной группы ресурсов для существующей исходной внутренней подсистемы балансировки нагрузки.

  15. Убедитесь, что параметру ОСНОВЫ>Расположение присвоено значение в виде целевого расположения, где должна быть развернута внутренняя подсистема балансировки нагрузки.

  16. В разделе ПАРАМЕТРЫ убедитесь, что имя совпадает с именем, указанным ранее в редакторе параметров. Убедитесь, что поля идентификаторов ресурсов заполнены для всех виртуальных сетей в конфигурации.

  17. Установите флажок в разделе УСЛОВИЯ.

  18. Нажмите кнопку Приобрести , чтобы развернуть целевую виртуальную сеть.

Игнорировать

Если вы хотите отменить целевую виртуальную сеть и внутреннюю подсистему балансировки нагрузки, удалите содержащую их группу ресурсов. Для этого выберите группу ресурсов на панели мониторинга портала, а затем выберите Удалить в верхней части страницы обзора.

Очистка

Чтобы зафиксировать изменения и завершить перемещение виртуальной сети и внутренней подсистемы балансировки нагрузки, удалите исходную виртуальную сеть и внутреннюю подсистему балансировки нагрузки или группу ресурсов. Для этого выберите виртуальную сеть, внутреннюю подсистему балансировки нагрузки или группу ресурсов на панели мониторинга на портале и щелкните Удалить в верхней части каждой страницы.

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

В этом руководстве вы узнали, как переместить внутреннюю подсистему балансировки нагрузки Azure из одного региона в другой и очистить исходные ресурсы. Дополнительные сведения о перемещении ресурсов между регионами и аварийном восстановлении в Azure см. по следующей ссылке: