Calcolo dei requisiti degli IP NAT statici

Questa pagina si applica ad Apigee, ma non ad Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Il traffico in uscita tra Apigee e un backend di destinazione con un indirizzo IP pubblico utilizza Cloud NAT per convertire l'indirizzo IP privato della tua istanza Apigee in un indirizzo IP pubblico. Se il backend di destinazione richiede l'inserimento nella lista consentita di indirizzi IP, puoi prenotare e attivare indirizzi IP NAT statici per il traffico in uscita. Questo argomento descrive come calcolare il numero minimo di indirizzi IP NAT statici necessari per supportare il traffico previsto.

Prima di iniziare

Se scegli di utilizzare l'allocazione IP NAT statica per supportare l'inserimento nella lista consentita, dovrai calcolare il numero minimo di IP statici necessari per supportare il traffico previsto. Per questo calcolo, avrai bisogno delle seguenti informazioni:

  • Tempo massimo per transazione: il tempo massimo, in secondi, necessario per una transazione, dall'inizio della richiesta alla fine della risposta.
  • Numero massimo di transazioni al secondo (TPS): il numero massimo di transazioni al secondo che l'istanza Apigee può supportare.
  • TPS massimo per un singolo backend univoco: il numero massimo di transazioni al secondo che un singolo backend può supportare.
  • Numero massimo di ambienti: il numero massimo di ambienti in questa istanza Apigee.

Calcola il numero di IP statici necessari

Puoi utilizzare le seguenti formule per calcolare il numero minimo di indirizzi IP NAT che devono essere assegnati staticamente:

  1. Calcola il numero massimo di porte di origine NAT richieste per backend come $ S $.
    $$ S = \lceil (150 + T) \times B \rceil $$

    Dove:

    • $ T $ è il tempo massimo per transazione, in secondi.
    • $ B $ è il TPS massimo per qualsiasi singolo backend univoco.
    • $ \lceil \rceil $ è la funzione di arrotondamento per eccesso (intero più piccolo), ovvero arrotonda per eccesso all'intero successivo
  2. Calcola il numero minimo di porte utilizzate dall'istanza Apigee come $ N $.
    $$ N = max(4096 \times E, \lceil {512 \over 75} \times R \rceil) + 6144 $$

    Dove:

    • $ E $ è il numero di ambienti Apigee.
    • $ R $ è il TPS massimo per l'istanza Apigee.
    • $ \lceil \rceil $ è la funzione di arrotondamento per eccesso (intero più piccolo), ovvero arrotonda per eccesso all'intero successivo
    • La funzione $ \mathit{max}() $ prende il massimo dei due valori.
  3. Prendi il numero massimo di porte richieste come $ P $.
    $$ P = max(S, N) $$

    Dove:

    • $ S $ è il numero massimo di porte di origine NAT richieste, come calcolato nel passaggio 1.
    • $ N $ è il numero minimo di porte utilizzate dall'istanza Apigee, come calcolato nel passaggio 2.
    • La funzione $ \mathit{max}() $ prende il massimo dei due valori.
  4. Calcola il numero minimo di IP NAT richiesti come $ I $.
    $$ I = \lceil P / 64512 \rceil $$

    Dove:

    • $ P $ è il numero massimo di porte richieste, calcolato nel passaggio 3.
    • $ \lceil \rceil $ è la funzione di arrotondamento per eccesso (intero più piccolo), ovvero arrotonda per eccesso all'intero successivo

Esempi

Esempio 1

In questo esempio, prevediamo un massimo di 10.000 TPS in un ambiente. Le transazioni sono tutte richieste HTTP GET e la durata della transazione al 99° percentile è di 50 millisecondi (ms). Queste richieste vengono gestite in modo non uniforme da un pool di server dietro tre backend del bilanciatore del carico, con un bilanciatore del carico che gestisce 5000 TPS, un altro che gestisce 3000 TPS e l'ultimo che gestisce 2000 TPS.

Per questo esempio, i valori chiave sono i seguenti:

  • Tempo massimo per transazione: 50 ms
  • TPS massimo per l'istanza Apigee: 10.000
  • TPS massimo per un singolo backend: 5000
  • Numero di ambienti Apigee: 1

Utilizzando le formule descritte in precedenza, possiamo calcolare il numero di IP NAT richiesti:

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

    Il numero massimo di porte di origine NAT richieste per backend, supponendo che non venga riutilizzata alcuna connessione, è 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 $$

    Il numero minimo di porte di origine NAT utilizzate dal runtime Apigee è 74.414.

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

    Il numero massimo di porte di origine NAT richieste per istanza è 750.250.

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

    Il numero minimo di IP NAT richiesti per supportare un massimo di 10.000 TPS di 50 ms ciascuno (o meno), con una singola coppia di IP e porta di backend che supporta un massimo di 5000 TPS, è 12.

Esempio 2

In questo esempio, prevediamo un massimo di 1000 TPS in 20 ambienti Apigee. La durata del 99° percentile di queste transazioni è di 5 secondi. Queste richieste verranno gestite da 8 backend di destinazione, con il traffico normalmente distribuito in modo uniforme tra tutti. Tenendo conto di manutenzione e interruzioni, un singolo backend non dovrebbe mai gestire più di 250 TPS.

Per questo esempio, i valori chiave sono i seguenti:

  • Tempo massimo per transazione: 5 secondi
  • Numero massimo di transazioni al secondo (TPS): 1000
  • TPS massimo per un singolo backend: 250
  • Numero di ambienti Apigee: 20

Utilizzando le formule descritte in precedenza, possiamo calcolare il numero di IP NAT richiesti:

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

    Il numero massimo di porte di origine NAT richieste per backend, supponendo che non venga riutilizzata alcuna connessione, è 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 $$

    Il numero minimo di porte di origine NAT utilizzate dal runtime Apigee è 88.064.

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

    Il numero massimo di porte di origine NAT richieste per istanza è 88.064.

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

    Il numero minimo di IP NAT richiesti per supportare un massimo di 1000 TPS di 5 secondi ciascuno (o meno), con una singola coppia di IP e porta di backend che supporta un massimo di 250 TPS, è 2.

Esempio 3

In questo esempio, vogliamo calcolare il TPS massimo ottenibile con due IP NAT per un singolo backend di destinazione. Il tempo massimo per transazione è stimato in 100 ms.

Per questo esempio, i valori chiave sono i seguenti:

  • Tempo massimo per transazione: 100 ms
  • Numero di IP NAT: 2

In questo caso, possiamo utilizzare le formule del passaggio 4 e del passaggio 1 per calcolare il numero massimo di porte di origine NAT fornite e il numero di TPS che queste porte di origine possono supportare:

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

    Il numero massimo di porte di origine NAT fornite è 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 $$

    Il TPS massimo è 859 con 2 IP NAT a un singolo backend, supponendo che non venga riutilizzata alcuna connessione.