Eseguire la migrazione dalla versione 1 alla versione 2 delle regole NAT in ingresso

Una regola NAT in ingresso viene usata per inoltrare il traffico da un front-end di bilanciamento del carico a una o più istanze nel pool di back-end. Queste regole forniscono un mapping 1:1 tra l'indirizzo IP di front-end del bilanciamento del carico e le istanze di back-end. Attualmente sono disponibili due versioni delle regole NAT in ingresso, la versione 1 e la versione 2.

Importante

Il 30 settembre 2027 le regole NAT in ingresso v1 verranno ritirate. Se attualmente si usano le regole NAT in ingresso v1, assicurarsi di eseguire l'aggiornamento alle regole NAT in ingresso v2 prima della data di ritiro.

Versione 1 delle regole NAT

La versione 1 corrisponde all'approccio legacy relativo all'assegnazione della porta di front-end di Azure Load Balancer a ogni istanza di back-end. Le regole vengono applicate alla scheda di interfaccia di rete (NIC) dell'istanza di back-end. Nel caso delle istanze dei set di scalabilità di macchine virtuali di Azure, le regole NAT in ingresso vengono create/eliminate automaticamente man mano che le nuove istanze vengono ridimensionate. Per le istanze dei set di scalabilità di macchine virtuali usare la proprietà Inbound NAT Pool per gestire le regole NAT in ingresso versione 1.

Versione 2 delle regole NAT

La versione 2 delle regole NAT in ingresso offre lo stesso set di funzionalità della versione 1, con vantaggi aggiuntivi.

  • Esperienza di distribuzione semplificata e aggiornamenti ottimizzati.
    • Le regole NAT in ingresso sono ora destinate al pool di back-end del bilanciamento del carico e non richiedono più un riferimento alla scheda di interfaccia di rete della macchina virtuale. In precedenza, con la versione 1, era necessario aggiornare sia il bilanciamento del carico che la scheda di interfaccia di rete della macchina virtuale ogni volta che la regola NAT in ingresso veniva modificata. La versione 2 richiede solo una singola chiamata alla configurazione del bilanciamento del carico, con conseguente ottimizzazione degli aggiornamenti.
  • Recuperare facilmente il mapping delle porte tra le regole NAT in ingresso e le istanze di back-end.
    • Con l'offerta legacy, per recuperare il mapping delle porte tra una regola NAT in entrata e un'istanza della macchina virtuale, la regola doveva essere correlata alla scheda di interfaccia di rete della macchina virtuale. La versione 2 inserisce il mapping delle porte tra la regola e l'istanza back-end direttamente nella configurazione del bilanciamento del carico.

Come è possibile sapere se si sta usando la versione 1 delle regole NAT in ingresso?

Il modo più semplice per identificare se le distribuzioni usano la versione 1 della funzionalità consiste nell'esaminare la configurazione del bilanciamento del carico. Se la proprietà InboundNATPool o la proprietà backendIPConfiguration all'interno della configurazione InboundNATRule è popolata, significa che la distribuzione usa la versione 1 delle regole NAT in ingresso.

Come si esegue la migrazione dalla versione 1 alla versione 2?

Prima di eseguire la migrazione, è importante esaminare le informazioni seguenti:

  • La migrazione alla versione 2 delle regole NAT in ingresso causa interruzioni del traffico attivo che scorre attraverso le regole NAT. Il flusso del traffico attraverso le regole di bilanciamento del carico o le regole in uscita non è interessato dal processo di migrazione.
  • Pianificare il numero massimo di istanze in un pool di back-end. Poiché la versione 2 è destinata al pool di back-end del bilanciamento del carico, è necessario allocare un numero sufficiente di porte per il front-end della regola NAT.
  • Ogni istanza di back-end viene esposta sulla porta configurata nella nuova regola NAT.
  • Non possono esistere più regole NAT se dispongono di un intervallo di porte sovrapposte o della stessa porta di back-end.
  • Le regole NAT e le regole di bilanciamento del carico non possono condividere la stessa porta di back-end.

Migrazione manuale

Per migrare alla versione 2 delle regole NAT in ingresso, è necessario eseguire i tre passaggi seguenti

  1. Eliminare la versione 1 delle regole NAT in ingresso nella configurazione del bilanciamento del carico.
  2. Rimuovere il riferimento alla regola NAT nella configurazione della macchina virtuale o del set di scalabilità di macchine virtuali.
    1. È necessario aggiornare tutte le istanze del set di scalabilità di macchine virtuali.
  3. Distribuire la versione 2 delle regole NAT in ingresso.

Macchina virtuale

La procedura seguente viene usata per eseguire la migrazione dalla versione 1 alla versione 2 delle regole NAT in ingresso per una macchina virtuale.


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

Set di scalabilità della macchina virtuale

I passaggi seguenti vengono usati per eseguire la migrazione dalla versione 1 alla versione 2 delle regole NAT in ingresso per un set di scalabilità di macchine virtuali. Si presuppone che la modalità di aggiornamento del set di scalabilità di macchine virtuali sia impostata su Manuale. Per altre informazioni, vedere Modalità di orchestrazione per i set di scalabilità di macchine virtuali in 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

Migrazione con script di automazione per il set di scalabilità di macchine virtuali

Il processo di migrazione riutilizzerà i pool back-end esistenti con l'appartenenza corrispondente ai pool NAT di cui eseguire la migrazione; se non viene trovato alcun pool back-end corrispondente, lo script verrà chiuso (senza apportare modifiche). In alternativa, usare il parametro -backendPoolReuseStrategy per creare sempre nuovi pool back-end (NoReuse) o creare un nuovo pool back-end se non esiste un pool corrispondente (OptionalFirstMatch). I pool back-end e le associazioni delle regole NAT possono essere aggiornati dopo la migrazione in modo che corrispondano alle preferenze.

Prerequisiti

Prima di iniziare il processo di migrazione, verificare che siano soddisfatti i prerequisiti seguenti:

Installare il modulo AzureLoadBalancerNATPoolMigration

Con il comando seguente, installare il modulo AzureLoadBalancerNATPoolMigrationda PowerShell Gallery:

# Install the AzureLoadBalancerNATPoolMigration module

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

Aggiornare i pool NAT alle regole NAT

Dopo aver installato il modulo azureLoadBalancerNATPoolMigration, aggiornare i pool NAT alle regole NAT eseguendo la procedura seguente:

  1. Connettersi ad Azure con Connect-AzAccount.

  2. Raccogliere i nomi del bilanciamento del carico di destinazione per l'aggiornamento delle regole NAT e il relativo nome del gruppo di risorse.

  3. Eseguire il comando di migrazione con i nomi delle risorse sostituendo i segnaposto di <loadBalancerResourceGroupName> e <loadBalancerName>:

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

Passaggi successivi