Migración de las reglas NAT de entrada versión 1 a la versión 2

Una regla NAT de entrada se usa para reenviar el tráfico desde un front-end del equilibrador de carga a una o varias instancias del grupo de back-end. Estas reglas proporcionan una asignación 1:1 entre la dirección IP frontend del equilibrador de carga y las instancias de backend. Actualmente hay dos versiones de reglas NAT de entrada, versión 1 y versión 2.

Importante

El 30 de septiembre de 2027 se retirarán Grupos NAT de entrada (la característica específica de Azure Virtual Machine Scale Sets de las reglas NAT de entrada V1). Si actualmente usa grupos NAT de entrada con Virtual Machine Scale Sets, migre a reglas NAT de entrada V2 antes de la fecha de retirada. Las reglas NAT de entrada de máquina virtual única V1 no se ven afectadas por esta retirada y no es necesario migrar.

Regla NAT versión 1

La versión 1 de las reglas NAT de entrada incluye dos características distintas:

  • Reglas NAT de entrada de máquina virtual única : proporciona una asignación de puertos de 1:1 entre una dirección IP o puerto de front-end del equilibrador de carga y una máquina virtual específica. Las reglas se aplican directamente a la tarjeta de interfaz de red (NIC) de la máquina virtual. No se están retirando y no es necesario migrar.

  • Grupos NAT de entrada (solo Virtual Machine Scale Sets): este es el enfoque heredado para asignar el puerto front-end de un Azure Load Balancer a cada instancia de back-end. Las reglas NAT de entrada se crean y eliminan automáticamente para cada instancia del Virtual Machine Scale Set a medida que el conjunto aumenta o reduce el número de instancias. Los grupos de NAT definen en el equilibrador de carga y se hace referencia a ellos mediante la configuración de NIC de los Virtual Machine Scale Sets a través de la propiedad loadBalancerInboundNatPools. Estos se retiran el 30 de septiembre de 2027 y deben migrarse a las reglas NAT de entrada V2.

Regla NAT versión 2

La versión 2 de las reglas NAT de entrada proporcionan el mismo conjunto de características que la versión 1, con ventajas adicionales.

  • Experiencia de implementación simplificada y actualizaciones optimizadas.
    • Las reglas NAT de entrada ahora tienen como destino el grupo de back-end del equilibrador de carga y ya no requieren una referencia en la NIC de la máquina virtual. Anteriormente en la versión 1, tanto el equilibrador de carga como la NIC de la máquina virtual necesitaban actualizarse cada vez que se cambiaba la regla NAT de entrada. La versión 2 solo requiere una sola llamada en la configuración del equilibrador de carga, lo que da lugar a actualizaciones optimizadas.
  • Consulte fácilmente la asignación de puertos entre las reglas NAT de entrada y las instancias de backend.
    • Con la oferta heredada, para recuperar la asignación de puertos entre una regla NAT de entrada y una instancia de máquina virtual, la regla tendría que estar correlacionada con la NIC de la máquina virtual. La versión 2 inserta la asignación de puertos entre la regla y la instancia de back-end directamente en la configuración del equilibrador de carga.

¿Cómo sé si uso la versión 1 de las reglas NAT de entrada?

La manera más fácil de identificar si las implementaciones usan la versión 1 de la característica es inspeccionando la configuración del equilibrador de carga. Las reglas NAT de la versión 1 tienen un valor de Tipo de Azure Virtual Machine con un valor definido de Máquina virtual de destino.

Captura de pantalla de la configuración de la regla NAT 1 en Azure Portal.

En el caso de las reglas NAT de la versión 2, el valor de Tipo será Grupo de back-end con un valor de Grupo de back-end de destino definido.

Captura de pantalla de la configuración de la regla NAT 2 en Azure Portal.

Para determinar mediante programación si una implementación usa la versión 1 de las reglas NAT de entrada, inspeccione la configuración del equilibrador de carga mediante la CLI de Azure o PowerShell. Si alguna de las dos propiedades backendIPConfiguration de la configuración InboundNATRule está rellena, la implementación corresponde a la versión 1 de las reglas NAT de entrada. Las reglas de la versión 2 tendrán la propiedad backendAddressPool en lugar de la propiedad backendIPConfiguration.

¿Cómo sé si estoy usando grupos NAT de entrada?

Para comprobar si el equilibrador de carga tiene configurados grupos NAT de entrada:

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

Si los comandos anteriores devuelven algún resultado, el equilibrador de carga usa grupos de NAT de entrada y debe migrarse.

La diferencia clave es el nombre de la propiedad ARM: los grupos NAT de entrada aparecen en la propiedad inboundNatPools del equilibrador de carga, mientras que las reglas NAT de entrada aparecen en la propiedad inboundNatRules. Si el equilibrador de carga tiene una matriz no vacía inboundNatPools , usa grupos NAT de entrada y debe migrarse a V2 antes del 30 de septiembre de 2027.

