Ajustar la configuración de NAT

Una vez que hayas configurado tu pasarela de Cloud NAT (NAT pública o NAT privada), podrás editar la configuración según tus necesidades. En esta página se enumeran las tareas que puedes realizar para optimizar tu configuración de Cloud NAT.

Editar las configuraciones puede ser un proceso disruptivo y provocar que se interrumpan las conexiones de traducción de direcciones de red (NAT). Para obtener más información sobre el impacto de ajustar las configuraciones de Cloud NAT, consulta Impacto de ajustar las configuraciones de NAT en las conexiones NAT actuales.

Ver el uso del puerto

Antes de modificar el uso mínimo de puertos por VM, revisa el uso de puertos por VM. Puede obtener esta información mediante la métrica compute.googleapis.com/nat/port_usage.

  1. En la Google Cloud consola, ve a la página Monitorización.

    Ir a Monitoring

    1. En el panel de navegación, selecciona Explorador de métricas .

    2. Despliega el menú Seleccionar una métrica y usa los submenús para elegir la métrica compute.googleapis.com/nat/port_usage:

      • En Resource (Recurso), selecciona VM instance (Instancia de VM).
      • En Categoría de métrica, selecciona Nat.
      • En Métrica, selecciona Uso del puerto.
    3. Haz clic en Aplicar.

    4. Para seleccionar tu pasarela Cloud NAT, usa el campo Filtros.

    5. En la sección Agrupar por, en Etiquetas, selecciona instance_id.

    6. En la lista Función de agrupación, seleccione Máximo.

    7. Despliega Más opciones y asigna el valor max al campo Alineador.

    8. Para ver el uso de los últimos 30 días, especifica 30d.

    Para obtener más información sobre cómo usar el explorador de métricas, consulta Seleccionar métricas al usar el explorador de métricas.

Elegir un número mínimo de puertos por VM

Elegir un número mínimo de puertos adecuado es importante para ayudarte a maximizar el uso de las direcciones IP de NAT.

Antes de aumentar el número de puertos por VM, considera otras estrategias para reducir el uso de puertos.

Si necesitas aumentar el número de puertos por VM, empieza por analizar el uso de puertos por VM en tu pasarela. Para obtener información sobre cómo encontrar estos datos, consulta Ver el uso de puertos.

Revisa el uso máximo de puertos de los últimos 30 días o de otro periodo que creas que es representativo de tu pasarela Cloud NAT.

Elige una de estas opciones:

Cambiar el número mínimo de puertos predeterminados asignados por VM

Para obtener ayuda sobre cómo configurar el número mínimo de puertos por VM, consulta Elegir un número mínimo de puertos por VM.

Para obtener información sobre las consecuencias de cambiar la asignación mínima de puertos, consulta las siguientes secciones:

Si tu pasarela Cloud NAT tiene configurada la asignación dinámica de puertos, consulta Cambiar los puertos mínimos o máximos cuando la asignación dinámica de puertos esté configurada.

Consola

  1. En la Google Cloud consola, ve a la página Cloud NAT.

    Ir a Cloud NAT

  2. Haz clic en tu pasarela de Cloud NAT.

  3. Haz clic en Editar.

  4. Haz clic en Configuraciones avanzadas.

  5. Modifica el campo Número mínimo de puertos por instancia de VM.

  6. Haz clic en Guardar.

gcloud

Usa el comando gcloud compute routers nats update.

Este comando deja sin modificar los demás campos de la configuración de Cloud NAT.

gcloud compute routers nats update NAT_CONFIG \
    --router=ROUTER_NAME \
    --region=REGION \
    --min-ports-per-vm=128

Haz los cambios siguientes:

  • NAT_CONFIG: el nombre de tu configuración de Cloud NAT.
  • ROUTER_NAME: el nombre de tu Cloud Router.
  • REGION: la región de Cloud NAT que se va a actualizar. Si no se especifica, es posible que se te pida que selecciones una región (solo en modo interactivo).

Cambiar el método de asignación de puertos

La asignación estática de puertos y la asignación dinámica de puertos tienen requisitos de configuración diferentes.

Antes de actualizar el tipo de asignación de puertos en una pasarela de Cloud NAT, asegúrate de que la configuración de la pasarela de Cloud NAT sea compatible con ese tipo de asignación de puertos. Si la configuración no es compatible, el cambio no se realizará.

