Mover um Azure Load Balancer para outra região do Azure
Há vários cenários em que é recomendado mover um balanceador de carga interno ou externo de uma região para outra. Por exemplo, talvez você queira criar outro balanceador de carga com a mesma configuração para teste. Talvez também seja interessante mover um balanceador de carga para outra região como parte do planejamento de recuperação de desastre.
Literalmente falando, não é possível mover um balanceador de carga do Azure de uma região para outra. Porém, 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. 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.
Neste artigo, você aprenderá a mover um balanceador de carga interno ou externo de uma região do Azure para outra usando o portal do Azure ou o Azure PowerShell. Escolha a guia que corresponde ao seu método preferencial e ao tipo de balanceador de carga que você deseja mover.
Mover um balanceador de carga externo para outra região usando o portal do Azure
Use este procedimento para mover um balanceador de carga externo para outra região usando o portal do Azure ou o Azure PowerShell.
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. Para começar, consulte Instalar o Azure PowerShell. 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
Entre no portal do Azure e selecione Grupos de recursos.
Localize o grupo de recursos que contém o IP público de origem e selecione-o.
Selecione Configurações>Exportar modelo.
Selecione Implantar em Exportar modelo.
Selecione MODELO>Editar parâmetros para abrir o arquivo parameters.json no editor online.
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.
Selecione MODELO>Editar modelo para abrir o arquivo template.json no editor online.
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.
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 da zona não for especificada, o IP público será criado sem zona. 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.
Selecione Salvar no editor online.
Selecione aBÁSICO>Assinatura para escolher a assinatura em que o IP público de destino será implantado.
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.
Verifique se BÁSICO>Local está definido como o local de destino onde você deseja que o IP público seja implantado.
Em SETTINGS, verifique se o nome corresponde ao que você inseriu anteriormente no editor de parâmetros.
Marque a caixa de seleção TERMOS E CONDIÇÕES.
Selecione Comprar para implantar o IP público de destino.
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
Entre no portal do Azure e selecione Grupos de recursos.
Localize o grupo de recursos que contém o balanceador de carga externo de origem e selecione-o.
Selecione Configurações>Exportar modelo.
Selecione Implantar em Exportar modelo.
Selecione MODELO>Editar parâmetros para abrir o arquivo parameters.json no editor online.
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>" },
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:
Em outra guia ou janela do navegador, entre com sua conta no Portal do Azure e selecione Grupos de recursos.
Localize o grupo de recursos de destino que contém o IP público que você moveu nas etapas anteriores. Selecione-a.
Selecione Configurações>Propriedades.
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.
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>" },
Selecione Salvar no editor online.
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>", } },
Selecione MODELO>Editar modelo para abrir o arquivo template.json no editor online.
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" },
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.
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.
Selecione Salvar no editor online.
Selecione BÁSICO>Assinatura para escolher a assinatura na qual o balanceador de carga externo de destino será implantado.
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.
Verifique se BÁSICO>Local está definido como o local de destino onde você deseja que o balanceador de carga externo seja implantado.
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.
Marque a caixa de seleção TERMOS E CONDIÇÕES.
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: