静的 NAT IP 要件の計算

このページの内容は Apigee に適用されます。Apigee ハイブリッドには適用されません。

Apigee Edge のドキュメントを表示する

Apigee とパブリック IP アドレスを持つターゲット バックエンド間の下りトラフィックでは、Cloud NAT を使用して Apigee インスタンスのプライベート IP アドレスがパブリック IP アドレスに変換されます。ターゲット バックエンドで IP 許可リストが必要な場合は、外向きトラフィックに静的 NAT IP を予約して有効にできます。このトピックでは、予想されるトラフィックをサポートするために必要な静的 NAT IP の最小数を計算する方法について説明します。

始める前に

静的 NAT IP 割り振りを使用して許可リストをサポートする場合は、予想されるトラフィックをサポートするために必要な静的 IP の最小数を計算する必要があります。この計算では、次の情報が必要になります。

  • トランザクションあたりの最大時間: リクエストの開始からレスポンスの終了までのトランザクションに要する最大時間(秒単位)
  • 1 秒あたりの最大トランザクション数(TPS): Apigee インスタンスが 1 秒あたりにサポートできる可能性があるトランザクションの最大数
  • 一意の単一バックエンドの最大 TPS: 単一のバックエンドが 1 秒あたりにサポートできる可能性があるトランザクションの最大数
  • 最大環境数: この Apigee インスタンス上の環境の最大数

必要な静的 IP の数を計算する

静的に割り当てる必要のある NAT IP の最小数を計算するには、次の数式を使用します。

  1. バックエンドごとに必要な NAT 送信元ポートの最大数を $ S $ として計算します。
    $$ S = \lceil (150 + T) \times B \rceil $$

    各要素の意味は次のとおりです。

    • $ T $ は、トランザクションあたりの最大時間(秒単位)です。
    • $ B $ は、一意の単一バックエンドの最大 TPS です。
    • $ \lceil \rceil $ は天井(最小の整数)関数であり、次の整数に切り上げます。
  2. Apigee インスタンスで使用される最小ポート数を $ N $ として計算します。
    $$ N = max(4096 \times E, \lceil {512 \over 75} \times R \rceil) + 6144 $$

    各要素の意味は次のとおりです。

    • $ E $ は Apigee 環境の数です。
    • $ R $ は、Apigee インスタンスの最大 TPS です。
    • $ \lceil \rceil $ は天井(最小の整数)関数であり、次の整数に切り上げます。
    • $ \mathit{max}() $ 関数は、2 つの値の最大値を取ります。
  3. 必要な最大ポート数を $ P $ とします。
    $$ P = max(S, N) $$

    各要素の意味は次のとおりです。

    • $ S $ は、ステップ 1 で計算された必要な NAT 送信元ポートの最大数です。
    • $ N $ は、ステップ 2 で計算された、Apigee インスタンスによって使用されるポートの最小数です。
    • $ \mathit{max}() $ 関数は、2 つの値の最大値を取ります。
  4. 必要な NAT IP の最小数を $ I $ として計算します。
    $$ I = \lceil P / 64512 \rceil $$

    各要素の意味は次のとおりです。

    • $ P $ は、ステップ 3 で計算された、必要なポートの最大数です。
    • $ \lceil \rceil $ は天井(最小の整数)関数であり、次の整数に切り上げます。

例 1

この例では、1 つの環境で最大 10,000 TPS を想定しています。トランザクションはすべて HTTP GET リクエストで、99 パーセンタイルのトランザクション時間は 50 ミリ秒(ms)です。これらのリクエストは、3 つのロードバランサ バックエンドの背後にあるサーバーのプールによって不均一に処理されます(1 つのロードバランサは 5,000 TPS、もう 1 つは 3,000 TPS、最後のものは 2,000 TPS で)。

この例では、主な値は次のとおりです。

  • トランザクションあたりの最大時間: 50 ms
  • Apigee インスタンスの最大 TPS: 10,000
  • 単一のバックエンドの最大 TPS: 5,000
  • Apigee 環境の数: 1

前述の式を使用して、必要な NAT IP の数を計算できます。

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

    バックエンドごとに必要な NAT 送信元ポートの最大数(接続の再利用なしと仮定)は 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 $$

    Apigee ランタイムで使用される NAT 送信元ポートの最小数は 74,414 です。

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

    インスタンスごとに必要な NAT 送信元ポートの最大数は 750,250 です。

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

    それぞれ 50 ms(または未満)の最大 10,000 TPS をサポートするのに必要な NAT IP の最小数は(最大 5,000 TPS をサポートする単一のバックエンド IP とポートのペアを備える場合)、12 です。

例 2

この例では、20 の Apigee 環境で最大 1,000 TPS を想定しています。これらのトランザクションの 99 パーセンタイル時間は 5 秒です。これらのリクエストは 8 つのターゲット バックエンドによって、通常、トラフィックはすべてのバックエンドに均等に分散されて、処理されます。メンテナンスと停止を考慮すると、単一のバックエンドが 250 TPS を超えて処理することは決して期待できません。

この例では、主な値は次のとおりです。

  • トランザクションあたりの最大時間: 5 秒
  • 1 秒あたりの最大トランザクション数(TPS): 1,000
  • 単一のバックエンドの最大 TPS: 250
  • Apigee 環境の数: 20

前述の式を使用して、必要な NAT IP の数を計算できます。

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

    バックエンドごとに必要な NAT 送信元ポートの最大数(接続の再利用なしと仮定)は 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 $$

    Apigee ランタイムで使用される NAT 送信元ポートの最小数は 88,064 です。

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

    インスタンスごとに必要な NAT 送信元ポートの最大数は 88,064 です。

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

    それぞれ 5 秒(または未満)の最大 1,000 TPS をサポートするのに必要な NAT IP の最小数は(最大 250 TPS をサポートする単一のバックエンド IP とポートのペアを備える場合)、2 です。

例 3

この例では、単一のターゲット バックエンドに対して 2 つの NAT IP で達成可能な最大 TPS を計算します。トランザクションあたりの最大時間は 100 ms と推定されます。

この例では、主な値は次のとおりです。

  • トランザクションあたりの最大時間: 100 ms
  • NAT IP の数: 2

この場合、ステップ 4 とステップ 1 の数式を使用して、指定された NAT 送信元ポートの最大数と、それらの送信元ポートがサポートできる TPS 数を計算できます。

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

    指定される NAT 送信元ポートの最大数は 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 $$

    単一のバックエンドへの NAT IP が 2 つでの最大 TPS は、859 です(接続の再利用なしと仮定)。