Consola

  1. En la Google Cloud consola, ve a la página Cloud NAT.

    Ir a Cloud NAT

  2. Haz clic en tu pasarela de Cloud NAT.

  3. Haz clic en Editar.

  4. Haz clic en Configuraciones avanzadas.

  5. Selecciona o deselecciona Habilitar asignación dinámica de puertos.

  6. Si es necesario, ajusta los valores de Número mínimo de puertos por instancia de VM y Número máximo de puertos por instancia de VM.

  7. Haz clic en Guardar.

gcloud

Usa el comando gcloud compute routers nats update.

Este comando deja sin modificar los demás campos de la configuración de Cloud NAT.

gcloud compute routers nats update NAT_CONFIG \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-dynamic-port-allocation | --no-enable-dynamic-port-allocation \
    [ --min-ports-per-vm=MIN_PORTS ] \
    [ --max-ports-per-vm=MAX_PORTS ]

Haz los cambios siguientes:

  • NAT_CONFIG: el nombre de tu configuración de Cloud NAT.
  • ROUTER_NAME: el nombre de tu Cloud Router.
  • REGION: la región de Cloud NAT que se va a actualizar. Si no se especifica, es posible que se te pida que selecciones una región (solo en modo interactivo).
  • MIN_PORTS: número mínimo de puertos que se asignarán a cada VM. Si la asignación dinámica de puertos está habilitada, MIN_PORTS debe ser una potencia de 2 y puede estar entre 32 y 32768.
  • MAX_PORTS: número máximo de puertos que se asignarán a cada VM. MAX_PORTS debe ser una potencia de 2 y puede estar entre 64 y 65536. MAX_PORTS debe ser mayor que MIN_PORTS. El valor predeterminado es 65536.

Cambiar los puertos mínimos o máximos cuando se configura la asignación dinámica de puertos

Una vez que hayas configurado la asignación dinámica de puertos, podrás cambiar el número mínimo o máximo de puertos asignados por VM.

Para obtener ayuda sobre cómo configurar el número mínimo de puertos por VM, consulta Elegir un número mínimo de puertos por VM.

Para obtener información sobre las consecuencias de cambiar la asignación mínima de puertos, consulta las siguientes secciones:

Consola

  1. En la Google Cloud consola, ve a la página Cloud NAT.

    Ir a Cloud NAT

  2. Haz clic en tu pasarela de Cloud NAT.

  3. Haz clic en Editar.

  4. Haz clic en Configuraciones avanzadas.

  5. Ajusta los campos Número mínimo de puertos por instancia de VM y Número máximo de puertos por instancia de VM.

  6. Haz clic en Guardar.

gcloud

Usa el comando gcloud compute routers nats update.

Este comando deja sin modificar los demás campos de la configuración de Cloud NAT.

gcloud compute routers nats update NAT_CONFIG \
    --router=ROUTER_NAME \
    --region=REGION \
    --min-ports-per-vm=MIN_PORTS \
    --max-ports-per-vm=MAX_PORTS

Haz los cambios siguientes:

  • NAT_CONFIG: el nombre de tu configuración de Cloud NAT.
  • ROUTER_NAME: el nombre de tu Cloud Router.
  • REGION: la región de Cloud NAT que se va a actualizar. Si no se especifica, es posible que se te pida que selecciones una región (solo en modo interactivo).
  • MIN_PORTS: número mínimo de puertos que se asignarán a cada VM. Si la asignación dinámica de puertos está habilitada, MIN_PORTS debe ser una potencia de 2 y puede estar entre 32 y 32768.
  • MAX_PORTS: número máximo de puertos que se asignarán a cada VM. MAX_PORTS debe ser una potencia de 2 y puede estar entre 64 y 65536. MAX_PORTS debe ser mayor que MIN_PORTS.

Modificar los tiempos de espera de NAT

En las siguientes secciones se describen los tiempos de espera de NAT y cómo modificarlos:

Tiempos de espera de NAT

