Mover um balanceador de carga externo para outra região usando o portal do Azure

Há vários cenários em que é possível mover o balanceador de carga externo existente do Azure de uma região para outra. Por exemplo, talvez você queira criar um balanceador de carga externo com a mesma configuração para teste. Talvez você também queira mover um balanceador de carga externo para outra região como parte do planejamento de recuperação de desastre.

Em um sentido literal, não é possível mover um balanceador de carga externo do Azure de uma região para outra. Mas você pode usar um modelo do Azure Resource Manager para exportar a configuração existente e o endereço IP público de um balanceador de carga externo. Em seguida, você pode preparar o recurso em outra região ao exportar o balanceador de carga e o IP público para um modelo, modificar os parâmetros para corresponder à região de destino e implantar o modelo na nova região. Para obter mais informações sobre o Resource Manager e os modelos, confira Exportar grupos de recursos para modelos.

Pré-requisitos

  • Verifique se o balanceador de carga externo do Azure está na região do Azure da qual você quer mover.

  • Os balanceadores de carga externos do Azure não podem ser movidos entre regiões. Você precisa associar o novo balanceador de carga aos recursos na região de destino.

  • Para exportar uma configuração do balanceador de carga externo e implantar um modelo para criar um balanceador de carga externo em outra região, é necessário ter a função Colaborador de Rede ou superior.

  • Identifique o layout de rede de origem e todos os recursos que você está usando atualmente. Esse layout inclui, entre outros itens, balanceadores de carga, grupos de segurança de rede, IPs públicos e redes virtuais.

  • Verifique se a assinatura do Azure permite criar balanceadores de carga externos na região de destino. Contate o suporte para habilitar a cota necessária.

  • Sua assinatura precisa ter recursos suficientes para dar suporte à adição de balanceadores de carga. Veja Assinatura do Azure e limites, cotas e restrições de serviço.

Preparar e mover

