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
.
En la consola de Google Cloud, ve a la página Monitoring.
En el panel de navegación, selecciona Explorador de métricas .
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.
Haz clic en Aplicar.
Para seleccionar la puerta de enlace de Cloud NAT, usa el campo Filtros.
En la sección Agrupar por, en etiquetas, selecciona instance_id.
En la lista Función de agrupación, selecciona Máx.
Expande Más opciones y establece el campo Alineador en máx.
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:
Si usas la asignación de puertos estáticos, configura la cantidad de puertos por VM para que el mínimo sea igual al uso máximo de puertos máximos actual.
Si usas la asignación dinámica de puertos, configura la cantidad de puertos por VM para que el mínimo sea menor que el uso máximo de puertos y el máximo sea mayor que el uso máximo de puertos.
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
En la consola de Google Cloud, ve a la página de Cloud NAT.
Haz clic en tu puerta de enlace de Cloud NAT.
Haz clic en
Editar.Haz clic en Configuración avanzada.
Modifica el campo Cantidad mínima de puertos por instancia de VM.
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á.
Para la asignación dinámica de puertos, verifica que la asignación independiente de extremos esté inhabilitada.
Comprueba que la configuración de puertos mínimos por VM sea una potencia de 2 y esté entre 32 y 32,768.
Console
En la consola de Google Cloud, ve a la página de Cloud NAT.
Haz clic en tu puerta de enlace de Cloud NAT.
Haz clic en
Editar.Haz clic en Configuración avanzada.
Selecciona o anula la selección de Habilitar la asignación dinámica de puertos.
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.
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 de2
y puede estar entre32
y32768
.MAX_PORTS
: Es la cantidad máxima de puertos que se asignarán para cada VM.MAX_PORTS
debe ser una potencia de2
y puede estar entre64
y65536
.MAX_PORTS
debe ser superior aMIN_PORTS
. El valor predeterminado es65536
.
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
En la consola de Google Cloud, ve a la página de Cloud NAT.
Haz clic en tu puerta de enlace de Cloud NAT.
Haz clic en
Editar.Haz clic en Configuración avanzada.
Ajusta los campos Cantidad mínima de puertos por instancia de VM y Cantidad máxima de puertos por instancia de VM.
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 de2
y puede estar entre32
y32768
.MAX_PORTS
: Es la cantidad máxima de puertos que se asignarán para cada VM.MAX_PORTS
debe ser una potencia de2
y puede estar entre64
y65536
.MAX_PORTS
debe ser superior aMIN_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
- Cómo cambiar los tiempos de espera de NAT
- Cómo restablecer los tiempos de espera de NAT a los valores predeterminados
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 | Sí |
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) | Sí |
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. |
Sí |
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. |
Sí |
Tiempo de espera de inactividad del mapeo de ICMP 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 | Sí |
Cambia los tiempos de espera de NAT
Console
En la consola de Google Cloud, ve a la página de Cloud NAT.
Haz clic en tu puerta de enlace de Cloud NAT.
Haz clic en
Editar.Haz clic en Configuración avanzada.
Modifica cualquier valor de tiempo de espera que quieras cambiar.
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
En la consola de Google Cloud, ve a la página de Cloud NAT.
Haz clic en tu puerta de enlace de Cloud NAT.
Haz clic en
Editar.Haz clic en Configuración avanzada.
Quita todos los valores configurados por el usuario que quieras restablecer.
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 | Sí |
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 | Sí |
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 | Sí |
¿Qué sigue?
- Configura Logging y Monitoring para Cloud NAT.
- Soluciona problemas comunes con las configuraciones de NAT.