Consideraciones de rendimiento para Cloud NAT de Apigee

Esta página se aplica a Apigee, pero no a Apigee Hybrid.

Consulta la documentación de Apigee Edge.

El tráfico descendente entre Apigee y un backend de destino con una dirección IP pública usa Cloud NAT para traducir la dirección IP privada de la instancia de Apigee a una dirección IP pública. Cada instancia de Apigee tiene su propia puerta de enlace de Cloud NAT. En este tema, se explican los factores que afectan el rendimiento de Apigee cuando se usa Cloud NAT.

Descripción general

Cada sesión de TCP nueva formada entre una instancia de Apigee y un backend de destino debe asignarse a una tupla cuádruple única que incluya lo siguiente:

  • La dirección IP de NAT
  • El puerto NAT
  • La dirección IP del backend
  • El puerto de backend

Existen tres factores clave que determinan las transacciones por segundo (TPS) que Cloud NAT puede admitir en una instancia de Apigee:

  1. La cantidad de IP de NAT asignadas (de forma dinámica o estática)
  2. La cantidad de combinaciones únicas de direcciones IP y puertos de backend configuradas
  3. Si el backend de destino permite o no la reutilización de la conexión

En este tema, se explica cómo cada uno de estos factores afecta el rendimiento de Apigee cuando se usa Cloud NAT y se describe cómo calcular la cantidad de IP estáticas que pueden ser necesarias para admitir el tráfico previsto.

Asignaciones de IP de NAT

La cantidad de IP de NAT asignadas variará según el uso de IP efímeras o estáticas en la configuración de NAT. Consulta las direcciones IP de NAT por puerta de enlace en los Límites de Cloud NAT para obtener más información.

IP efímeras

En la configuración de NAT predeterminada con IP efímeras, las IP se asignan automáticamente según sea necesario a fin de proporcionar puertos de origen únicos para las conexiones a los backends de destino.

IP estáticas

Si se requieren IP estáticas a fin de permitir que las IP se incluyan en la lista de entidades permitidas para el backend de destino, las IP se reservan de forma manual para una instancia de Apigee.

Combinaciones únicas de IP y puertos de backend

Para aumentar las TPS, aumenta la cantidad de combinaciones únicas de IP y puertos de backend de destino. Se pueden usar la misma IP y el mismo puerto de NAT para cada IP y puerto de backend de destino. Esto logra el mismo resultado que agregar más IP de NAT sin requerir IP adicionales que deban incluirse en la lista de entidades permitidas.

Para crear una par único de IP y puerto de backend de destino, la IP o el puerto deben ser diferente. Por ejemplo, es posible tener un solo balanceador de cargas con una dirección IP, pero escuchar en 4 puertos diferentes a fin de hacer 4 combinaciones únicas de IP y puertos de backend para Apigee.

Reutilización de la conexión

La reutilización de las conexiones HTTP también aumenta el uso eficiente de NAT, ya que quita la necesidad de abrir una conexión TCP nueva. Los backends de destino pueden usar esta función mediante la configuración del encabezado Connection en keep-alive en la respuesta, que es la configuración predeterminada para HTTP/1.1 El servidor de backend de destino también puede establecer los parámetros connection timeout y max reuse para mejorar la eficacia.

Si bien, en teoría, se admite la reutilización de conexiones mediante la habilitación de keep-alive en la respuesta, en la práctica, la reutilización de conexiones depende de lo siguiente:

  • Si la instancia de Apigee tiene una conexión existente con el backend de destino
  • Si la conexión existente tiene respuestas pendientes
  • Si la conexión existente está cerca del final de su ciclo de vida

Cada uno de estos factores afectará el grado en el que el backend de destino puede reutilizar las conexiones.