Cloud NAT usa los siguientes tiempos de espera para las conexiones de protocolo. Estos tiempos de espera se aplican tanto a Public NAT como a Private NAT, salvo que se indique lo contrario. Puede modificar los valores de tiempo de espera predeterminados para reducir o aumentar la frecuencia con la que se reutilizan los puertos. Cada valor de tiempo de espera es un equilibrio entre el uso eficiente de los recursos de Cloud NAT y las posibles interrupciones de las conexiones, los flujos o las sesiones activas.

Tiempo de espera Descripción Valor predeterminado de Cloud NAT Se pueden configurar.

Tiempo de espera de inactividad de la asignación UDP

RFC 4787 REQ-5

Especifica el tiempo en segundos tras el cual los flujos UDP deben dejar de enviar tráfico a los endpoints para que se eliminen las asignaciones de Cloud NAT.

El tiempo de espera inactivo de la asignación UDP afecta a dos endpoints que dejan de enviar tráfico entre sí. También afecta a los endpoints que tardan más en responder o si hay un aumento de la latencia de la red.

Puede aumentar el valor de tiempo de espera especificado para reducir la frecuencia con la que se pueden reutilizar los puertos. Cuanto mayor sea el valor del tiempo de espera, más tiempo se mantendrán los puertos para las conexiones y también se protegerá contra las pausas en el tráfico a través de un socket UDP específico.

30 segundos

Tiempo de espera de inactividad de conexión TCP establecida

RFC 5382 REQ-5

Especifica el tiempo en segundos que una conexión permanece inactiva antes de que se eliminen las asignaciones de Cloud NAT.

El tiempo de espera inactivo de la conexión establecida de TCP afecta a los endpoints que tardan más en responder o si hay una mayor latencia de red.

Puedes aumentar el valor del tiempo de espera cuando quieras abrir conexiones TCP y mantenerlas abiertas durante mucho tiempo sin que haya un mecanismo de mantenimiento activo.

1200 segundos (20 minutos)

Tiempo de espera de inactividad de conexión transitoria TCP

RFC 5382 REQ-5

Especifica el tiempo en segundos que las conexiones TCP pueden permanecer en el estado semiabierto antes de que se puedan eliminar las asignaciones de Cloud NAT.

El tiempo de espera de inactividad de la conexión transitoria TCP afecta a un endpoint cuando un endpoint externo tarda más tiempo del especificado o cuando aumenta la latencia de la red. A diferencia del tiempo de espera de conexión inactiva TCP establecida, el tiempo de espera de conexión inactiva TCP transitoria solo afecta a las conexiones semiabiertas.

30 segundos

Nota: Independientemente del valor que definas para este tiempo de espera, Cloud NAT puede tardar hasta 30 segundos adicionales antes de que se pueda usar una tupla de dirección IP de origen y puerto de origen de Cloud NAT para procesar una nueva conexión.

Tiempo de espera de TIME_WAIT de TCP

RFC 5382 REQ-5

Especifica el tiempo en segundos que se conserva una conexión TCP completamente cerrada en las asignaciones de Cloud NAT después de que caduque la conexión.

El tiempo de espera TIME_WAIT de TCP protege tus endpoints internos para que no reciban paquetes no válidos que pertenezcan a una conexión TCP cerrada que se haya retransmitido.

Puedes reducir el valor del tiempo de espera para mejorar la reutilización de los puertos de Cloud NAT, pero corres el riesgo de recibir paquetes retransmitidos de una conexión no relacionada que se haya cerrado anteriormente.

120 segundos

Nota: Independientemente del valor que definas para este tiempo de espera, Cloud NAT puede tardar hasta 30 segundos adicionales antes de que se pueda usar una tupla de dirección IP de origen y puerto de origen de Cloud NAT para procesar una nueva conexión. Si usas la asignación dinámica de puertos, establece este tiempo de espera en 15 segundos o más para evitar que se pierdan paquetes.

Tiempo de espera de inactividad de la asignación ICMP
(solo se aplica a NAT público)

RFC 5508 REQ-2

Especifica el tiempo en segundos tras el cual se cierran las asignaciones de Cloud NAT del protocolo de mensajes de control de Internet (ICMP) que no tienen ningún flujo de tráfico.

El tiempo de espera inactivo de la asignación de ICMP afecta a un endpoint cuando tarda más en responder que el tiempo especificado o cuando aumenta la latencia de la red.

30 segundos

Cambiar los tiempos de espera de NAT