Note

Si el equilibrador de carga solo tiene reglas NAT de entrada para una sola máquina virtual (Tipo = "Máquina virtual de Azure") y ningún grupo de NAT de entrada, no se requiere ninguna migración. Las reglas de máquina virtual única V1 no se están retirando.

¿Cómo migrar de grupos NAT de entrada a la versión 2?

Antes de migrar, es importante revisar la siguiente información:

  • La migración a la versión 2 de las reglas NAT de entrada provoca tiempo de inactividad en el tráfico activo que fluye a través de las reglas NAT. El tráfico que circula por las reglas del equilibrador de carga o las reglas de salida no se ve afectado durante el proceso de migración.
  • Planifique el número máximo de instancias en un grupo de servidores back-end. Dado que la versión 2 tiene como destino el grupo de back-end del equilibrador de carga, es necesario asignar un número suficiente de puertos para el front-end de la regla NAT.
  • Cada instancia de back-end queda expuesta en el puerto configurado en la nueva regla NAT.
  • No pueden existir varias reglas NAT si tienen un intervalo de puertos superpuestos o tienen el mismo puerto back-end.
  • Las reglas NAT y las reglas de equilibrio de carga no pueden compartir el mismo puerto de back-end.

Migración manual

Los siguientes tres pasos migran los Pools de NAT entrantes a la versión 2 de las reglas de NAT entrantes. Una única regla de NAT de entrada de VM V1 no requiere estos pasos.

  1. Elimina el Pool de NAT entrante en la configuración del balanceador de carga.
  2. Quitar la referencia loadBalancerInboundNatPools de la configuración de la interfaz de red del conjunto de escalado de máquinas virtuales.
    • Actualiza todas las instancias del conjunto de escalado de máquinas virtuales.
  3. Despliega la versión 2 de las reglas de NAT entrante contra el pool de backend del balanceador de carga.

Conjunto de escalas de máquinas virtuales

Importante

Esta es la ruta de migración obligatoria para la retirada de Inbound NAT Pools. Todas las implementaciones del conjunto de escalado de máquinas virtuales que usan grupos NAT de entrada deben completar esta migración antes del 30 de septiembre de 2027.

Los siguientes pasos se utilizan para migrar de la versión 1 a la versión 2 de las reglas de NAT de entrada de un Virtual Machine Scale Set. Se asume que el modo de actualización del conjunto de escalado de máquinas virtuales está configurado como Manual. Para obtener más información, consulte Modos de orquestación de los conjuntos de escalado de máquinas virtuales de 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

Comprobar la migración.

Después de completar cualquiera de los procedimientos, confirma los tres resultados:

  • El balanceador de carga ya no tiene pools de NAT entrantes. az network lb inbound-nat-pool list -g MyResourceGroup --lb-name MyLoadBalancer devuelve un resultado vacío, o $slb.InboundNatPools está vacío en PowerShell.
  • La nueva regla de la versión 2 está dirigida al grupo de servidores back-end de destino. Confirma que la regla muestra un valor de grupo de back-end de destino en el portal de Azure, o que backendAddressPool esté rellenado en la configuración de la regla.
  • Existen los mapeos de puertos esperados. En el portal de Azure, abre la nueva regla NAT entrante y revisa la sección de mapeo de puertos para cada instancia backend.

Migración mediante script de automatización para el conjunto de escalado de máquinas virtuales

El proceso de migración reutilizará los grupos de back-end existentes con los miembros que coincidan con los grupos NAT que se van a migrar; si no se encuentra ningún grupo de back-end que coincida, el script se cerrará (sin realizar cambios). Como alternativa, use el parámetro -backendPoolReuseStrategy para crear siempre nuevos grupos de back-end (NoReuse) o cree un nuevo grupo de back-end si no existe uno que coincida (OptionalFirstMatch). Después de la migración, los grupos de back-end y las asociaciones de reglas NAT se pueden actualizar para que coincidan con sus preferencias.

Requisitos previos

Antes de comenzar el proceso de migración, asegúrese de que se cumplen los siguientes requisitos previos:

Instalación del módulo AzureLoadBalancerNATPoolMigration

Use uno de los siguientes comandos para instalar el módulo AzureLoadBalancerNATPoolMigration desde la Galería de PowerShell:

# Install the AzureLoadBalancerNATPoolMigration module

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

Actualizar grupos NAT a reglas NAT

Con el azureLoadBalancerNATPoolMigration módulo instalado, actualice los grupos nat a reglas NAT con los pasos siguientes:

  1. Conéctese a Azure con Connect-AzAccount.

  2. Recopila los nombres del balanceador de carga objetivo para la actualización de las reglas NAT y el nombre de su grupo de recursos .

  3. Ejecute el comando de migración sustituyendo los marcadores de posición <loadBalancerResourceGroupName> y <loadBalancerName> por los nombres de sus recursos:

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

Pasos siguientes