Interacciones de productos de Cloud NAT

En esta página, se describen las interacciones importantes entre Cloud NAT y otros Cloud de Confiance by S3NS productos.

Interacciones de rutas

Una puerta de enlace de NAT pública solo puede usar rutas cuyos próximos saltos sean la puerta de enlace de Internet predeterminada. Cada red de nube privada virtual (VPC) comienza con una ruta predeterminada cuyo destino es 0.0.0.0/0 y cuyo siguiente salto es la puerta de enlace de Internet predeterminada. Para obtener información general importante, consulta la descripción general de las rutas.

Los siguientes ejemplos ilustran situaciones que podrían provocar que las puertas de enlace de NAT pública se vuelvan inoperables:

  • Si creas una ruta estática con los siguientes saltos establecidos en cualquier otro tipo de salto siguiente de ruta estática, los paquetes con IP de destino que coinciden con el destino de la ruta se envían a ese lado, en lugar de la puerta de enlace de Internet predeterminada. Por ejemplo, si usas instancias de máquina virtual (VM) que ejecutan una puerta de enlace NAT, un firewall o un software proxy, creas rutas estáticas para dirigir el tráfico a esas VMs como el salto siguiente. Las VM de siguiente salto requieren direcciones IP externas. Por lo tanto, ni el tráfico de las VMs que dependen de las VMs del siguiente salto ni las VMs del siguiente salto mismas pueden usar NAT pública puertas de enlace.

  • Si creas una ruta estática personalizada cuyo siguiente salto es un túnel de Cloud VPN , Cloud NAT no usa esa ruta. Por ejemplo, una ruta estática con destino 0.0.0.0/0 y el túnel de Cloud VPN de siguiente salto dirige el tráfico a ese túnel, no a la puerta de enlace de Internet predeterminada. Por lo tanto, las puertas de enlace de NAT pública no pueden usar esa ruta. Del mismo modo, Cloud NAT NAT pública no pueden usar rutas estáticas con destinos más específicos, incluidos 0.0.0.0/1 y 128.0.0.0/1.

  • Si un router local anuncia una ruta dinámica a un Cloud Router que administra un túnel de Cloud VPN o un adjunto de VLAN, Cloud NAT las puertas de enlace no pueden usar esa ruta. Por ejemplo, si el router local anuncia una ruta dinámica con el destino 0.0.0.0/0, se direccionará al túnel de Cloud VPN o al adjunto de VLAN.0.0.0.0/0 Este comportamiento se mantiene incluso para destinos más específicos, incluidos 0.0.0.0/1 y 128.0.0.0/1.

Interacciones con Acceso privado a Google

Una puerta de enlace de NAT pública nunca realiza NAT para el tráfico enviado a las direcciones IP externas seleccionadas de las APIs y los servicios de Google. En cambio, Cloud de Confiance habilita automáticamente el Acceso privado a Google para un rango de direcciones IP de subred cuando configuras una NAT pública puerta de enlace para aplicarlo a ese rango de subred, ya sea primario o secundario. Siempre que la puerta de enlace proporcione NAT para el rango de una subred, el Acceso privado a Google estará activo para ese rango y no se podrá inhabilitar de forma manual.

Una puerta de enlace de NAT pública no cambia la forma en que funciona el Acceso privado a Google. Para obtener más información, consulta Acceso privado a Google.

Interacciones de VPC compartida

La VPC compartida permite que varios proyectos de servicio de una misma organización usen una red compartida de VPC común en un proyecto host. A fin de proporcionar NAT para las VMs en proyectos de servicio que usan una red de VPC compartida, debes crear puertas de enlace de Cloud NAT en el proyecto host.

Interacciones de intercambio de tráfico entre redes de VPC

Las puertas de enlace de Cloud NAT están asociadas con rangos de direcciones IP de subred en una sola región y una sola red de VPC. Una puerta de enlace de Cloud NAT creada en una red VPC no puede proporcionar NAT a máquinas virtuales en otras redes de VPC conectadas mediante el uso de Intercambio de tráfico de red de VPC, incluso si las VMs en redes de intercambio de tráfico están en la misma región que la puerta de enlace.

Interacciones con GKE

Una puerta de enlace de puede realizar NAT para nodos y Pods en un clúster privado, que es un tipo de clúster nativo de la VPC.La puerta de enlace de NAT pública debe configurarse para aplicar al menos los siguientes rangos de direcciones IP de subred para la subred que usa tu clúster:

  • Rango de direcciones IP principal de la subred (para los nodos)
  • Rango de direcciones IP secundario de la subred utilizado para los Pods del clúster
  • Rango de direcciones IP secundario de la subred utilizado para los servicios del clúster

La forma más sencilla de proporcionar NAT para todo un clúster privado es configurar una Cloud NAT puerta de enlace para que se aplique a todos los rangos de direcciones IP de la subred del clúster.

Si deseas obtener información general sobre cómo los clústeres nativos de la VPC usan rangos de direcciones IP de subred, consulta Rangos de IP para clústeres nativos de la VPC.

Cuando una puerta de enlace de NAT pública está configurada para proporcionar NAT a un clúster privado, esta reserva direcciones IP de origen de NAT y puertos de origen para cada VM de nodo. Los Pods pueden usar esas direcciones IP y puertos de origen porque sus direcciones IP se implementan como rangos de alias de IP que se asignan a cada VM de nodo.

Los clústeres nativos de la VPC de Google Kubernetes Engine (GKE) siempre asignan a cada nodo un rango de IP de alias que contiene más de una dirección IP (máscara de red menor que /32).

  • Si se configura la asignación estática de puertos, el procedimiento de reserva de puertos de NAT pública reserva al menos 1,024 puertos de origen por nodo. Si el valor especificado para la cantidad mínima de puertos por VM es superior a 1,024, se usa ese valor.

  • Si se configura la asignación dinámica de puertos, el valor especificado para los puertos mínimos por VM se asigna inicialmente por nodo. La cantidad de puertos asignados varía de forma posterior entre los valores especificados para la cantidad mínima y máxima de puertos por VM, según la demanda.

Para obtener información sobre los rangos de direcciones IP de Pod y los clústeres nativos de la VPC, consulta Rango de direcciones IP secundario de la subred para Pods.

Independientemente de Cloud NAT , Google Kubernetes Engine realiza la traducción de direcciones de red de origen (NAT de origen o SNAT) con el software que se ejecuta en cada nodo cuando los Pods envían paquetes a Internet, a menos que cambies la configuración de enmascaramiento de IP del clúster. Si necesitas un control detallado sobre el tráfico de salida desde los Pods, puedes usar una política de red.

En determinadas circunstancias, NAT pública también puede servir para clústeres nativos de la VPC que no son privados. Como los nodos de un clúster no privado tienen direcciones IP externas, Cloud NAT nunca procesa los paquetes enviados desde la dirección IP interna principal del nodo. Sin embargo, si se cumplen los siguientes requisitos, una puerta de enlace de NAT pública puede procesar los paquetes enviados desde los Pods de un clúster no privado:

  • En los clústeres nativos de la VPC, la puerta de enlace de NAT pública está configurada para aplicarse al rango de direcciones IP secundario de los Pods del clúster.

  • La configuración de enmascaramiento de IP del clúster no se puede utilizar a fin de realizar SNAT dentro del clúster para los paquetes enviados desde los Pods a Internet.

En el siguiente ejemplo, se muestra la interacción de Cloud NAT con GKE:

NAT pública con GKE.
Cloud NAT con GKE (haz clic para ampliar).

En este ejemplo, deseas que tus contenedores se traduzcan con NAT. Para habilitar NAT para todos los contenedores y el nodo de GKE, debes elegir todos los rangos de direcciones IP de Subnet 1 como candidatos de NAT:

  • Rango de direcciones IP principal de la subred: 10.240.0.0/24
  • Rango de direcciones IP secundario de la subred utilizado para los Pods: 10.0.0.0/16

No es posible habilitar NAT solo para Pod1 o Pod2.

Interacciones de salida de VPC directa

Las puertas de enlace de Cloud NAT pueden proporcionar NAT para los recursos de Cloud Run que están configurados con salida de VPC directa. Para habilitar Cloud Run para usar una puerta de enlace de Cloud NAT para NAT pública o NAT privada, configura lo siguiente:

  • Cuando implementes tus recursos de Cloud Run, establece la marca --vpc-egress. Si deseas usar NAT pública, el valor debe establecerse en all-traffic.

  • Configura la puerta de enlace de Cloud NAT con los siguientes parámetros de configuración:

    • Especifica qué rangos de subred de origen pueden usar la puerta de enlace estableciendo la marca --nat-custom-subnet-ip-ranges. Establece el valor en los nombres de las subredes en las que implementas tus recursos de Cloud Run.
    • Establece el valor de la marca --endpoint-types en ENDPOINT_TYPE_VM.
    • Para NAT pública, asegúrate de que el valor de la marca --min-ports-per-vm esté establecido en el doble de la cantidad de puertos que necesita una sola instancia de Cloud Run. Para NAT privada, esta marca debe establecerse en cuatro veces la cantidad de puertos necesarios por instancia de Cloud Run.

    • Si deseas configurar la asignación manual de direcciones IP de NAT (solo NAT pública), asigna una cantidad de direcciones IP a tu puerta de enlace que sea suficiente para cubrir la suma de las instancias de VM y las instancias de Cloud Run que la puerta de enlace proporciona.

Los registros de Cloud NAT para la salida de VPC directa no muestran los nombres de los recursos de Cloud Run.

Interacciones de pruebas de conectividad

Puedes usar las pruebas de conectividad para verificar la conectividad entre los extremos de red que usan configuraciones de Cloud NAT.

Puedes ejecutar pruebas de conectividad en redes que usan Cloud NAT puertas de enlace.

Consulta los detalles de configuración de NAT en el panel Configuration analysis trace de la página Connectivity test details.

Interacciones con Cloud Load Balancing

Cloud de Confiance Los balanceadores de cargas de aplicaciones internos regionales y los balanceadores de cargas de aplicaciones externos regionales se comunican con varios backends de grupos de extremos de red (NEG) de Internet regionales. Si configuras puertas de enlace de Cloud NAT para los NEGs de Internet regionales, puedes asignar tu propio conjunto de rangos de direcciones IP externas desde donde debe originarse el Cloud de Confiance tráfico. Las verificaciones de estado y el tráfico del plano de datos provienen de las direcciones IP de NAT que asignas.

Otros Cloud de Confiance balanceadores de cargas externos y sistemas de verificación de estado se comunican con las VMs mediante rutas especiales. Las VMs de backend no requieren direcciones IP externas, y las puertas de enlace de Cloud NAT no administran la comunicación de los balanceadores de cargas ni de las verificaciones de estado. Para obtener más información, consulta Descripción general de Cloud Load Balancing y Descripción general de las verificaciones de estado.

Interacciones de conexiones propagadas de Private Service Connect

Cuando se usan NAT privada para NCC y conexiones propagadas de Private Service Connect en el mismo radio de VPC, se aplica lo siguiente:

  • Si una subred está configurada con NAT privada, se descarta el tráfico de la subred a las conexiones propagadas de Private Service Connect.

  • Para evitar descartar el tráfico de subredes no superpuestas, ten en cuenta lo siguiente cuando configures NAT privada:

    • Especifica las subredes superpuestas con la marca --nat-custom-subnet-ip-ranges.
    • No especifiques subredes no superpuestas que necesiten acceder a conexiones propagadas.
    • No uses la marca --nat-all-subnet-ip-ranges.

Interacciones de Hybrid Subnets

NAT híbrida no es compatible con Hybrid Subnets.

Si el tráfico se origina en una subred en la que está configurada NAT híbrida y la dirección IP de destino coincide con una ruta de subred híbrida, no se realiza SNAT. Esta configuración genera un comportamiento de enrutamiento impredecible porque el tráfico puede llegar a una red que no es de VPC con la dirección IP de origen original y sin traducir.

No uses Hybrid Subnets en redes en las que esté configurada NAT híbrida.

¿Qué sigue?