Migrera från inkommande NAT-regler version 1 till version 2

En inkommande NAT-regel används för att vidarebefordra trafik från en lastbalanserares klientdel till en eller flera instanser i serverdelspoolen. Dessa regler ger en 1:1-mappning mellan lastbalanserarens IP-adress på frontend och backend-instanser. Det finns för närvarande två versioner av inkommande NAT-regler, version 1 och version 2.

Viktigt!

Den 30 september 2027 kommer Inbound NAT Pools (den Azure Virtual Machine Scale Sets specifika funktionen för inkommande NAT-regler V1) att dras tillbaka. Om du för närvarande använder Inbound NAT Pools med Virtual Machine Scale Sets, migrera till Inbound NAT rules V2 före avvecklingsdatumet. Den virtuella datorns regler för inkommande NAT V1 påverkas inte av den här tillbakadragningen och behöver inte migreras.

NAT-regel version 1

Version 1 av inkommande NAT-regler innehåller två olika funktioner:

  • Regler för inkommande NAT för enskild virtuell dator – Tillhandahåller 1:1-portmappning mellan en lastbalanserares IP/port och en specifik virtuell dator. Regler tillämpas direkt på den virtuella datorns nätverkskort (NIC). Dessa dras inte tillbaka och behöver inte migreras.

  • Inbound NAT Pools (endast för Virtual Machine Scale Sets) – Det här är den äldre metoden för att tilldela Azure Load Balancers frontendsport till varje backend-instans. Inkommande NAT-regler skapas och tas bort automatiskt för varje instans i en Virtual Machine Scale Set när skalningsuppsättningen utökas och minskas. NAT-pooler definieras i lastbalanseraren och refereras av Virtual Machine Scale Sets nätverkskortkonfiguration via egenskapen loadBalancerInboundNatPools. Dessa dras tillbaka den 30 september 2027 och måste migreras till inkommande NAT-regler V2.

NAT-regel version 2

Version 2 av inkommande NAT-regler ger samma funktionsuppsättning som version 1, med extra fördelar.

  • Förenklad distributionsupplevelse och optimerade uppdateringar.
    • Inkommande NAT-regler riktar sig nu mot lastbalanserarens serverdelspool och kräver inte längre någon referens på den virtuella datorns nätverkskort. Tidigare i version 1 behövde både lastbalanseraren och den virtuella datorns nätverkskort uppdateras när den inkommande NAT-regeln ändrades. Version 2 kräver bara ett enda anrop på lastbalanserarens konfiguration, vilket resulterar i optimerade uppdateringar.
  • Hämta enkelt information om portmappningen mellan inkommande NAT-regler och backend-instanser.
    • Med det äldre erbjudandet måste regeln korreleras med den virtuella datorns nätverkskort för att hämta portmappningen mellan en inkommande NAT-regel och en virtuell datorinstans. Version 2 infogar portmappningen mellan regeln och backendinstansen direkt i lastbalanserarens konfiguration.

Hur gör jag för att veta om jag använder version 1 av inkommande NAT-regler?

Det enklaste sättet att identifiera om dina distributioner använder version 1 av funktionen är genom att granska lastbalanserarens konfiguration. NAT-regler i version 1 har ett Type-värde av Azure Virtual Machine med ett definierat Target-virtuellt maskinvärde.

Skärmbild av KONFIGURATION AV NAT-regel version 1 i Azure Portal.

För NAT-regler av version 2 kommer Typ-värdet att vara Backendpool med ett definierat Målbackendpool-värde.

Skärmbild av KONFIGURATION AV NAT-regel version 2 i Azure Portal.

För att programmatiskt avgöra om en distribution använder version 1 av inkommande NAT-regler kontrollerar du lastbalanserarens konfiguration med hjälp av Azure CLI eller PowerShell. Om någon av egenskaperna backendIPConfiguration i konfigurationen InboundNATRule har angetts, är distributionen version 1 av inkommande NAT-regler. Version 2-reglerna har egenskapen backendAddressPool i stället för egenskapen backendIPConfiguration .

Hur vet jag om jag använder inkommande NAT-pooler?

Så här kontrollerar du om lastbalanseraren har konfigurerat inkommande NAT-pooler:

az network lb inbound-nat-pool list -g MyResourceGroup --lb-name MyLoadBalancer

Om ovanstående kommandon returnerar några resultat använder lastbalanseraren inkommande NAT-pooler och ska migreras.

Den viktigaste skillnaden är ARM-egenskapsnamnet: Inkommande NAT-pooler visas under inboundNatPools egenskapen i lastbalanseraren, medan inkommande NAT-regler visas under egenskapen inboundNatRules . Om lastbalanseraren har en icke-tom inboundNatPools matris använder den inkommande NAT-pooler och måste migreras till V2 före den 30 september 2027.

