Como calcular os requisitos de IP NAT estático

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:

  1. 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
  2. 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.
  3. 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.
  4. 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:

  1. $$ \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.

  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 $$

    O número mínimo de portas de origem NAT usadas pelo ambiente de execução da Apigee é 74.414.

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

    O número máximo de portas de origem NAT necessárias por instância é 750.250.

  4. $$ \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:

  1. $$ \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.

  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 $$

    O número mínimo de portas de origem NAT usadas pelo ambiente de execução da Apigee é 88.064.

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

    O número máximo de portas de origem NAT necessárias por instância é 88.064.

  4. $$ \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:

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

    O número máximo de portas de origem NAT fornecidas é 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 $$

    O TPS máximo é 859 com 2 IPs NAT e um único back-end, supondo que não haja reutilização de conexão.