Calcula los requisitos de IP NAT estáticas

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 tu instancia de Apigee a una dirección IP pública. Si tu backend de destino requiere una lista de IP de permiso, puedes reservar y activar IP de NAT estáticas para el tráfico de salida. En este tema, se describe cómo calcular la cantidad mínima de IP NAT estáticas necesarias para admitir el tráfico previsto.

Antes de comenzar

Si eliges usar la asignación de IP NAT estática para admitir la lista de entidades permitidas, deberás calcular la cantidad mínima de IP estáticas necesarias a fin de admitir el tráfico previsto. Para este cálculo, necesitarás la siguiente información:

  • Tiempo máximo por transacción: es el tiempo máximo, en segundos, que tomará una transacción, desde el inicio de la solicitud hasta el final de la respuesta.
  • Cantidad máxima de transacciones por segundo (TPS): Es la cantidad máxima de transacciones por segundo que la instancia de Apigee puede admitir.
  • Máximo de TPS para un solo backend: Esta es la cantidad máxima de transacciones por segundo que cualquier backend puede admitir.
  • Cantidad máxima de entornos: La cantidad máxima de entornos en esta instancia de Apigee.

Calcula la cantidad de IP estáticas necesarias

Puedes usar las siguientes fórmulas para calcular la cantidad mínima de IP NAT que se deben asignar de forma estática:

  1. Calcula la cantidad máxima de puertos de origen de NAT necesarios por backend como $ S $.
    $$ S = \lceil (150 + T) \times B \rceil $$

    Aquí:

    • $ T $ es el tiempo máximo por transacción, en segundos.
    • $ B $ es el máximo de TPS para cualquier backend único.
    • $ \lceil \rceil $ es la función techo (mínimo entero), es decir, redondea al siguiente número entero.
  2. Calcula los puertos mínimos que usa la instancia de Apigee como $ N $.
    $$ N = max(4096 \times E, \lceil {512 \over 75} \times R \rceil) + 6144 $$

    Aquí:

    • $ E $ es la cantidad de entornos de Apigee.
    • $ R $ es el máximo de TPS para la instancia de Apigee.
    • $ \lceil \rceil $ es la función techo (mínimo entero), es decir, redondea al siguiente número entero.
    • La función $ \mathit{max}() $ toma el máximo de los dos valores.
  3. Toma la cantidad máxima de puertos necesarios como $ P $.
    $$ P = max(S, N) $$

    Aquí:

    • $ S $ es la cantidad máxima de puertos de origen de NAT necesarios, como se calcula en el paso 1.
    • $ N $ es la cantidad mínima de puertos que usa la instancia de Apigee, como se calcula en el paso 2.
    • La función $ \mathit{max}() $ toma el máximo de los dos valores.
  4. Calcula la cantidad mínima de IP NAT necesarias como $ I $.
    $$ I = \lceil P / 64512 \rceil $$

    Aquí:

    • $ P $ es la cantidad máxima de puertos necesarios, que se calcula en el paso 3.
    • $ \lceil \rceil $ es la función techo (mínimo entero), es decir, redondea al siguiente número entero.

Ejemplos

Ejemplo 1

En este ejemplo, se espera un máximo de 10,000 TPS en 1 entorno. Las transacciones son todas solicitudes HTTP GET y la duración del percentil 99 es de 50 milisegundos (ms). Un grupo de servidores detrás de 3 backends del balanceador de cargas entrega estas solicitudes de manera desigual; uno de los balanceadores toma 5,000 TPS, otro toma 3,000 TPS y el último toma 2,000 TPS.

En este ejemplo, los valores clave son los siguientes:

  • Tiempo máximo por transacción: 50 ms
  • Máximo de TPS para la instancia de Apigee: 10,000
  • Máximo de TPS para un solo backend: 5,000
  • Cantidad de entornos de Apigee: 1

