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

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

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

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

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

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

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

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

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

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

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

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

Примечание.

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

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

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

  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:

    • Адресное пространство — адресное пространство виртуальной сети можно изменить перед сохранением, изменив раздел 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. Выберите группу ресурсов BASICS>, чтобы выбрать группу ресурсов, в которой будет развернута целевая виртуальная сеть. Вы можете выбрать "Создать" , чтобы создать новую группу ресурсов для целевой виртуальной сети. Убедитесь, что имя не совпадает с исходной группой ресурсов существующей виртуальной сети.

  16. Убедитесь, что расположение BASICS>задано в целевом расположении, в котором требуется развернуть виртуальную сеть.

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

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

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

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

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

  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 >ГруппыResource на другой вкладке браузера или окне.

    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. Проверьте в разделе SETTINGS, что имя совпадает с именем, введенным в редакторе параметров ранее. Убедитесь, что поля идентификаторов ресурсов заполнены для всех виртуальных сетей в конфигурации.

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

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

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

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

Очистка

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

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

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