Esta página se aplica a Apigee, pero no a Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
El tráfico de salida 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 en una dirección IP pública. Si tu backend de destino requiere que se incluyan IPs en una lista de permitidas, puedes reservar y activar IPs de NAT estáticas para el tráfico de salida. En este tema se describe cómo calcular el número mínimo de IPs de NAT estáticas necesarias para admitir el tráfico previsto.
Antes de empezar
Si decides usar la asignación de IPs de NAT estática para admitir listas de permitidos, tendrás que calcular el número mínimo de IPs estáticas necesarias para admitir el tráfico previsto. Para hacer este cálculo, necesitará la siguiente información:
- Tiempo máximo por transacción: es el tiempo máximo, en segundos, que tardará una transacción desde el inicio de la solicitud hasta el final de la respuesta.
- Número máximo de transacciones por segundo (TPS): es el número máximo de transacciones por segundo que puede admitir la instancia de Apigee.
- TPS máximo de un único backend: es el número máximo de transacciones por segundo que puede admitir un único backend.
- Número máximo de entornos: número máximo de entornos de esta instancia de Apigee.
Calcular el número de IPs estáticas necesarias
Puedes usar las siguientes fórmulas para calcular el número mínimo de IPs de NAT que se deben asignar de forma estática:
- Calcula el número máximo de puertos de origen de NAT necesarios por backend como $ S $.
$$ S = \lceil (150 + T) \times B \rceil $$
Donde:
- $ T $ es el tiempo máximo por transacción, en segundos.
- $ B $ es el TPS máximo de cualquier backend único.
- $ \lceil \rceil $ es la función de techo (entero mínimo), lo que significa que se redondea al entero siguiente.
- Calcula el número mínimo de puertos que usa la instancia de Apigee como $ N $.
$$ N = max(4096 \times E, \lceil {512 \over 75} \times R \rceil) + 6144 $$
Donde:
- $ E $ es el número de entornos de Apigee.
- $ R $ es el número máximo de TPS de la instancia de Apigee.
- $ \lceil \rceil $ es la función de techo (entero mínimo), lo que significa que se redondea al entero siguiente.
- La función $ \mathit{max}() $ toma el máximo de los dos valores.
- Toma el número máximo de puertos necesarios como $ P $.
$$ P = max(S, N) $$
Donde:
- $ S $ es el número máximo de puertos de origen NAT necesarios, tal como se calcula en el paso 1.
- $ N $ es el número mínimo de puertos que usa la instancia de Apigee, tal como se calcula en el paso 2.
- La función $ \mathit{max}() $ toma el máximo de los dos valores.
- Calcula el número mínimo de IPs de NAT necesarias como $ I $.
$$ I = \lceil P / 64512 \rceil $$
Donde:
- $ P $ es el número máximo de puertos necesarios, calculado en el paso 3.
- $ \lceil \rceil $ es la función de techo (entero mínimo), lo que significa que se redondea al entero siguiente.
Ejemplos
Ejemplo 1
En este ejemplo, esperamos un máximo de 10.000 TPS en un entorno. Todas las transacciones son solicitudes HTTP GET
y la duración de la transacción del percentil 99 es de 50 milisegundos (ms). Estas solicitudes se sirven de forma desigual mediante un conjunto de servidores detrás de 3 backends de balanceadores de carga. Uno de los balanceadores de carga recibe 5000 TPS, otro recibe 3000 TPS y el último recibe 2000 TPS.
En este ejemplo, los valores clave son los siguientes:
- Tiempo máximo por transacción: 50 ms
- TPS máximo de la instancia de Apigee: 10.000
- TPS máximo de un solo backend: 5000
- Número de entornos de Apigee: 1
Con las fórmulas que hemos visto antes, podemos calcular el número de IPs de NAT necesarias:
-
$$ \lceil (150 + 0.050) \times 5000 \rceil = \lceil 150.050 \times 5000 \rceil = \lceil 750250 \rceil = 750250 $$
El número máximo de puertos de origen NAT necesarios por backend, suponiendo que no se reutilice ninguna conexión, es de 750.250.
-
$$ 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 $$
El número mínimo de puertos de origen NAT que usa el tiempo de ejecución de Apigee es 74.414.
-
$$ max(750250, 74414) = 750250 $$
El número máximo de puertos de origen NAT necesarios por instancia es 750.250.
-
$$ \lceil 750250 / 64512 \rceil = \lceil 11.630 \rceil = 12 $$
El número mínimo de IPs de NAT necesarias para admitir un máximo de 10.000 TPS de 50 ms cada una (o menos), con un solo par de IP y puerto de backend que admita un máximo de 5000 TPS, es 12.
Ejemplo 2
En este ejemplo, esperamos un máximo de 1000 TPS en 20 entornos de Apigee. La duración del percentil 99 de estas transacciones es de 5 segundos. Estas solicitudes se servirán mediante 8 back-ends de destino, y el tráfico se distribuirá de forma uniforme entre todos ellos. Teniendo en cuenta el mantenimiento y las interrupciones, no se espera que un solo backend sirva más de 250 TPS.
En este ejemplo, los valores clave son los siguientes:
- Tiempo máximo por transacción: 5 segundos
- Número máximo de transacciones por segundo (TPS): 1000
- TPS máximo de un solo backend: 250
- Número de entornos de Apigee: 20
Con las fórmulas que hemos visto antes, podemos calcular el número de IPs de NAT necesarias:
-
$$ \lceil (150 + 5) \times 250 \rceil = \lceil 155 \times 250 \rceil = \lceil 38750 \rceil = 38750 $$
El número máximo de puertos de origen NAT necesarios por backend, suponiendo que no se reutilicen las conexiones, es de 38.750.
-
$$ 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 $$
El número mínimo de puertos de origen NAT que usa el tiempo de ejecución de Apigee es 88.064.
-
$$ max(38750, 88064) = 88064 $$
El número máximo de puertos de origen NAT necesarios por instancia es 88.064.
-
$$ \lceil 88064 / 64512 \rceil= \lceil 1.365 \rceil= 2 $$
El número mínimo de IPs de NAT necesarias para admitir un máximo de 1000 TPS de 5 segundos cada una (o menos), con un único par de IP y puerto de backend que admita un máximo de 250 TPS, es 2.
Ejemplo 3
En este ejemplo, queremos calcular el TPS máximo que se puede alcanzar con 2 IPs de NAT en un único backend de destino. El tiempo máximo por transacción se estima en 100 ms.
En este ejemplo, los valores clave son los siguientes:
- Tiempo máximo por transacción: 100 ms
- Número de IPs de NAT: 2
En este caso, podemos usar las fórmulas de los pasos 4 y 1 para calcular el número máximo de puertos de origen NAT proporcionados y el número de TPS que pueden admitir esos puertos de origen:
-
$$ 2 = \lceil P / 64512 \rceil $$$$ 129024 = P $$
El número máximo de puertos de origen NAT proporcionados es 129.024.
-
$$ 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 número máximo de TPS es 859 con 2 IPs de NAT a un solo backend, suponiendo que no se reutilice ninguna conexión.