Con las fórmulas descritas antes, podemos calcular la cantidad de IP NAT necesarias:

  1. $$ \lceil (150 + 0.050) \times 5000 \rceil = \lceil 150.050 \times 5000 \rceil = \lceil 750250 \rceil = 750250 $$

    La cantidad máxima de puertos de origen de NAT necesarios por backend, si suponemos que no hay reutilización de conexión, es 750,250.

  2. $$ max(4096 \times 1, \lceil {512 \over 75} \times 10000 \rceil) + 6144 $$
    $$ max(4096, \lceil 6.827 \times 10000 \rceil) + 6144 $$
    $$ max(4096, \lceil 68270 \rceil) + 6144 $$
    $$ 68270 + 6144 = 74414 $$

    La cantidad mínima de puertos de origen de NAT que usa el entorno de ejecución de Apigee es 74,414.

  3. $$ max(750250, 74414) = 750250 $$

    La cantidad máxima de puertos de origen de NAT necesarios por instancia es 750,250.

  4. $$ \lceil 750250 / 64512 \rceil = \lceil 11.630 \rceil = 12 $$

    La cantidad mínima de IP de NAT necesarias para admitir un máximo de 10,000 TPS de 50 ms cada una (o menos), con un solo par de puerto e IP de backend que admita un máximo de 5,000 TPS, es 12.

Ejemplo 2

En este ejemplo, se espera un máximo de 1,000 TPS en 20 entornos de Apigee. La duración del percentil 99 de estas transacciones es de 5 segundos. Estas solicitudes se entregarán mediante 8 backends de destino, con un tráfico que, por lo general, se distribuye de manera uniforme entre todos ellos. Teniendo en cuenta el mantenimiento y las interrupciones, nunca se espera que un solo backend entregue más de 250 TPS.

En este ejemplo, los valores clave son los siguientes:

  • Tiempo máximo por transacción: 5 s
  • Cantidad máxima de transacciones por segundo (TPS): 1,000
  • Máximo de TPS para un solo backend: 250
  • Cantidad de entornos de Apigee: 20

Con las fórmulas descritas antes, podemos calcular la cantidad de IP NAT necesarias:

  1. $$ \lceil (150 + 5) \times 250 \rceil = \lceil 155 \times 250 \rceil = \lceil 38750 \rceil = 38750 $$

    La cantidad máxima de puertos de origen de NAT necesarios por backend, si suponemos que no hay reutilización de conexión, es 38,750.

  2. $$ max(4096 \times 20, \lceil {512 \over 75} \times 1000 \rceil) + 6144 $$
    $$ max(81920, \lceil 6.827 \times 1000 \rceil) + 6144 $$
    $$ max(81920, \lceil 6827 \rceil) + 6144 $$
    $$ 81920 + 6144 = 88064 $$

    La cantidad mínima de puertos de origen de NAT que usa el entorno de ejecución de Apigee es 88,064.

  3. $$ max(38750, 88064) = 88064 $$

    La cantidad máxima de puertos de origen de NAT necesarios por instancia es 88,064.

  4. $$ \lceil 88064 / 64512 \rceil= \lceil 1.365 \rceil= 2 $$

    La cantidad mínima de IP de NAT necesarias para admitir un máximo de 1,000 TPS de 5 segundos cada una (o menos), con un solo par de puerto e IP de backend que admita un máximo de 250 TPS, es 2.

Ejemplo 3

En este ejemplo, queremos calcular el máximo de TPS que se puede lograr con 2 IP de NAT en un solo backend de destino. El tiempo máximo por transacción es de 100 ms.

En este ejemplo, los valores clave son los siguientes:

  • Tiempo máximo por transacción: 100 ms
  • Cantidad de IP NAT: 2

En este caso, podemos usar las fórmulas de los pasos 4 y 1 para calcular la cantidad máxima de puertos de origen de NAT proporcionados y la cantidad de TPS que esos puertos de origen pueden admitir:

  1. $$ 2 = \lceil P / 64512 \rceil $$
    $$ 129024 = P $$

    La cantidad máxima de puertos de origen NAT proporcionados es 129,024.

  2. $$ 129024 = \lceil (150 + 0.100) \times B \rceil $$
    $$ 129024 = \lceil 150.1 \times B \rceil $$
    $$ \lfloor 129024 / 150.1 \rfloor = B $$
    $$ \lfloor 859.587 \rfloor = B $$
    $$ 859 = B $$

    El máximo de TPS es 859 con 2 IP de NAT en un solo backend, si no hay reutilización de conexiones.