As etapas a seguir mostram como preparar o balanceador de carga externo para a migração usando um modelo do Resource Manager e mover o balanceador de carga externo para a região de destino usando o portal do Azure. Primeiro, você deve exportar a configuração de IP público do balanceador de carga externo.

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Confira Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Exportar o modelo de IP público e implantar o IP público do portal

  1. Entre no portal do Azure e selecione Grupos de recursos.

  2. Localize o grupo de recursos que contém o IP público de origem e selecione-o.

  3. Selecione Configurações>Exportar modelo.

  4. Selecione Implantar em Exportar modelo.

  5. Selecione MODELO>Editar parâmetros para abrir o arquivo parameters.json no editor online.

  6. Para editar o parâmetro de nome do IP público, altere a propriedade valor em parâmetros do nome do IP público de origem para o nome do IP público de destino. Coloque o nome entre aspas.

            {
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "publicIPAddresses_myVM1pubIP_name": {
            "value": "<target-publicip-name>"
              }
             }
            }
    
    

    Selecione Salvar no editor.

  7. Selecione MODELO>Editar modelo para abrir o arquivo template.json no editor online.

  8. Para editar a região de destino para a qual o IP será movido, altere a propriedade localização em recursos:

            "resources": [
            {
            "type": "Microsoft.Network/publicIPAddresses",
            "apiVersion": "2019-06-01",
            "name": "[parameters('publicIPAddresses_myPubIP_name')]",
            "location": "<target-region>",
            "sku": {
                "name": "Standard",
                "tier": "Regional"
            },
            "properties": {
                "provisioningState": "Succeeded",
                "resourceGuid": "7549a8f1-80c2-481a-a073-018f5b0b69be",
                "ipAddress": "52.177.6.204",
                "publicIPAddressVersion": "IPv4",
                "publicIPAllocationMethod": "Static",
                "idleTimeoutInMinutes": 4,
                "ipTags": []
               }
               }
             ]
    

    Para obter códigos de localização de região, confira Locais do Azure. O código de uma região é o nome da região sem espaços. Por exemplo, o código para EUA Central é centralus.

  9. Você também poderá alterar outros parâmetros no modelo se quiser ou precisar, dependendo dos seus requisitos:

    • SKU. Você pode alterar o SKU do IP público na configuração de padrão para básico ou de básico para padrão alterando a propriedade nome em sku no arquivo template.json:

        "resources": [
       {
          "type": "Microsoft.Network/publicIPAddresses",
          "apiVersion": "2019-06-01",
          "name": "[parameters('publicIPAddresses_myPubIP_name')]",
          "location": "<target-region>",
          "sku": {
              "name": "Standard",
              "tier": "Regional"
          },
      
    • Zona de disponibilidade. Você pode alterar as zonas do IP público alterando a propriedade zona. Se a propriedade zona não for especificada, o IP público será criado como no-zone. Você pode especificar uma única zona para criar um IP público zonal ou todas as três zonas para um IP público com redundância de zona.

       "resources": [
      {
         "type": "Microsoft.Network/publicIPAddresses",
         "apiVersion": "2019-06-01",
         "name": "[parameters('publicIPAddresses_myPubIP_name')]",
         "location": "<target-region>",
         "sku": {
             "name": "Standard",
             "tier": "Regional"
         },
         "zones": [
             "1",
             "2",
             "3"
         ],
      
    • Método de alocação de IP Público e tempo limite ocioso. Você pode alterar o método de alocação de IP público ao alterar a propriedade publicIPAllocationMethod de Estático para Dinâmico ou de Dinâmico para Estático. Você pode alterar o tempo limite ocioso alterando a propriedade idleTimeoutInMinutes para o valor desejado. O padrão é 4.

        "resources": [
       {
          "type": "Microsoft.Network/publicIPAddresses",
          "apiVersion": "2019-06-01",
          "name": "[parameters('publicIPAddresses_myPubIP_name')]",
          "location": "<target-region>",
          "sku": {
              "name": "Standard",
              "tier": "Regional"
          },
          "zones": [
              "1",
              "2",
              "3"
          ],
          "properties": {
              "provisioningState": "Succeeded",
              "resourceGuid": "7549a8f1-80c2-481a-a073-018f5b0b69be",
              "ipAddress": "52.177.6.204",
              "publicIPAddressVersion": "IPv4",
              "publicIPAllocationMethod": "Static",
              "idleTimeoutInMinutes": 4,
              "ipTags": []
      
      

      Para obter mais informações sobre os métodos de alocação e os valores de tempo limite ocioso, confira Criar, alterar ou excluir um endereço IP público.

  10. Selecione Salvar no editor online.

  11. Selecione aBÁSICO>Assinatura para escolher a assinatura em que o IP público de destino será implantado.

  12. Selecione BÁSICO>Grupo de recursos para escolher o grupo de recursos no qual o IP público de destino será implantado. Você pode selecionar Criar a fim de criar um grupo de recursos para o IP público de destino. Verifique se o nome não é o mesmo que o do grupo de recursos de origem do IP público de origem existente.

  13. Verifique se BÁSICO>Local está definido como o local de destino onde você deseja que o IP público seja implantado.

  14. Em SETTINGS, verifique se o nome corresponde ao que você inseriu anteriormente no editor de parâmetros.

  15. Marque a caixa de seleção TERMOS E CONDIÇÕES.

  16. Selecione Comprar para implantar o IP público de destino.

  17. Se você tiver outro IP público que esteja sendo usado para a NAT de saída do balanceador de carga que está sendo movido, repita as etapas anteriores a fim de exportar e implantar o segundo IP público de saída para a região de destino.

Exportar o modelo de balanceador de carga externo e implantar o balanceador de carga do portal do Azure

  1. Entre no portal do Azure e selecione Grupos de recursos.

  2. Localize o grupo de recursos que contém o balanceador de carga externo de origem e selecione-o.

  3. Selecione Configurações>Exportar modelo.

  4. Selecione Implantar em Exportar modelo.

  5. Selecione MODELO>Editar parâmetros para abrir o arquivo parameters.json no editor online.

  6. Para editar o parâmetro do nome do balanceador de carga externo, altere a propriedade valor do nome do balanceador de carga externo de origem para o nome do balanceador de carga externo de destino. Coloque o nome entre aspas.

       "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
       "contentVersion": "1.0.0.0",
       "parameters": {
          "loadBalancers_myLoadbalancer_ext_name": {
          "value": "<target-external-lb-name>"
    },
          "publicIPAddresses_myPubIP_in_externalid": {
          "value": "<target-publicIP-resource-ID>"
    },
    
    
  7. Para editar o valor do IP público de destino que você moveu nas etapas anteriores, primeiro você deve obter a ID do recurso e, em seguida, colá-la no arquivo parameters.json. Para obter a ID:

    1. Em outra guia ou janela do navegador, entre com sua conta no Portal do Azure e selecione Grupos de recursos.

    2. Localize o grupo de recursos de destino que contém o IP público que você moveu nas etapas anteriores. Selecione-a.

    3. Selecione Configurações>Propriedades.

    4. No lado direito, destaque a ID do Recurso e copie-a para a área de transferência. Como alternativa, você pode selecionar copiar para a área de transferência à direita do caminho da ID do Recurso.

    5. Cole a ID do recurso na propriedade valor no editor Editar Parâmetros que está aberto na outra janela do navegador ou na guia:

         ```json
         "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
         "contentVersion": "1.0.0.0",
         "parameters": {
            "loadBalancers_myLoadbalancer_ext_name": {
            "value": "<target-external-lb-name>"
      },
            "publicIPAddresses_myPubIP_in_externalid": {
            "value": "<target-publicIP-resource-ID>"
      },
      
      
    6. Selecione Salvar no editor online.

  8. Se você tiver configurado o NAT de saída e as regras de saída para o balanceador de carga, você verá uma terceira entrada nesse arquivo para a ID externa do IP público de saída. Repita as etapas anteriores na região de destino a fim de obter a ID para o IP público de saída. Cole essa ID no arquivo parameters.json:

            "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
            "contentVersion": "1.0.0.0",
            "parameters": {
                "loadBalancers_myLoadbalancer_ext_name": {
                "value": "<target-external-lb-name>",
    
            },
                "publicIPAddresses_myPubIP_in_externalid": {
                "value": "<target-publicIP-resource-ID>",
    
            },
                "publicIPAddresses_myPubIP_out_externalid": {
                "defaultValue": "<target-publicIP-outbound-resource-ID>",
    
            }
        },
    
  9. Selecione MODELO>Editar modelo para abrir o arquivo template.json no editor online.

  10. Para editar a região de destino para a qual a configuração do balanceador de carga externo será movida, altere a propriedade local em recursos no arquivo template.json:

        "resources": [
            {
                "type": "Microsoft.Network/loadBalancers",
                "apiVersion": "2019-06-01",
                "name": "[parameters('loadBalancers_myLoadBalancer_name')]",
                "location": "<target-external-lb-region>",
                "sku": {
                    "name": "Standard",
                    "tier": "Regional"
                },
    
  11. Para obter códigos de localização de região, confira Locais do Azure. O código de uma região é o nome da região sem espaços. Por exemplo, o código para EUA Central é centralus.

  12. Você também poderá alterar outros parâmetros no modelo se quiser ou precisar, dependendo dos seus requisitos:

    • SKU. Você pode alterar o SKU do balanceador de carga externo na configuração de Standard para Básico ou de Básico para Standard alterando a propriedade name em sku no arquivo template.json:

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

      Para obter mais informações sobre as diferenças entre os balanceadores de carga de SKU básico e padrão, confira Visão geral do Azure Standard Load Balancer.

    • Regras de balanceamento de carga. Você pode adicionar ou remover regras de balanceamento de carga na configuração ao adicionar ou remover entradas na seção loadBalancingRules do arquivo 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')]"
                          }
                      }
                  }
              ]
      

      Para obter mais informações sobre regras de balanceamento de carga, confira O que é o Azure Load Balancer?.

    • Investigações. Você pode adicionar ou remover uma investigação no balanceador de carga na configuração ao adicionar ou remover entradas na seção investigações do arquivo template.json:

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

      Para saber mais, confira Investigações de integridade do Load Balancer.

    • Regras NAT de entrada. Você pode adicionar ou remover regras NAT de entrada no balanceador de carga ao adicionar ou remover entradas na seção inboundNatRules do arquivo 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
                      }
                  }
              ]
      

      Para concluir a adição ou remoção de uma regra NAT de entrada, a regra deve estar presente ou ser removida como uma propriedade tipo no final do arquivo 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
          }
      }
      

      Para obter mais informações sobre as regras NAT de entrada, confira O que é o Azure Load Balancer?.

    • Regras de saída. Você pode adicionar ou remover regras de saída na configuração ao editar a propriedade outboundRules no arquivo template.json:

      "outboundRules": [
                  {
                      "name": "myOutboundRule",
                      "etag": "W/\"39e5e9cd-2d6d-491f-83cf-b37a259d86b6\"",
                      "properties": {
                          "provisioningState": "Succeeded",
                          "allocatedOutboundPorts": 10000,
                          "protocol": "All",
                          "enableTcpReset": false,
                          "idleTimeoutInMinutes": 15,
                          "backendAddressPool": {
                              "id": "[concat(resourceId('Microsoft.Network/loadBalancers', parameters('loadBalancers_myLoadBalancer_name')), '/backendAddressPools/myBEPoolOutbound')]"
                          },
                          "frontendIPConfigurations": [
                              {
                                  "id": "[concat(resourceId('Microsoft.Network/loadBalancers', parameters('loadBalancers_myLoadBalancer_name')), '/frontendIPConfigurations/myfrontendIPoutbound')]"
                              }
                          ]
                      }
                  }
              ]
      

      Para obter mais informações, confira Regras de saída do Load Balancer.

  13. Selecione Salvar no editor online.

  14. Selecione BÁSICO>Assinatura para escolher a assinatura na qual o balanceador de carga externo de destino será implantado.

  15. Selecione BÁSICO>Grupo de recursos para escolher o grupo de recursos no qual o balanceador de carga de destino será implantado. Você pode selecionar Criar a fim de criar um grupo de recursos para o balanceador de carga externo de destino. Ou pode escolher o grupo de recursos existente que você criou anteriormente para o IP público. Verifique se o nome não é o mesmo que o do grupo de recursos de origem do balanceador de carga externo de origem existente.

  16. Verifique se BÁSICO>Local está definido como o local de destino onde você deseja que o balanceador de carga externo seja implantado.

  17. Em CONFIGURAÇÕES, verifique se o nome corresponde ao que você inseriu anteriormente no editor de parâmetros. Verifique se as IDs de recurso são preenchidas para qualquer IP público na configuração.

  18. Marque a caixa de seleção TERMOS E CONDIÇÕES.

  19. Selecione Comprar para implantar o IP público de destino.

Descartar

Se você quiser descartar o IP público de destino e o balanceador de carga externo, exclua o grupo de recursos que os contêm. Para fazer isso, selecione o grupo de recursos em seu painel no portal e clique em Excluir na parte superior da página de visão geral.

Limpeza

Para confirmar as alterações e concluir a movimentação do IP público e do balanceador de carga externo, exclua o IP público de origem e o balanceador de carga externo ou grupo de recursos. Para isso, selecione o grupo de recursos em seu painel no portal e clique em Excluir na parte superior da página de visão geral.

Próximas etapas

Neste tutorial, você moveu um balanceador de carga externa do Azure de uma região para outra e limpou os recursos de origem. Para saber mais sobre a movimentação de recursos entre regiões e a recuperação de desastre no Azure, confira: