Esta página se aplica à Apigee, mas não à Apigee híbrida.
Confira a documentação da Apigee Edge.
O tráfego sul entre a Apigee e um back-end de destino com um endereço IP público usa o Cloud NAT para converter o endereço IP particular da instância da Apigee em um endereço IP público. Se o back-end de destino exigir a listagem de permissões de IP, reserve e ative IPs NAT estáticos para o tráfego de saída. Neste tópico, descrevemos como calcular o número de IPs NAT estáticos necessários para dar suporte ao tráfego previsto.
Antes de começar
Se você optar por usar a alocação de IP NAT estático para dar suporte à listagem de permissões, será necessário calcular o número de IPs estáticos necessários para dar suporte ao tráfego previsto. Para esse cálculo, você precisará das seguintes informações:
- Tempo máximo por transação: tempo máximo, em segundos, de uma transação, do início da solicitação até o final da resposta.
- Máximo de transações por segundo (TPS): é o número máximo de transações por segundo que a instância da Apigee pode suportar.
- TPS máximo para um único back-end exclusivo: é o número máximo de transações por segundo que qualquer back-end único pode suportar.
- Número máximo de ambientes: o número máximo de ambientes nessa instância da Apigee.
Calcular o número de IPs estáticos necessários
Você pode usar as fórmulas abaixo para calcular o número mínimo de IPs NAT que precisam ser atribuídos estaticamente:
- Calcule o número máximo de portas de origem NAT necessárias por back-end como $ S $.
$$ S = \lceil (150 + T) \times B \rceil $$
Em que:
- $ T $ é o tempo máximo por transação, em segundos.
- $ B $ é o TPS máximo de qualquer back-end exclusivo e único.
- $ \lceil \rceil $ é a função ceiling (mínimo número inteiro), o que significa arredondar para o próximo número inteiro
- Calcule as portas mínimas usadas pelas instâncias da Apigee como $ N $.
$$ N = max(4096 \times E, \lceil {512 \over 75} \times R \rceil) + 6144 $$
Em que:
- $ E $ é o número de ambientes da Apigee.
- $ R $ é o TPS máximo da instância da Apigee.
- $ \lceil \rceil $ é a função ceiling (mínimo número inteiro), o que significa arredondar para o próximo número inteiro
- A função $ \mathit{max}() $ usa o máximo dos dois valores.
- Utilize o número máximo de portas necessárias como $ P $.
$$ P = max(S, N) $$
Em que:
- $ S $ é o número máximo de portas de origem NAT necessárias, conforme calculado na Etapa 1.
- $ N $ é o número mínimo de portas usadas pela instância da Apigee, conforme calculado na Etapa 2.
- A função $ \mathit{max}() $ usa o máximo dos dois valores.
- Calcule o número de IPs NAT necessários como $ I $.
$$ I = \lceil P / 64512 \rceil $$
Em que:
- $ P $ é o número máximo de portas necessárias, conforme calculado na Etapa 3.
- $ \lceil \rceil $ é a função ceiling (mínimo número inteiro), o que significa arredondar para o próximo número inteiro
Examples
Exemplo 1
Neste exemplo, esperamos um máximo de 10.000 TPS em um ambiente. As transações são todas solicitações HTTP GET
e a duração da transação do 99° percentil é de 50 milissegundos (ms). Essas solicitações são atendidas de forma desigual por um pool de
servidores atrás de três back-ends de balanceador de carga, com um dos balanceadores de carga recebendo 5.000 TPS, outro 3.000 TPS e o último
balanceador de carga recebendo 2.000 TPS.
Para este exemplo, os valores de chave são os seguintes:
- Tempo máximo por transação: 50 ms
- TPS máximo para a instância da Apigee: 10.000
- TPS máximo para um único back-end: 5.000
- Número de ambientes da Apigee: 1
Usando as fórmulas descritas anteriormente, é possível calcular o número de IPs NAT necessários:
-
$$ \lceil (150 + 0.050) \times 5000 \rceil = \lceil 150.050 \times 5000 \rceil = \lceil 750250 \rceil = 750250 $$
O número máximo de portas de origem NAT necessárias por back-end, supondo que não haja reutilização de conexão, é 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 $$
O número mínimo de portas de origem NAT usadas pelo ambiente de execução da Apigee é 74.414.
-
$$ max(750250, 74414) = 750250 $$
O número máximo de portas de origem NAT necessárias por instância é 750.250.
-
$$ \lceil 750250 / 64512 \rceil = \lceil 11.630 \rceil = 12 $$
O número mínimo de IPs NAT necessários para oferecer suporte a no máximo 10.000 TPS de 50 ms cada (ou menos), com um IP de back-end único e par de portas compatível com um máximo de 5.000 TPS, é 12.
Exemplo 2
Neste exemplo, estimamos um máximo de 1.000 TPS em 20 ambientes da Apigee. A duração do 99° percentil dessas transações é de 5 segundos. Essas solicitações serão atendidas por 8 back-ends de destino, e o tráfego será distribuído normalmente de maneira uniforme entre todos eles. Considerando a manutenção e as interrupções, um único back-end nunca deve atender mais de 250 TPS.
Para este exemplo, os valores de chave são os seguintes:
- Tempo máximo por transação: 5s
- Número máximo de transações por segundo (TPS): 1.000
- TPS máximo para um único back-end: 250
- Número de ambientes da Apigee: 20
Usando as fórmulas descritas anteriormente, é possível calcular o número de IPs NAT necessários:
-
$$ \lceil (150 + 5) \times 250 \rceil = \lceil 155 \times 250 \rceil = \lceil 38750 \rceil = 38750 $$
O número máximo de portas de origem NAT necessárias por back-end, supondo que não haja reutilização de conexão, é 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 $$
O número mínimo de portas de origem NAT usadas pelo ambiente de execução da Apigee é 88.064.
-
$$ max(38750, 88064) = 88064 $$
O número máximo de portas de origem NAT necessárias por instância é 88.064.
-
$$ \lceil 88064 / 64512 \rceil= \lceil 1.365 \rceil= 2 $$
O número mínimo de IPs NAT necessários para oferecer suporte a no máximo 1.000 TPS de 5 segundos cada (ou menos), com um único IP de back-end e par de portas compatível com um máximo de 250 TPS, é 2.
Exemplo 3
Neste exemplo, é necessário calcular o máximo de TPS possível com 2 IPs NAT para um único back-end de destino. O tempo máximo por transação é estimado em 100 ms.
Para este exemplo, os valores de chave são os seguintes:
- Tempo máximo por transação: 100 ms
- Número de IPs NAT: 2
Neste caso, é possível usar as fórmulas das etapas 4 e 1 para calcular o número máximo de portas de origem NAT fornecidas e o número de TPS que as portas de origem aceitam:
-
$$ 2 = \lceil P / 64512 \rceil $$$$ 129024 = P $$
O número máximo de portas de origem NAT fornecidas é 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 $$
O TPS máximo é 859 com 2 IPs NAT e um único back-end, supondo que não haja reutilização de conexão.