Migrar das regras NAT de entrada da versão 1 para a versão 2
Uma regra NAT de entrada é usada para encaminhar o tráfego de um front-end do balanceador de carga para uma ou mais instâncias no pool de back-end. Essas regras fornecem um mapeamento 1:1 entre o endereço IP de front-end do balanceador de carga e as instâncias de back-end. Atualmente, há duas versões de regras NAT de entrada: versão 1 e versão 2.
Importante
Em 30 de setembro de 2027, as regras NAT de Entrada v1 serão desativadas. Caso esteja usando atualmente as regras NAT de Entrada v1, atualize para as regras NAT de Entrada v2 antes da data de desativação.
Regra NAT versão 1
A versão 1 é a abordagem herdada para atribuir a porta de front-end do Azure Load Balancer a cada instância de back-end. As regras são aplicadas à NIC (placa de adaptador de rede) da instância de back-end. Para instâncias de Conjuntos de Dimensionamento de Máquinas Virtuais (VMSS) do Azure, as regras NAT de entrada são automaticamente criadas/deletadas à medida que novas instâncias são escaladas verticalmente ou reduzidas horizontalmente. Quanto às instâncias de VMSS, use a propriedade Inbound NAT Pools
para gerenciar as regras NAT de entrada versão 1.
Regra NAT versão 2
A versão 2 das regras NAT de entrada fornece o mesmo conjunto de recursos da versão 1, com benefícios extras.
- Experiência de implantação simplificada e atualizações otimizadas.
- As regras NAT de entrada agora têm como destino o pool de back-end do balanceador de carga e não exigem mais uma referência na NIC da máquina virtual. Anteriormente, na versão 1, o balanceador de carga e a NIC da máquina virtual precisavam ser atualizados sempre que a regra NAT de entrada era alterada. A versão 2 requer apenas uma única chamada na configuração do balanceador de carga, resultando em atualizações otimizadas.
- Recupere facilmente o mapeamento de portas entre as regras NAT de entrada e as instâncias de back-end.
- Com a oferta herdada, para recuperar o mapeamento de portas entre uma regra NAT de entrada e uma instância de máquina virtual, seria necessário correlacionar a regra com a NIC da máquina virtual. A versão 2 injeta o mapeamento de portas entre a regra e a instância de back-end diretamente na configuração do balanceador de carga.
Como saber se estou usando a versão 1 das regras NAT de entrada?
A maneira mais fácil de identificar se suas implantações estão usando a versão 1 do recurso é inspecionando a configuração do balanceador de carga. Se a propriedade InboundNATPools
ou a propriedade backendIPConfiguration
dentro da configuração InboundNATRule
estiver preenchida, a implantação é a versão 1 das regras NAT de entrada.
Como migrar da versão 1 para a versão 2?
Antes de migrar, é importante revisar as seguintes informações:
- Migrar para a versão 2 das regras NAT de entrada pode causar tempo de inatividade no tráfego ativo que está fluindo através das regras NAT. O tráfego que flui através das regras de balanceador de carga ou das regras de saída não é impactado durante o processo de migração.
- Planeje o número máximo de instâncias em um pool de back-end. Como a versão 2 direciona o pool de back-end do balanceador de carga, um número suficiente de portas precisa ser alocado para o front-end da regra NAT.
- Cada instância de back-end é exposta na porta configurada na nova regra NAT.
- Não é possível ter várias regras NAT se elas tiverem um intervalo de portas sobreposto ou a mesma porta de back-end.
- As regras NAT e as regras de balanceamento de carga não podem compartilhar a mesma porta de back-end.
Migração manual
As três etapas a seguir precisam ser executadas para migrar para a versão 2 das regras NAT de entrada
- Exclua a versão 1 das regras NAT de entrada na configuração do balanceador de carga.
- Remova a referência à regra NAT na configuração da máquina virtual ou do conjunto de dimensionamento de máquinas virtuais.
- Todas as instâncias do conjunto de dimensionamento de máquinas virtuais precisam ser atualizadas.
- Implante a versão 2 das regras NAT de entrada.
Máquina Virtual
As etapas a seguir são usadas para migrar da versão 1 para a versão 2 das regras NAT de entrada para uma máquina virtual.
az network lb inbound-nat-rule delete -g MyResourceGroup --lb-name MyLoadBalancer --name NATruleV1
az network nic ip-config inbound-nat-rule remove -g MyResourceGroup --nic-name MyNic -n MyIpConfig --inbound-nat-rule MyNatRule
az network lb inbound-nat-rule create -g MyResourceGroup --lb-name MyLoadBalancer -n MyNatRule --protocol Tcp --frontend-port-range-start 201 --frontend-port-range-end 500 --backend-port 22 --backend-address-pool MybackendPool
Conjunto de Dimensionamento de Máquinas Virtuais
As etapas a seguir são usadas para migrar da versão 1 para a versão 2 das regras NAT de entrada para um conjunto de dimensionamento de máquinas virtuais. Assume-se que o modo de atualização do conjunto de dimensionamento de máquinas virtuais está definido como Manual. Para obter mais informações, confira Modos de orquestração para conjuntos de dimensionamento de máquinas virtuais no Azure
az network lb inbound-nat-pool delete -g MyResourceGroup --lb-name MyLoadBalancer -n MyNatPool
az vmss update -g MyResourceGroup -n MyVMScaleSet --remove virtualMachineProfile.networkProfile.networkInterfaceConfigurations[0].ipConfigurations[0].loadBalancerInboundNatPools
az vmss update-instances --instance-ids '*' --resource-group MyResourceGroup --name MyVMScaleSet
az network lb inbound-nat-rule create -g MyResourceGroup --lb-name MyLoadBalancer -n MyNatRule --protocol Tcp --frontend-port-range-start 201 --frontend-port-range-end 500 --backend-port 22 --backend-address-pool MybackendPool
Migração com script de automação para o conjunto de dimensionamento de máquinas virtuais
O processo de migração reutilizará pools de back-end existentes com associação correspondente aos pools NAT a serem migrados; se nenhum pool de back-end correspondente for encontrado, o script será encerrado (sem fazer alterações). Como alternativa, use o parâmetro -backendPoolReuseStrategy
para sempre criar novos pools de back-end (NoReuse
) ou para criar um pool de back-end se um correspondente não existir (OptionalFirstMatch
). Pools de back-end e associações de regras NAT podem ser atualizados após a migração para corresponder à sua preferência.
Pré-requisitos
Antes de iniciar o processo de migração, verifique se os seguintes pré-requisitos são atendidos:
- A SKU do balanceador de carga deve ser Standard para migrar os pools de NAT de um balanceador de carga para as regras NAT. Para automatizar esse processo de atualização, confira as etapas fornecidas em Atualizar um balanceador de carga Básico para Standard com o PowerShell.
- Os Conjuntos de Dimensionamento de Máquinas Virtuais associados ao balanceador de carga de destino devem usar uma política de atualização "Manual" ou "Automática" – não há suporte para a política de atualização "Sem interrupção". Para obter mais informações, confira Políticas de atualização dos Conjuntos de Dimensionamento de Máquinas Virtuais.
- Instalar a versão mais recente do PowerShell.
- Instale os módulos do Azure PowerShell.
Instalar o módulo AzureLoadBalancerNATPoolMigration
Com um dos seguintes comandos, instale o módulo AzureLoadBalancerNATPoolMigration
da Galeria do PowerShell:
# Install the AzureLoadBalancerNATPoolMigration module
Install-Module -Name AzureLoadBalancerNATPoolMigration -Scope CurrentUser -Repository PSGallery -Force
Atualizar pools de NAT para regras NAT
Com o módulo azureLoadBalancerNATPoolMigration
instalado, atualize seus pools de NAT para regras NAT com as seguintes etapas:
Conecte-se ao Azure com
Connect-AzAccount
.Colete os nomes do balanceador de carga de destino para a atualização das regras NAT e o nome do Grupo de Recursos.
Execute o comando de migração com seus nomes de recursos substituindo os espaços reservados de
<loadBalancerResourceGroupName>
e<loadBalancerName>
:# Run the migration command Start-AzNATPoolMigration -ResourceGroupName <loadBalancerResourceGroupName> -LoadBalancerName <loadBalancerName>
Próximas etapas
- Saiba mais sobre Como gerenciar regras NAT de entrada
- Saiba mais sobre Pools NAT e regras NAT do Azure Load Balancer