Calcular os requisitos de IP NAT estático

Esta página aplica-se ao Apigee, mas não ao Apigee Hybrid.

Veja a documentação do Apigee Edge.

O tráfego de saída entre o Apigee e um back-end de destino com um endereço IP público usa o Cloud NAT para traduzir o endereço IP privado da sua instância do Apigee num endereço IP público. Se o seu back-end de destino exigir a autorização de IPs, pode reservar e ativar IPs NAT estáticos para o tráfego de saída. Este tópico descreve como calcular o número mínimo de IPs NAT estáticos necessários para suportar o tráfego previsto.

Antes de começar

Se optar por usar a atribuição de IP NAT estático para suportar a lista de autorizações, tem de calcular o número mínimo de IPs estáticos necessários para suportar o tráfego previsto. Para este cálculo, precisa das seguintes informações:

  • Tempo máximo por transação: este é o tempo máximo, em segundos, que uma transação demora, desde o início do pedido até ao fim da resposta.
  • Transações máximas por segundo (TPS): este é o número máximo de transações por segundo que a instância do Apigee pode suportar.
  • TPS máximo para um único back-end exclusivo: este é 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 nesta instância do Apigee.

Calcule o número de IPs estáticos necessários

Pode usar as seguintes fórmulas para calcular o número mínimo de IPs NAT que têm de 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 $$

    Onde:

    • $ T $ é o tempo máximo por transação, em segundos.
    • $ B $ é o TPS máximo para qualquer back-end único.
    • $ \lceil \rceil $ é a função de limite superior (o número inteiro mais pequeno), o que significa arredondar para o número inteiro seguinte
  2. Calcule as portas mínimas usadas pela instância do Apigee como $ N $.
    $$ N = max(4096 \times E, \lceil {512 \over 75} \times R \rceil) + 6144 $$

    Onde:

    • $ E $ é o número de ambientes do Apigee.
    • $ R $ é o TPS máximo para a instância do Apigee.
    • $ \lceil \rceil $ é a função de limite superior (o número inteiro mais pequeno), o que significa arredondar para o número inteiro seguinte
    • A função $ \mathit{max}() $ usa o máximo dos dois valores.
  3. Considere o número máximo de portas necessárias como $ P $.
    $$ P = max(S, N) $$

    Onde:

    • $ S $ é o número máximo de portas de origem NAT necessárias, conforme calculado no Passo 1.
    • $ N $ é o número mínimo de portas usadas pela instância do Apigee, conforme calculado no passo 2.
    • A função $ \mathit{max}() $ usa o máximo dos dois valores.
  4. Calcule o número mínimo de IPs NAT necessários como $ I $.
    $$ I = \lceil P / 64512 \rceil $$

    Onde:

    • $ P $ é o número máximo de portas necessárias, calculado no Passo 3.
    • $ \lceil \rceil $ é a função de limite superior (o número inteiro mais pequeno), o que significa arredondar para o número inteiro seguinte

Exemplos

Exemplo 1

Neste exemplo, esperamos um máximo de 10 000 TPS em 1 ambiente. As transações são todos pedidos HTTP GET e a duração da transação do percentil 99 é de 50 milissegundos (ms). Estes pedidos são publicados de forma desigual por um conjunto de servidores atrás de 3 back-ends do balanceador de carga, com um dos balanceadores de carga a receber 5000 TPS, outro a receber 3000 TPS e o último a receber 2000 TPS.

Para este exemplo, os valores-chave são os seguintes:

  • Tempo máximo por transação: 50 ms
  • TPS máximo para a instância do Apigee: 10 000
  • TPS máximo para um único back-end: 5000
  • Número de ambientes do Apigee: 1

Usando as fórmulas descritas anteriormente, podemos 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, partindo do princípio de que não existe reutilização de ligações, é de 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 Apigee Runtime é 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 suportar um máximo de 10 000 TPS de 50 ms cada (ou menos), com um único par de IP e porta de back-end a suportar um máximo de 5000 TPS, é de 12.

Exemplo 2

Neste exemplo, esperamos um máximo de 1000 TPS em 20 ambientes do Apigee. A duração do 99.º percentil destas transações é de 5 segundos. Estes pedidos são publicados por 8 back-ends de destino, com o tráfego normalmente distribuído uniformemente por todos eles. Tendo em conta a manutenção e as indisponibilidades, nunca se espera que um único back-end sirva mais de 250 TPS.

Para este exemplo, os valores-chave são os seguintes:

  • Tempo máximo por transação: 5 s
  • Máximo de transações por segundo (TPS): 1000
  • TPS máximo para um único back-end: 250
  • Número de ambientes do Apigee: 20

Usando as fórmulas descritas anteriormente, podemos 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, partindo do princípio de que não existe reutilização de ligações, é de 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 Apigee runtime é 88 064.

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

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

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

    O número mínimo de IPs NAT necessários para suportar um máximo de 1000 TPS de 5 segundos cada (ou menos), com um único par de IP e porta de back-end a suportar um máximo de 250 TPS, é 2.

Exemplo 3

Neste exemplo, queremos calcular o TPS máximo alcançá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-chave são os seguintes:

  • Tempo máximo por transação: 100 ms
  • Número de IPs NAT: 2

Neste caso, podemos usar as fórmulas no passo 4 e no passo 1 para calcular o número máximo de portas de origem NAT fornecidas e o número de TPS que essas portas de origem podem suportar:

  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 máximo de TPS é 859 com 2 IPs NAT para um único back-end, assumindo que não há reutilização de ligações.