Partilhar via


Migrar de regras NAT de entrada versão 1 para versão 2

Uma regra NAT de entrada é usada para encaminhar o tráfego do frontend de um 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. Existem atualmente duas versões das regras NAT de entrada, versão 1 e versão 2.

Regra NAT versão 1

A versão 1 é a abordagem herdada para atribuir uma porta de front-end do Azure Load Balancer a cada instância de back-end. As regras são aplicadas à placa de interface de rede (NIC) da instância de back-end. Para instâncias de Conjuntos de Escala de Máquina Virtual do Azure, as regras NAT de entrada são automaticamente criadas/excluídas à medida que novas instâncias são dimensionadas para cima/para baixo.

Regra NAT versão 2

A versão 2 das regras de 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 visam 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, tanto o balanceador de carga quanto 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 regras NAT de entrada e instâncias de back-end.
    • Com a oferta herdada, para recuperar o mapeamento de porta entre uma regra NAT de entrada e uma instância de máquina virtual, a regra precisaria ser correlacionada com a NIC da máquina virtual. A versão 2 injeta o mapeamento de porta entre a regra e a instância de back-end diretamente na configuração do balanceador de carga.

Como sei se estou usando a versão 1 das regras de 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 InboundNATPool propriedade ou a backendIPConfiguration propriedade dentro da InboundNATRule configuração for preenchida, a implantação será 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:

  • A migração para a versão 2 das regras NAT de entrada causa tempo de inatividade para o tráfego ativo que está fluindo através das regras NAT. O tráfego que flui através de regras de balanceador de carga ou regras de saída não é afetado 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 tem como alvo o pool de back-end do balanceador de carga, um número suficiente de portas precisa ser alocado para o frontend da regra NAT.
  • Cada instância de back-end é exposta na porta configurada na nova regra NAT.
  • Várias regras NAT não podem existir se tiverem um intervalo de portas sobreposto ou tiverem 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

  1. Exclua a versão 1 das regras NAT de entrada na configuração do balanceador de carga.
  2. Remova a referência à regra NAT na configuração do conjunto de escala da máquina virtual ou da máquina virtual.
    1. Todas as instâncias do conjunto de dimensionamento de máquinas virtuais precisam ser atualizadas.
  3. Implante a versão 2 das regras de 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 de 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 

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áquina virtual. Ele pressupõe que o modo de atualização do conjunto de escala da máquina virtual está definido como Manual. Para obter mais informações, consulte Modos de orquestração para conjuntos de escala de máquina virtual 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 

Migração com script de automação para o Conjunto de Dimensionamento de Máquina Virtual

O processo de migração reutilizará pools de back-end existentes com membros correspondentes 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 -backendPoolReuseStrategy parâmetro para sempre criar novos pools de back-end (NoReuse) ou criar um novo pool de back-end se não existir um correspondente (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:

  • O SKU do balanceador de carga deve ser Standard para migrar os pools NAT de um balanceador de carga para regras NAT. Para automatizar esse processo de atualização, consulte as etapas fornecidas em Atualizar um balanceador de carga básico para padrão com o PowerShell.
  • Os Conjuntos de Dimensionamento de Máquina Virtual associados ao Balanceador de Carga de destino devem usar uma política de atualização 'Manual' ou 'Automática' - a política de atualização 'Rolling' não é suportada. Para obter mais informações, consulte Políticas de atualização de conjuntos de escala de máquina virtual.
  • Instale a versão mais recente do PowerShell.
  • Instale os módulos do Azure PowerShell.

Instalar o AzureLoadBalancerNATPoolMigration módulo

Com o comando a seguir, instale o AzureLoadBalancerNATPoolMigration módulo da Galeria do PowerShell:

# Install the AzureLoadBalancerNATPoolMigration module

Install-Module -Name AzureLoadBalancerNATPoolMigration -Scope CurrentUser -Repository PSGallery -Force 

Atualizar pools NAT para regras NAT

Com o azureLoadBalancerNATPoolMigration módulo instalado, atualize seus pools NAT para regras NAT com as seguintes etapas:

  1. Conecte-se ao Azure com Connect-AzAccounto .

  2. Colete os nomes do balanceador de carga de destino para a atualização das Regras NAT e seu nome de Grupo de Recursos.

  3. Execute o comando de migração com os nomes dos recursos substituindo os espaços reservados de <loadBalancerResourceGroupName> e <loadBalancerName>:

    # Run the migration command 
    
    Start-AzNATPoolMigration -ResourceGroupName <loadBalancerResourceGroupName> -LoadBalancerName <loadBalancerName>
    
    

Próximos passos