Mover o Balanceador de Carga interno do Azure para outra região usando o portal do Azure

Há vários cenários nos quais você gostaria de mover seu balanceador de carga interno existente de uma região para outra. Por exemplo, talvez você queira criar um balanceador de carga interno com a mesma configuração para teste. Você também pode querer mover um balanceador de carga interno para outra região como parte do planejamento de recuperação de desastres.

Os balanceadores de carga internos do Azure não podem ser movidos de uma região para outra. No entanto, você pode usar um modelo do Azure Resource Manager para exportar a configuração existente e a rede virtual de um balanceador de carga interno. Em seguida, você pode preparar o recurso em outra região exportando o balanceador de carga e a rede virtual para um modelo, modificando os parâmetros para corresponder à região de destino e, em seguida, implantando os modelos na nova região. Para obter mais informações sobre o Resource Manager e modelos, consulte Guia de início rápido: criar e implantar modelos do Azure Resource Manager usando o portal do Azure.

Pré-requisitos

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

  • Os balanceadores de carga internos do Azure não podem ser movidos entre regiões. É necessário associar o novo balanceador de carga aos recursos na região de destino.

  • Para exportar uma configuração de balanceador de carga interno e implantar um modelo para criar um balanceador de carga interno em outra região, você precisa da função de Colaborador de Rede ou superior.

  • Identifique o layout de rede de origem e todos os recursos que você está usando no momento. Esse layout inclui, mas não se limita a, balanceadores de carga, grupos de segurança de rede, máquinas virtuais e redes virtuais.

  • Verifique se sua assinatura do Azure permite criar balanceadores de carga internos na região de destino usada. Contacte o suporte para ativar a quota necessária.

  • Certifique-se de que a sua subscrição tem recursos suficientes para suportar a adição de balanceadores de carga para este processo. Consulte Limites, quotas e restrições de subscrição e serviço do Azure

Prepare-se e mova-se

As etapas a seguir mostram como preparar o balanceador de carga interno para a movimentação usando um modelo do Gerenciador de Recursos e mover a configuração do balanceador de carga interno para a região de destino usando o portal do Azure. Como parte desse processo, a configuração de rede virtual do balanceador de carga interno deve ser incluída e deve ser feita primeiro antes de mover o balanceador de carga interno.

Nota

Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

Exportar o modelo de rede virtual e implantar a partir do portal do Azure

  1. Entre nos Grupos de Recursos do portal>do Azure.

  2. Localize o Grupo de Recursos que contém a rede virtual de origem e selecione-o.

  3. Selecione >Configurações>Exportar modelo.

  4. Escolha Implantar em Exportar modelo.

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

  6. Para editar o parâmetro do nome da rede virtual, altere a propriedade value em 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. Altere o valor do nome da rede virtual de origem no editor para um nome de sua escolha para a rede virtual de destino. Certifique-se de colocar o nome entre aspas.

  8. Selecione Salvar no editor.

  9. Selecione TEMPLATE>Edit template para abrir o arquivo template.json no editor online.

  10. Para editar a região de destino para onde a rede virtual será movida, altere a propriedade location em recursos:

    "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. Para obter códigos de localização de região, consulte Localizações do Azure. O código de uma região é o nome da região sem espaços, Central US = centralus.

  12. Você também pode alterar outros parâmetros no arquivo template.json, se desejar, e são opcionais dependendo de suas necessidades:

    • Espaço de Endereço - O espaço de endereço da rede virtual pode ser alterado antes de salvar, modificando a seção addressSpace de recursos>e alterando a propriedade addressPrefixes no arquivo 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"
                      ]
                  },
      
      
    • Sub-rede - O nome da sub-rede e o espaço de endereço da sub-rede podem ser alterados ou adicionados modificando a seção de sub-redes do arquivo template.json . O nome da sub-rede pode ser alterado alterando a propriedade name . O espaço de endereço da sub-rede pode ser alterado alterando a propriedade addressPrefix no arquivo 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"
                  }
                  }
      
              ]
      

      No arquivo template.json, para alterar o prefixo do endereço, ele deve ser editado em dois lugares, a seção listada acima e a seção de tipo listada abaixo. Altere a propriedade addressPrefix para corresponder à propriedade acima:

       "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. Selecione Salvar no editor online.

  14. Selecione Assinatura BASICS>para escolher a assinatura onde a rede virtual de destino será implantada.

  15. Selecione Grupo de recursos BASICS para escolher o grupo de>recursos onde a rede virtual de destino será implantada. Você pode selecionar Criar novo para criar um novo grupo de recursos para a rede virtual de destino. Verifique se o nome não é o mesmo que o grupo de recursos de origem da rede virtual existente.

  16. Verifique se o local BASICS está definido para o local de>destino onde você deseja que a rede virtual seja implantada.

  17. Verifique em CONFIGURAÇÕES se o nome corresponde ao nome que você inseriu no editor de parâmetros acima.

  18. Marque a caixa em TERMOS E CONDIÇÕES.

  19. Selecione o botão Comprar para implantar a rede virtual de destino.

