Calculer les prérequis IP NAT statiques

Cette page s'applique à Apigee, mais pas à Apigee hybrid.

Consultez la documentation d'Apigee Edge.

Le trafic Southbound entre Apigee et un backend cible avec une adresse IP publique utilise Cloud NAT pour traduire l'adresse IP privée de votre instance Apigee en adresse IP publique. Si votre backend cible nécessite d'établir la liste d'adresses IP, vous pouvez réserver et activer des adresses IP NAT statiques pour le trafic de sortie. Cet article explique comment calculer le nombre minimal d'adresses IP NAT statiques requises pour gérer le trafic attendu.

Avant de commencer

Si vous choisissez d'utiliser l'allocation d'adresses IP NAT statiques pour accepter la liste d'autorisation, vous devez calculer le nombre minimal d'adresses IP statiques requises pour accepter le trafic attendu. Pour ce calcul, vous avez besoin des informations suivantes :

  • Durée maximale par transaction : durée maximale, en secondes, entre l'exécution d'une transaction, depuis le début de la requête jusqu'à la fin de la réponse.
  • Nombre maximal de transactions par seconde (TPS) : nombre maximal de transactions par seconde que l'instance Apigee peut éventuellement accepter.
  • TPS maximal pour un seul backend unique : nombre maximal de transactions par seconde qu'un seul backend peut accepter.
  • Nombre maximal d'environnements : nombre maximal d'environnements sur cette instance Apigee.

Calculer le nombre d'adresses IP statiques requises

Vous pouvez utiliser les formules suivantes pour calculer le nombre minimal d'adresses IP NAT qui doivent être attribuées de manière statique :

  1. Calculez le nombre maximal de ports sources NAT requis par backend en tant que $ S $.
    $$ S = \lceil (150 + T) \times B \rceil $$

    Où :

    • $ T $ correspond à la durée maximale par transaction, en secondes.
    • $ B $ correspond au nombre maximal de TPS par backend unique.
    • $ \lceil \rceil $ est le plafond, soit la valeur arrondie au nombre entier supérieur.
  2. Calculez le nombre minimal de ports utilisés par l'instance Apigee en tant que $ N $.
    $$ N = max(4096 \times E, \lceil {512 \over 75} \times R \rceil) + 6144 $$

    Où :

    • $ E $ correspond au nombre d'environnements Apigee.
    • $ R $ correspond au nombre maximal de TPS pour l'instance Apigee.
    • $ \lceil \rceil $ est le plafond, soit la valeur arrondie au nombre entier supérieur.
    • La fonction $ \mathit{max}() $ utilise le maximum des deux valeurs.
  3. Utilise le nombre maximal de ports requis en tant que $ P $.
    $$ P = max(S, N) $$

    Où :

    • $ S $ correspond au nombre maximal de ports sources NAT requis, calculé à l'étape 1.
    • $ N $ correspond au nombre minimal de ports utilisés par l'instance Apigee, calculé à l'étape 2.
    • La fonction $ \mathit{max}() $ utilise le maximum des deux valeurs.
  4. Calculez le nombre minimal d'adresses IP NAT requis en $ I $.
    $$ I = \lceil P / 64512 \rceil $$

    Où :

    • $ P $ correspond au nombre maximal de ports requis, calculé à l'étape 3.
    • $ \lceil \rceil $ est le plafond, soit la valeur arrondie au nombre entier supérieur.

Examples

Exemple 1

Dans cet exemple, nous attendons un maximum de 10 000 TPS dans un environnement. Les transactions correspondent à toutes les requêtes HTTP GET et la durée de la transaction au 99e centile est de 50 millisecondes (ms). Ces requêtes sont diffusées de manière inégale par un pool de serveurs derrière trois backends d'équilibrage de charge. L'un d'entre eux traite 5 000 TPS, un autre 3 000 TPS et le dernier 2 000 TPS.

Dans cet exemple, les valeurs de clé sont les suivantes :

  • Durée maximale par transaction : 50 ms
  • Nombre maximal de TPS pour l'instance Apigee : 10 000
  • Nombre maximal de TPS pour un seul backend: 5 000
  • Nombre d'environnements Apigee: 1

En utilisant les formules décrites précédemment, nous pouvons calculer le nombre d'adresses IP NAT requises :

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

    En supposant qu'il n'y a aucune réutilisation de la connexion, le nombre maximal de ports sources NAT par backend est 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 $$

    Le nombre minimal de ports sources NAT utilisés par l'environnement d'exécution Apigee est de 74 414.

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

    Le nombre maximal de ports sources NAT par instance est de 750 250.

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

    Le nombre minimal d'adresses IP NAT requises pour un maximum de 10 000 TPS de 50 ms chacune (ou moins), avec une seule adresse IP de backend et une paire de ports compatible avec un maximum de 5 000 TPS, est de 12.

Exemple 2

Dans cet exemple, nous attendons un maximum de 1 000 TPS dans 20 environnements Apigee. La durée du 99e centile de ces transactions est de 5 secondes. Ces requêtes sont diffusées par huit backends cibles, le trafic étant normalement réparti équitablement entre tous. En tenant compte de la maintenance et des pannes, un seul backend ne doit jamais diffuser plus de 250 TPS.

Dans cet exemple, les valeurs de clé sont les suivantes :

  • Durée maximale par transaction : 5 s
  • Nombre maximal de transactions par seconde (TPS) : 1 000
  • Nombre maximal de TPS pour un seul backend : 250
  • Nombre d'environnements Apigee : 20

En utilisant les formules décrites précédemment, nous pouvons calculer le nombre d'adresses IP NAT requises :

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

    En supposant qu'il n'y a aucune réutilisation de la connexion, le nombre maximal de ports sources NAT par backend est 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 $$

    Le nombre minimal de ports sources NAT utilisés par l'environnement d'exécution Apigee est de 88 064.

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

    Le nombre maximal de ports sources NAT par instance est de 88 064.

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

    Le nombre minimal d'adresses IP NAT requises pour un maximum de 1 000 TPS de 5 secondes chacune (ou moins), avec une seule adresse IP de backend et une paire de ports compatible avec un maximum de 250 TPS, est de 2.

Exemple 3

Dans cet exemple, nous souhaitons calculer le nombre maximal de TPS avec deux adresses IP NAT sur un seul backend cible. La durée maximale par transaction est estimée à 100 ms.

Dans cet exemple, les valeurs de clé sont les suivantes :

  • Durée maximale par transaction : 100 ms
  • Nombre d'adresses IP NAT : 2

Dans ce cas, nous pouvons utiliser les formules des étapes 1 et 4 pour calculer le nombre maximal de ports sources NAT fournis et le nombre de TPS que ces ports sources peuvent accepter :

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

    Le nombre maximal de ports sources NAT fournis est de 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 $$

    En supposant qu'aucune connexion n'est réutiliséee, le nombre maximal de TPS est de 859, avec deux adresses IP NAT sur un seul backend.