Calcolo dei requisiti IP NAT statici

Questa pagina riguarda Apigee, ma non Apigee ibrido.

Visualizza la documentazione di Apigee Edge.

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

Prima di iniziare

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

  • Tempo massimo per transazione: il tempo massimo, in secondi, richiesto da una transazione, dall'inizio della richiesta fino 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: indica il numero massimo di transazioni al secondo che ogni singolo backend può supportare.
  • Numero massimo di ambienti: il numero massimo di ambienti in questa istanza Apigee.

Calcolare il numero di IP statici richiesti

Puoi utilizzare le seguenti formule per calcolare il numero minimo di IP NAT che devono essere assegnati in modo statico:

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

    Dove:

    • $ T $ è il tempo massimo per transazione, in secondi.
    • $ B $ è il TPS massimo per ogni singolo backend univoco.
    • $ \lceil\rceil $ è la funzione massimale (almeno un numero intero), che indica l'arrotondamento al numero intero successivo
  2. Calcola il numero minimo di porte utilizzate dall'istanza Apigee in $ N $.
    $$ N = max(4096 \times E, \lceil {512 \over 75} \times R \rceil) + 6144 $$

    Dove:

    • "E $" corrisponde al numero di ambienti Apigee.
    • $ R $ è il TPS massimo per l'istanza Apigee.
    • $ \lceil\rceil $ è la funzione massimale (almeno un numero intero), che indica l'arrotondamento al numero intero successivo
    • La funzione $ \mathit{max}() $ prende il massimo dei due valori.
  3. Considera il numero massimo di porte richiesto come $ P $.
    $$ P = max(S, N) $$

    Dove:

    • $ S $ è il numero massimo di porte di origine NAT richieste, calcolato nel passaggio 1.
    • $ N $ è il numero minimo di porte utilizzate dall'istanza Apigee, 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 massimale (almeno un numero intero), che indica l'arrotondamento al numero 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 sono gestite in modo non uniforme da un pool di server dietro tre backend di bilanciamento del carico, di cui uno dei bilanciatori del carico richiede 5000 TPS, un altro che utilizza 3000 TPS e l'ultimo che utilizza 2000 TPS.

Per questo esempio, le coppie chiave-valore 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 vengano riutilizzate connessioni, è 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 richiesto per supportare un massimo di 10.000 TPS di 50 ms ciascuno (o meno), con un singolo IP di backend e coppia di porte che supportano 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. Se si considerano le attività di manutenzione e quelle in caso di interruzioni, non è previsto che un singolo backend gestisca più di 250 TPS.

Per questo esempio, le coppie chiave-valore sono i seguenti:

  • Tempo massimo per transazione: 5 s
  • 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 vengano riutilizzate connessioni, è 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 richiesto per supportare un massimo di 1000 TPS di 5 secondi ciascuno (o meno), con un singolo IP di backend e una singola coppia di porte che supportano un massimo di 250 TPS, è 2.

Esempio 3

In questo esempio, vogliamo calcolare il TPS massimo ottenibile con 2 IP NAT per un singolo backend di destinazione. Si stima che il tempo massimo per transazione sia pari a 100 ms.

Per questo esempio, le coppie chiave-valore sono i seguenti:

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

In questo caso, possiamo utilizzare le formule nei passaggi 4 e 1 per calcolare il numero massimo di porte di origine NAT fornite e il numero di TPS supportati da queste porte di origine:

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

    Il numero massimo di porte di origine NAT fornito è 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 per un singolo backend, supponendo che la connessione non venga riutilizzata.