Exportar o modelo de balanceador de carga interno e implantar do Azure PowerShell

  1. Selecione para os Grupos de Recursos do portal>do Azure.

  2. Localize o Grupo de Recursos que contém o balanceador de carga interno de origem e selecione-o.

  3. Selecione >Configurações>Exportar modelo.

  4. Escolha Implantar em Exportar modelo.

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

  6. Para editar o parâmetro do nome do balanceador de carga interno, altere a propriedade defaultValue do nome do balanceador de carga interno de origem para o nome do balanceador de carga interno de destino, verifique se o nome está entre aspas:

         "$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. Para editar o valor da rede virtual de destino que foi movida acima, você deve primeiro obter o ID do recurso e, em seguida, copiá-lo e colá-lo no arquivo parameters.json . Para obter o ID:

    1. Selecione para os Grupos de Recursos do portal>do Azure em outra guia ou janela do navegador.

    2. Localize o grupo de recursos de destino que contém a rede virtual movida nas etapas acima e selecione-o.

    3. Selecione >Configurações>Propriedades.

    4. No lado direito do portal, realce o ID do recurso e copie-o para a área de transferência. Como alternativa, você pode selecionar o botão Copiar para a área de transferência à direita do caminho da ID do recurso.

    5. Cole o ID do recurso na propriedade defaultValue no editor Edit Parameters aberto na outra janela ou guia do navegador:

       "$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. Selecione Salvar no editor online.

  8. Selecione TEMPLATE>Edit template para abrir o arquivo template.json no editor online.

  9. Para editar a região de destino para onde a configuração do balanceador de carga interno será movida, altere a propriedade location em recursos no arquivo 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. Para obter códigos de localização de região, consulte Localizações do Azure. O código de uma região é o nome da região sem espaços, Central US = centralus.

  11. Você também pode alterar outros parâmetros no modelo, se desejar, e são opcionais dependendo de seus requisitos:

    • Sku - Você pode alterar o sku do balanceador de carga interno na configuração de standard para basic ou basic para standard alterando a propriedade sku>name no arquivo 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"
          },
      

      Para obter mais informações sobre as diferenças entre balanceadores de carga de sku básicos e padrão, consulte Visão geral do Balanceador de Carga Padrão do Azure

    • Zona de disponibilidade - Você pode alterar as zonas do frontend do balanceador de carga alterando a propriedade zone. Se a propriedade zone não for especificada, o frontend será criado como no-zone. Você pode especificar uma única zona para criar um frontend zonal ou todas as três zonas para um frontend redundante de zona.

      "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"
          ]
      },
      

      Para obter mais informações sobre zonas de disponibilidade, consulte Regiões e zonas de disponibilidade no Azure.

    • Regras de balanceamento de carga - Você pode adicionar ou remover regras de balanceamento de carga na configuração adicionando ou removendo entradas à 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, consulte O que é o Azure Load Balancer?

    • Testes - Você pode adicionar ou remover um teste para o balanceador de carga na configuração adicionando ou removendo entradas para a seção de testes 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 obter mais informações sobre as sondas de integridade do Balanceador de Carga do Azure, consulte Sondas de integridade do Balanceador de Carga

    • Regras NAT de entrada - Você pode adicionar ou remover regras NAT de entrada para o balanceador de carga adicionando ou removendo entradas à 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 removida como uma propriedade type 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 regras NAT de entrada, consulte O que é o Azure Load Balancer?

  12. Selecione Salvar no editor online.

  13. Selecione Assinatura BASICS>para escolher a assinatura onde o balanceador de carga interno de destino será implantado.

  14. Selecione Grupo de recursos BASICS para escolher o grupo de recursos onde o balanceador de>carga de destino será implantado. Você pode selecionar Criar novo para criar um novo grupo de recursos para o balanceador de carga interno de destino ou escolher o grupo de recursos existente que foi criado anteriormente para a rede virtual. Verifique se o nome não é o mesmo que o grupo de recursos de origem do balanceador de carga interno de origem existente.

  15. Verifique se BASICS>Location está definido para o local de destino onde você deseja que o balanceador de carga interno seja implantado.

  16. Verifique em CONFIGURAÇÕES se o nome corresponde ao nome que você inseriu no editor de parâmetros anteriormente. Verifique se as IDs de recursos estão preenchidas para quaisquer redes virtuais na configuração.

  17. Marque a caixa em TERMOS E CONDIÇÕES.

  18. Selecione o botão Comprar para implantar a rede virtual de destino.

Eliminar

Se desejar descartar a rede virtual de destino e o balanceador de carga interno, exclua o grupo de recursos que contém a rede virtual de destino e o balanceador de carga interno. Para fazer isso, selecione o grupo de recursos no seu painel no portal e selecione Excluir na parte superior da página de visão geral.

Limpeza

Para confirmar as alterações e concluir a movimentação da rede virtual e do balanceador de carga interno, exclua a rede virtual de origem e o balanceador de carga interno ou grupo de recursos. Para fazer isso, selecione a rede virtual e o balanceador de carga interno ou grupo de recursos no seu painel no portal e selecione Excluir na parte superior de cada página.

Próximos passos

Neste tutorial, você moveu um balanceador de carga interno do Azure de uma região para outra e limpou os recursos de origem. Para saber mais sobre como mover recursos entre regiões e recuperação de desastres no Azure, consulte: