Ajusta la configuración de NAT

Después de configurar la puerta de enlace de Cloud NAT (NAT pública o NAT privada), puedes editar la configuración según tus requisitos. En esta página, se enumeran las tareas que puedes realizar para ajustar la configuración de Cloud NAT.

La edición de parámetros de configuración puede ser disruptiva y provocar que se pierdan las conexiones de traducción de direcciones de red (NAT) existentes. Para obtener más información sobre el impacto de la optimización de las configuraciones de Cloud NAT, consulta Impacto de la optimización de las configuraciones de NAT en las conexiones de NAT existentes.

Visualiza el uso de puertos

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

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

    Ir a Monitoring

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

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

      • En Recurso, selecciona Instancia de VM.
      • En Categoría de métrica, selecciona Nat.
      • En Métrica, selecciona Uso de puertos.
    3. Haz clic en Aplicar.

    4. Para seleccionar la puerta de enlace de 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, selecciona Máx.

    7. Expande Más opciones y establece el campo Alineador en máx.

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

    Para obtener más información sobre el uso del Explorador de métricas, consulta Selecciona métricas cuando uses el Explorador de métricas.

Elige una cantidad mínima de puertos por VM

Es importante elegir una cantidad mínima de puertos adecuada para ayudarte a maximizar el uso de las direcciones IP de NAT.

Antes de aumentar la cantidad de puertos por VM, considera otras estrategias para reducir el uso de puertos.

Si necesitas aumentar la cantidad de puertos por VM, comienza por considerar el uso de puertos por VM en tu puerta de enlace. Para obtener información sobre cómo encontrar estos datos, consulta Visualiza el uso de puertos.

Revisa el uso máximo de puertos de los últimos 30 días o cualquier otro período que consideres representativo para la puerta de enlace de Cloud NAT.

Realiza una de las siguientes acciones:

Cambia los puertos predeterminados mínimos asignados por VM

Si deseas obtener ayuda para decidir cómo configurar la cantidad mínima de puertos por VM, consulta Elige una cantidad mínima de puertos por VM.

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

Si tu puerta de enlace de Cloud NAT tiene configurada la asignación dinámica de puertos, consulta Cambia los puertos mínimos o máximos cuando la configuración de puertos dinámicos está configurada.

Console

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

    Ir a Cloud NAT

  2. Haz clic en tu puerta de enlace de Cloud NAT.

  3. Haz clic en Editar.

  4. Haz clic en Configuración avanzada.

  5. Modifica el campo Cantidad mínima de puertos por instancia de VM.

  6. Haz clic en Guardar.

gcloud

Este comando deja los otros campos en la configuración de Cloud NAT sin modificar.

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

Reemplaza lo siguiente:

  • NAT_CONFIG: Es el nombre de tu configuración de Cloud NAT.
  • ROUTER_NAME: Es el nombre de tu Cloud Router.
  • REGION: La región de la Cloud NAT que se actualizará. Si no se especifica, es posible que se te solicite seleccionar una región (solo modo interactivo).

Cambia el método de asignación de puertos

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

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

Console

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

    Ir a Cloud NAT

  2. Haz clic en tu puerta de enlace de Cloud NAT.

  3. Haz clic en Editar.

  4. Haz clic en Configuración avanzada.

  5. Selecciona o anula la selección de Habilitar la asignación dinámica de puertos.

  6. Si es necesario, ajusta los valores de Cantidad mínima de puertos por instancia de VM y Cantidad máxima de puertos por instancia de VM.

  7. Haz clic en Guardar.

gcloud

Este comando deja los otros campos en la configuración de Cloud NAT sin modificar.

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 ]

Reemplaza lo siguiente:

  • NAT_CONFIG: Es el nombre de tu configuración de Cloud NAT.
  • ROUTER_NAME: Es el nombre de tu Cloud Router.
  • REGION: La región de la Cloud NAT que se actualizará. Si no se especifica, es posible que se te solicite seleccionar una región (solo modo interactivo).
  • MIN_PORTS: Es la cantidad mínima de puertos que se asignarán para cada VM. Si está habilitada la asignación dinámica de puertos, MIN_PORTS debe ser una potencia de 2 y puede estar entre 32 y 32768.
  • MAX_PORTS: Es la cantidad máxima de puertos que se asignarán para cada VM. MAX_PORTS debe ser una potencia de 2 y puede estar entre 64 y 65536. MAX_PORTS debe ser superior a MIN_PORTS. El valor predeterminado es 65536.

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

