Ajusta la configuración de NAT

Después de establecer la configuración de 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 tu configuración de Cloud NAT.

La edición de configuraciones puede ser perjudicial por naturaleza y puede provocar que las conexiones de traducción de direcciones de red (NAT) existentes dejen de estar disponibles. Para obtener más información sobre el impacto del ajuste de la configuración de Cloud NAT, consulta Impacto del ajuste de la configuración 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 con 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, para 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 max.

    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 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, primero considera el uso de puertos por VM en la 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 de otro período que creas que es representativo de tu 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 cambios.

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: Es la región de 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 Enable Dynamic Port Allocation.

  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 cambios.

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: Es la región de 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 cambios.

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: Es la región de 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 privada, excepto que se indique lo contrario. Puedes modificar los valores predeterminados de tiempo de espera para disminuir o aumentar la velocidad 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 en que las conexiones TCP pueden permanecer en el 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 solo afecta a las conexiones semiabiertas.

30 segundos

Nota: Independientemente del valor que configures para este tiempo de espera, Cloud NAT puede requerir hasta 30 segundos más antes de que una dirección IP de origen y una tupla de puerto de origen de Cloud NAT se puedan usar para procesar una conexión nueva.

TCP TIME_WAIT Timeout

RFC 5382 REQ-5

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

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

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

120 segundos

Nota: Sin importar el valor que configures para este tiempo de espera, Cloud NAT puede requerir hasta 30 segundos más antes de que una dirección IP de origen y una tupla de puerto de origen de Cloud NAT se puedan usar para procesar una conexión nueva.

Tiempo de espera de inactividad de la asignación de ICMP
(aplicable solo 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 flujos 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 la 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 TIME_WAIT de TCP: --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 del mapeo 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: Es la región de 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 cambios.

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: Es el nombre de la puerta de enlace de Cloud NAT.
  • ROUTER_NAME: Es el nombre de tu Cloud Router.
  • REGION: Es la región de Cloud NAT que se actualizará. Si no se especifica, es posible que se te solicite seleccionar una región (solo modo interactivo).

Impacto del ajuste de la configuración de NAT en las conexiones de NAT existentes

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

Acción de ajuste Pérdida de conexión
Inhabilitar la asignación independiente de extremos No
Disminuye la cantidad mínima de puertos por VM mientras habilitas la asignación dinámica de puertos:
cantidad máxima de puertos por VM >= anteriores puertos mínimos por VM y
puertos máximos por VM >= 1024
No
Aumenta la cantidad mínima de puertos por VM cuando ya tengas habilitada la asignación dinámica de puertos No
Disminuye la cantidad mínima de puertos por VM cuando ya tengas habilitada la asignación dinámica de puertos No
Aumenta la cantidad mínima de puertos por VM cuando ya tengas inhabilitada la asignación dinámica de puertos No
Disminuye la cantidad mínima de puertos por VM cuando ya tengas inhabilitada la asignación dinámica de puertos
Aumenta la cantidad máxima de puertos por VM No
Disminuye la cantidad máxima de puertos por VM cuando ya tengas habilitada la asignación dinámica de puertos
Cambia los tiempos de espera de Cloud NAT cuando tengas habilitada o inhabilitada la asignación dinámica de puertos No
Inhabilitar la asignación dinámica de puertos

¿Qué sigue?