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
- Eliminare la versione 1 delle regole NAT in ingresso nella configurazione del bilanciamento del carico.
- Rimuovere il riferimento alla regola NAT nella configurazione della macchina virtuale o del set di scalabilità di macchine virtuali.
- È necessario aggiornare tutte le istanze del set di scalabilità di macchine virtuali.
- 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:
- Lo SKU del bilanciamento del carico deve essere Standard per eseguire la migrazione dei pool NAT del bilanciamento del carico alle regole NAT. Per automatizzare questo processo di aggiornamento, vedere i passaggi descritti in Aggiornare un'istanza di Load Balancer Basic a Standard con PowerShell.
- I set di scalabilità di macchine virtuali associati al bilanciamento del carico di destinazione devono usare un criterio di aggiornamento "Manuale" o "Automatico". Il criterio di aggiornamento "In sequenza" non è supportato. Per altre informazioni, vedere Criteri di aggiornamento dei set di scalabilità di macchine virtuali.
- Installare la versione più recente di PowerShell.
- Installare i moduli di Azure PowerShell.
Installare il modulo AzureLoadBalancerNATPoolMigration
Con il comando seguente, installare il modulo AzureLoadBalancerNATPoolMigration
da 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:
Connettersi ad Azure con
Connect-AzAccount
.Raccogliere i nomi del bilanciamento del carico di destinazione per l'aggiornamento delle regole NAT e il relativo nome del gruppo di risorse.
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
- Informazioni sulla Gestione delle regole NAT in ingresso
- Informazioni sui Pool NAT e regole NAT di Azure Load Balancer