Después de configurar la asignación dinámica de puertos, puedes cambiar la cantidad mínima o máxima de puertos asignados por VM.

Si deseas obtener ayuda para decidir cómo configurar la cantidad mínima de puertos por VM, consulta Elige una cantidad mínima de puertos por VM.

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

Console

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

    Ir a Cloud NAT

  2. Haz clic en tu puerta de enlace de Cloud NAT.

  3. Haz clic en Editar.

  4. Haz clic en Configuración avanzada.

  5. Ajusta los campos Cantidad mínima de puertos por instancia de VM y Cantidad máxima de puertos por instancia de VM.

  6. Haz clic en Guardar.

gcloud

Este comando deja los otros campos en la configuración de Cloud NAT sin modificar.

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

Reemplaza lo siguiente:

  • NAT_CONFIG: Es el nombre de tu configuración de Cloud NAT.
  • ROUTER_NAME: Es el nombre de tu Cloud Router.
  • REGION: La región de la Cloud NAT que se actualizará. Si no se especifica, es posible que se te solicite seleccionar una región (solo modo interactivo).
  • MIN_PORTS: Es la cantidad mínima de puertos que se asignarán para cada VM. Si está habilitada la asignación dinámica de puertos, MIN_PORTS debe ser una potencia de 2 y puede estar entre 32 y 32768.
  • MAX_PORTS: Es la cantidad máxima de puertos que se asignarán para cada VM. MAX_PORTS debe ser una potencia de 2 y puede estar entre 64 y 65536. MAX_PORTS debe ser superior a MIN_PORTS.

Modifica los tiempos de espera de NAT

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

Tiempo de espera de NAT

Cloud NAT usa los siguientes tiempos de espera para las conexiones de protocolo. Estos tiempos de espera se aplican a la NAT pública y a la NAT privada, excepto donde se indique lo contrario. Puedes modificar los valores predeterminados del tiempo de espera para disminuir o aumentar la tasa a 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 la posible interrupción de las conexiones, los flujos o las sesiones activos.

Tiempo de espera Descripción Cloud NAT predeterminado Configurable

Tiempo de espera de inactividad del mapeo de UDP

RFC 4787 REQ-5

Especifica el tiempo en segundos después del cual los flujos de UDP deben dejar de enviar tráfico a los extremos para que se quiten las asignaciones de Cloud NAT.

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

Puedes aumentar el valor de tiempo de espera especificado para disminuir la velocidad a la que se pueden reutilizar los puertos. El valor de tiempo de espera mayor significa que los puertos se mantienen para conexiones más largas y también protege contra las pausas en el tráfico a través de un socket UDP específico.

30 segundos

Tiempo de espera de inactividad de la conexión establecida de TCP

RFC 5382 REQ-5

Especifica el tiempo en segundos durante el cual una conexión está inactiva antes de que se quiten las asignaciones de Cloud NAT.

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

Puedes aumentar el valor del tiempo de espera cuando quieras abrir conexiones TCP y mantener las conexiones abiertas durante mucho tiempo sin un mecanismo keepalive implementado.

1,200 segundos (20 minutos)

Tiempo de espera de inactividad de la conexión transitoria de TCP

RFC 5382 REQ-5

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

El tiempo de espera de inactividad de conexión transitoria de TCP afecta un extremo cuando un extremo externo tarda más que el tiempo especificado o cuando hay una mayor latencia de red. A diferencia del tiempo de espera de inactividad de la conexión establecida de TCP, el tiempo de espera de inactividad de la conexión transitoria de TCP afecta solo las conexiones semiabiertas.

30 segundos

Nota: Independientemente del valor que establezcas para este tiempo de espera, Cloud NAT podría requerir hasta 30 segundos adicionales antes de que una dirección IP de origen de Cloud NAT y una tupla de puerto de origen puedan utilizarse para procesar una nueva conexión.

TCP TIME_WAIT Timeout

RFC 5382 REQ-5

Especifica el tiempo en segundos durante el cual una conexión TCP totalmente cerrada se retiene en las asignaciones de Cloud NAT una vez que vence la conexión.

El tiempo de espera TIME_WAIT de TCP protege tus extremos internos de la recepción de paquetes no válidos que pertenecen a una conexión TCP cerrada que se vuelven a transmitir.

