Migreren van binnenkomende NAT-regels versie 1 naar versie 2
Een binnenkomende NAT-regel wordt gebruikt om verkeer van de front-end van een load balancer door te sturen naar een of meer exemplaren in de back-endpool. Deze regels bieden een 1:1-toewijzing tussen het front-end-IP-adres en de back-endinstanties van de load balancer. Er zijn momenteel twee versies van inkomende NAT-regels, versie 1 en versie 2.
Belangrijk
Op 30 september 2027 worden binnenkomende NAT-regels v1 buiten gebruik gesteld. Als u momenteel inkomende NAT-regels v1 gebruikt, moet u een upgrade uitvoeren naar inkomende NAT-regels v2 vóór de buitengebruikstellingsdatum.
NAT-regel versie 1
Versie 1 is de verouderde methode voor het toewijzen van de front-endpoort van een Azure Load Balancer aan elk back-endexemplaren. Regels worden toegepast op de netwerkinterfacekaart (NIC) van het back-endexemplaren. Voor VMSS-exemplaren (Virtual Machine Scale Sets) van Azure worden binnenkomende NAT-regels automatisch gemaakt/verwijderd wanneer nieuwe exemplaren omhoog/omlaag worden geschaald. Voor VMSS-exemplaren wordt de Inbound NAT Pools
eigenschap gebruikt om binnenkomende NAT-regels versie 1 te beheren.
NAT-regel versie 2
Versie 2 van binnenkomende NAT-regels bieden dezelfde functieset als versie 1, met extra voordelen.
- Vereenvoudigde implementatie-ervaring en geoptimaliseerde updates.
- Inkomende NAT-regels richten zich nu op de back-endpool van de load balancer en vereisen geen verwijzing meer op de NIC van de virtuele machine. Voorheen op versie 1 moesten zowel de load balancer als de NIC van de virtuele machine worden bijgewerkt wanneer de binnenkomende NAT-regel werd gewijzigd. Versie 2 vereist slechts één aanroep van de configuratie van de load balancer, wat resulteert in geoptimaliseerde updates.
- Haal eenvoudig poorttoewijzing op tussen binnenkomende NAT-regels en back-endinstanties.
- Met het verouderde aanbod moet de regel worden gecorreleerd met de NIC van de virtuele machine om de poorttoewijzing op te halen tussen een binnenkomende NAT-regel en een exemplaar van een virtuele machine. Versie 2 injecteert de poorttoewijzing tussen de regel en het back-endexemplaren rechtstreeks in de configuratie van de load balancer.
Hoe kan ik weten of ik versie 1 van binnenkomende NAT-regels gebruik?
De eenvoudigste manier om te bepalen of uw implementaties versie 1 van de functie gebruiken, is door de configuratie van de load balancer te controleren. Nat-regels van versie 1 hebben een typewaarde van virtuele Azure-machine met een gedefinieerde waarde voor de virtuele doelmachine.
Voor nat-regels van versie 2 is de waarde Type de back-endpool met een gedefinieerde waarde voor de back-endpool van het doel.
Als u programmatisch wilt bepalen of een implementatie gebruikmaakt van versie 1 van binnenkomende NAT-regels, controleert u de configuratie van de load balancer met behulp van de Azure CLI of PowerShell. Als een van beide eigenschappen backendIPConfiguration
in de InboundNATRule
configuratie is ingevuld, is de implementatie versie 1 van binnenkomende NAT-regels. Versie 2-regels hebben de backendAddressPool
eigenschap in plaats van de backendIPConfiguration
eigenschap.
Migreren van versie 1 naar versie 2
Voordat u gaat migreren, is het belangrijk om de volgende informatie te bekijken:
- Migreren naar versie 2 van binnenkomende NAT-regels veroorzaakt downtime voor actief verkeer dat via de NAT-regels stroomt. Verkeer dat door load balancer-regels of uitgaande regels stroomt, wordt niet beïnvloed tijdens het migratieproces.
- Plan het maximum aantal exemplaren in een back-endpool. Aangezien versie 2 is gericht op de back-endpool van de load balancer, moet een voldoende aantal poorten worden toegewezen voor de front-end van de NAT-regel.
- Elk back-endexemplaren worden weergegeven op de poort die is geconfigureerd in de nieuwe NAT-regel.
- Meerdere NAT-regels kunnen niet bestaan als ze een overlappend poortbereik hebben of dezelfde back-endpoort hebben.
- NAT-regels en taakverdelingsregels kunnen niet dezelfde back-endpoort delen.
Handmatige migratie
De volgende drie stappen moeten worden uitgevoerd om te migreren naar versie 2 van binnenkomende NAT-regels
- Verwijder versie 1 van binnenkomende NAT-regels in de configuratie van de load balancer.
- Verwijder de verwijzing naar de NAT-regel op de configuratie van de virtuele machine of virtuele-machineschaalset.
- Alle instanties van virtuele-machineschaalsets moeten worden bijgewerkt.
- Implementeer versie 2 van inkomende NAT-regels.
Virtuele machine
De volgende stappen worden gebruikt voor het migreren van versie 1 naar versie 2 van binnenkomende NAT-regels voor een virtuele machine.
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
Schaalset voor virtuele machines
De volgende stappen worden gebruikt om te migreren van versie 1 naar versie 2 van binnenkomende NAT-regels voor een virtuele-machineschaalset. Hierbij wordt ervan uitgegaan dat de upgrademodus van de virtuele-machineschaalset is ingesteld op Handmatig. Zie Indelingsmodi voor virtuele-machineschaalsets in Azure voor meer informatie
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
Migratie met automatiseringsscript voor virtuele-machineschaalset
Het migratieproces hergebruikt bestaande back-endpools met lidmaatschap dat overeenkomt met de NAT-pools die moeten worden gemigreerd; Als er geen overeenkomende back-endpool wordt gevonden, wordt het script afgesloten (zonder wijzigingen aan te brengen). U kunt ook de -backendPoolReuseStrategy
parameter gebruiken om altijd nieuwe back-endpools (NoReuse
) te maken of een nieuwe back-endpool te maken als er geen overeenkomende pool bestaat (OptionalFirstMatch
). Back-endpools en NAT-regelkoppelingen kunnen na de migratie worden bijgewerkt zodat deze overeenkomen met uw voorkeur.
Vereisten
Voordat u begint met het migratieproces, moet u ervoor zorgen dat aan de volgende vereisten wordt voldaan:
- De SKU van de load balancer moet standaard zijn om de NAT-pools van een load balancer te migreren naar NAT-regels. Als u dit upgradeproces wilt automatiseren, raadpleegt u de stappen in Een basic load balancer upgraden naar Standard met PowerShell.
- De virtuele-machineschaalsets die zijn gekoppeld aan de load balancer van het doel, moeten handmatig of automatisch upgradebeleid gebruiken. Het upgradebeleid 'Rolling' wordt niet ondersteund. Zie Upgradebeleid voor virtuele-machineschaalsets voor meer informatie.
- Installeer de nieuwste versie van PowerShell.
- Installeer de Azure PowerShell-modules.
AzureLoadBalancerNATPoolMigration
De module installeren
Installeer met de volgende opdracht de AzureLoadBalancerNATPoolMigration
module vanuit de PowerShell Gallery:
# Install the AzureLoadBalancerNATPoolMigration module
Install-Module -Name AzureLoadBalancerNATPoolMigration -Scope CurrentUser -Repository PSGallery -Force
NAT-pools upgraden naar NAT-regels
Wanneer de module is geïnstalleerd, voert u een azureLoadBalancerNATPoolMigration
upgrade uit van uw NAT-pools naar NAT-regels met de volgende stappen:
Maak verbinding met Azure met
Connect-AzAccount
.Verzamel de namen van de doel load balancer voor de NAT-regelsupgrade en de naam van de resourcegroep .
Voer de migratieopdracht uit door uw resourcenamen te vervangen door de tijdelijke aanduidingen van
<loadBalancerResourceGroupName>
en<loadBalancerName>
:# Run the migration command Start-AzNATPoolMigration -ResourceGroupName <loadBalancerResourceGroupName> -LoadBalancerName <loadBalancerName>
Volgende stappen
- Meer informatie over het beheren van binnenkomende NAT-regels
- Meer informatie over AZURE Load Balancer NAT-pools en NAT-regels