Note

Om lastbalanseraren bara har regler för inkommande NAT för en virtuell dator (typ = "Azure virtuell dator") och inga inkommande NAT-pooler ingen migrering krävs. Reglerna för enskild VM V1 tas inte ur bruk.

Hur migrerar jag från inkommande NAT-pooler till version 2?

Innan du migrerar är det viktigt att granska följande information:

  • Om du migrerar till version 2 av inkommande NAT-regler orsakas stilleståndstid för aktiv trafik som flödar genom NAT-reglerna. Trafik som flödar genom regler för lastbalanserare eller utgående regler påverkas inte under migreringsprocessen.
  • Planera det maximala antalet instanser i en serverdelspool. Eftersom version 2 riktar sig mot lastbalanserarens backend-pool måste ett tillräckligt antal portar tilldelas för NAT-regelns frontend.
  • Varje serverdelsinstans är åtkomlig via den port som konfigurerats i den nya NAT-regeln.
  • Flera NAT-regler kan inte finnas om de har ett överlappande portintervall eller har samma serverdelsport.
  • NAT-regler och belastningsutjämningsregler kan inte dela samma backend-port.

Manuell migrering

Följande tre steg migrerar inkommande NAT-pooler till version 2 av inkommande NAT-regler. En enda VM Inbound NAT-regel V1 kräver inte dessa steg.

  1. Ta bort den inkommande NAT-poolen i lastbalanserarens konfiguration.
  2. Ta bort referensen loadBalancerInboundNatPools i nätverksgränssnittskonfigurationen för virtuell maskinskala.
    • Uppdatera alla instanser i skalningsuppsättningen för virtuella datorer.
  3. Distribuera version 2 av inkommande NAT-regler mot lastbalanserarens backendpool.

Skaluppsättning för virtuella datorer

Viktigt!

Det här är den migreringsväg som krävs för avvecklingen av Inbound NAT-pooler. Alla distributioner av skalningsuppsättningar för virtuella datorer som använder inkommande NAT-pooler måste slutföra den här migreringen senast den 30 september 2027.

Följande steg används för migrering från version 1 till version 2 av inkommande NAT-regler för en skalningsuppsättning för virtuella datorer. Det förutsätter att uppgraderingsläget för den virtuella datorns skalningsuppsättning är inställt på Manuell. Mer information finns i Orkestreringslägen för skaluppsättningar för virtuella datorer i 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

Verifiera migreringen

Efter att du har slutfört någon av ingreppen, bekräfta alla tre utfall:

  • Lastbalanseraren har inte längre inkommande NAT-pooler. az network lb inbound-nat-pool list -g MyResourceGroup --lb-name MyLoadBalancer returnerar ett tomt resultat, eller $slb.InboundNatPools är tomt i PowerShell.
  • Den nya regel i version 2 riktar sig till den avsedda backend-poolen. Bekräfta att regeln visar ett Target backend pool-värde i Azure-portalen, eller som backendAddressPool fylls i regelkonfigurationen.
  • De förväntade portmappningarna finns. I Azure-portalen, öppna den nya inkommande NAT-regeln och granska avsnittet Port mapping för varje backend-instans.

Migrering med automationsskript för VM-skalningsuppsättning

Migreringsprocessen återanvänder befintliga serverdelspooler med medlemskap som matchar NAT-poolerna som ska migreras. Om ingen matchande serverdelspool hittas avslutas skriptet (utan att göra ändringar). Du kan också använda parametern -backendPoolReuseStrategy för att antingen alltid skapa nya serverdelspooler (NoReuse) eller skapa en ny serverdelspool om en matchande pool inte finns (OptionalFirstMatch). Serverdelspooler och NAT-regelassociationer kan uppdateras efter migreringen så att de matchar dina önskemål.

Förutsättningar

Innan du påbörjar migreringsprocessen kontrollerar du att följande krav uppfylls:

Installera modulen AzureLoadBalancerNATPoolMigration

Med följande kommando installerar du modulen AzureLoadBalancerNATPoolMigration från PowerShell-galleriet:

# Install the AzureLoadBalancerNATPoolMigration module

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

Uppgradera NAT-pooler till NAT-regler

När modulen azureLoadBalancerNATPoolMigration är installerad uppgraderar du NAT-poolerna till NAT-regler med följande steg:

  1. Anslut till Azure med Connect-AzAccount.

  2. Samla in namnen på mållastbalanseraren för NAT-regeluppgraderingen och dess resursgruppsnamn .

  3. Kör migreringskommandot med dina resursnamn i stället för platshållarna <loadBalancerResourceGroupName> och <loadBalancerName>:

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

Nästa steg