Puedes disminuir el valor de tiempo de espera para mejorar la reutilización de los puertos de Cloud NAT a costa de recibir paquetes retransmitidos de una conexión no relacionada y previamente cerrada.

120 segundos

Nota: Independientemente del valor que establezcas para este tiempo de espera, Cloud NAT podría requerir hasta 30 segundos adicionales antes de que una dirección IP de origen de Cloud NAT y una tupla de puerto de origen puedan utilizarse para procesar una nueva conexión. Si usas la asignación dinámica de puertos, configura este tiempo de espera en 30 segundos o más para evitar que se descarten paquetes.

Tiempo de espera de inactividad del mapeo de ICMP
(solo se aplica a NAT pública)

RFC 5508 REQ-2

Especifica el tiempo en segundos después del 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 de inactividad del mapeo de ICMP afecta un extremo cuando este tarda más en responder que el tiempo especificado o cuando hay una mayor latencia de red.

30 segundos

Cambia los tiempos de espera de NAT

Console

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

    Ir a Cloud NAT

  2. Haz clic en tu puerta de enlace de Cloud NAT.

  3. Haz clic en Editar.

  4. Haz clic en Configuración avanzada.

  5. Modifica cualquier valor 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 asignación de UDP: --udp-idle-timeout
  • Tiempo de espera de inactividad de la conexión establecida de TCP: --tcp-established-idle-timeout
  • Tiempo de espera de inactividad de la conexión transitoria de TCP: --tcp-transitory-idle-timeout
  • Tiempo de espera de TCP TIME_WAIT: --tcp-time-wait-timeout
  • Tiempo de espera de inactividad del mapeo de ICMP: --icmp-idle-timeout

Este comando deja los otros campos en la configuración de NAT sin modificar.

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

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

Reemplaza lo siguiente:

  • NAT_CONFIG: Es el nombre de tu configuración de Cloud NAT.
  • ROUTER_NAME: Es el nombre de tu Cloud Router.
  • REGION: La región de la Cloud NAT que se actualizará. Si no se especifica, es posible que se te solicite seleccionar una región (solo modo interactivo).
  • VALUE: El valor del tiempo de espera (en segundos)

Restablece los tiempos de espera de NAT a los valores predeterminados

Console

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

    Ir a Cloud NAT

  2. Haz clic en tu puerta de enlace de Cloud NAT.

  3. Haz clic en Editar.

  4. Haz clic en Configuración avanzada.

  5. Quita todos los valores configurados por el usuario que quieras restablecer.

  6. Haz clic en Guardar.

Los valores que se quitan se restablecen a los valores predeterminados.

gcloud

Este comando deja los otros campos en la configuración de Cloud NAT sin modificar.

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

Reemplaza lo siguiente:

  • NAT_CONFIG: el nombre de tu puerta de enlace de Cloud NAT.
  • ROUTER_NAME: Es el nombre de tu Cloud Router.
  • REGION: La región de la Cloud NAT que se actualizará. Si no se especifica, es posible que se te solicite seleccionar una región (solo modo interactivo).

Impacto de la optimización de las configuraciones de NAT en las conexiones de NAT existentes

En la siguiente tabla, se resume el impacto de ajustar la configuración de Cloud NAT en las conexiones existentes:

Acción de ajuste Pérdida de conexión
Inhabilita la asignación independiente de extremos No
Disminuye la cantidad mínima de puertos por VM y habilita la asignación dinámica de puertos:
cantidad máxima de puertos por VM >= cantidad mínima de puertos anterior por VM, y
cantidad máxima de puertos por VM >= 1024
No
Aumenta la cantidad mínima de puertos por VM cuando ya tienes habilitada la asignación dinámica de puertos No
Disminuye la cantidad mínima de puertos por VM cuando ya tienes habilitada la asignación dinámica de puertos No
Aumenta la cantidad mínima de puertos por VM cuando ya inhabilitaste la asignación de puertos dinámicos No
Disminuye la cantidad mínima de puertos por VM cuando ya inhabilitaste la asignación dinámica de puertos
Aumenta la cantidad máxima de puertos por VM No
Reduce la cantidad máxima de puertos por VM cuando ya tienes habilitada la asignación dinámica de puertos
Cambia los tiempos de espera de Cloud NAT cuando tienes habilitada o inhabilitada la asignación dinámica de puertos No
Inhabilita la asignación dinámica de puertos

¿Qué sigue?