Consola

  1. En la Google Cloud consola, ve a la página Cloud NAT.

    Ir a Cloud NAT

  2. Haz clic en tu pasarela de Cloud NAT.

  3. Haz clic en Editar.

  4. Haz clic en Configuraciones avanzadas.

  5. Modifica los valores de tiempo de espera que quieras cambiar.

  6. Haz clic en Guardar.

gcloud

Usa el comando gcloud compute routers nats update con las siguientes marcas para cambiar estos valores de tiempo de espera:

  • Tiempo de espera de inactividad de la asignación UDP: --udp-idle-timeout
  • Tiempo de espera de inactividad de conexión TCP establecida: --tcp-established-idle-timeout
  • Tiempo de espera de inactividad de conexión transitoria TCP: --tcp-transitory-idle-timeout
  • Tiempo de espera de TCP TIME_WAIT: --tcp-time-wait-timeout
  • Tiempo de espera de inactividad de la asignación de ICMP: --icmp-idle-timeout

Este comando no modifica el resto de los campos de la configuración de NAT.

Por ejemplo, el siguiente comando cambia el valor de tiempo de espera inactivo de asignación UDP.

gcloud compute routers nats update NAT_CONFIG \
    --router=ROUTER_NAME \
    --region=REGION \
    --udp-idle-timeout=VALUE

Haz los cambios siguientes:

  • NAT_CONFIG: el nombre de tu configuración de Cloud NAT.
  • ROUTER_NAME: el nombre de tu Cloud Router.
  • REGION: la región de Cloud NAT que se va a actualizar. Si no se especifica, es posible que se te pida que selecciones una región (solo en modo interactivo).
  • VALUE: valor de tiempo de espera (en segundos)

Restablecer los tiempos de espera de NAT a los valores predeterminados

Consola

  1. En la Google Cloud consola, ve a la página Cloud NAT.

    Ir a Cloud NAT

  2. Haz clic en tu pasarela de Cloud NAT.

  3. Haz clic en Editar.

  4. Haz clic en Configuraciones avanzadas.

  5. Elimina los valores configurados por el usuario que quieras restablecer.

  6. Haz clic en Guardar.

Los valores eliminados se restablecen a los valores predeterminados.

gcloud

Usa el comando gcloud compute routers nats update.

Este comando deja sin modificar los demás campos de la configuración de Cloud NAT.

gcloud compute routers nats update NAT_CONFIG \
    --router=ROUTER_NAME \
    --region=REGION \
    --clear-udp-idle-timeout \
    --clear-icmp-idle-timeout \
    --clear-tcp-established-idle-timeout \
    --clear-tcp-time-wait-timeout \
    --clear-tcp-transitory-idle-timeout

Haz los cambios siguientes:

  • NAT_CONFIG: el nombre de tu pasarela de Cloud NAT.
  • ROUTER_NAME: el nombre de tu Cloud Router.
  • REGION: la región de Cloud NAT que se va a actualizar. Si no se especifica, es posible que se te pida que selecciones una región (solo en modo interactivo).

Impacto de la configuración de NAT en las conexiones NAT ya existentes

En la siguiente tabla se resume el impacto de ajustar las configuraciones de Cloud NAT en las conexiones actuales:

Acción de ajuste Conexión interrumpida
Inhabilitar la asignación independiente de puntos finales No
Disminuye el número mínimo de puertos por VM mientras habilitas la asignación dinámica de puertos:
Número máximo de puertos por VM >= Número mínimo de puertos por VM antiguo y
Número máximo de puertos por VM >= 1024
No
Aumentar el número mínimo de puertos por VM cuando ya se ha habilitado la asignación dinámica de puertos No
Reducir el número mínimo de puertos por VM cuando ya tengas habilitada la asignación dinámica de puertos No
Aumentar el número mínimo de puertos por VM cuando la asignación dinámica de puertos ya está inhabilitada No
Reducir el número mínimo de puertos por VM cuando la asignación dinámica de puertos ya esté inhabilitada
Aumentar el número máximo de puertos por VM No
Reducir el número máximo de puertos por VM cuando ya se ha habilitado la asignación dinámica de puertos
Cambiar los tiempos de espera de Cloud NAT cuando la asignación dinámica de puertos está habilitada o inhabilitada No
Inhabilitar la asignación dinámica de puertos

Siguientes pasos