计算静态 NAT IP 地址要求

本页面适用于 Apigee,但不适用于 Apigee Hybrid

查看 Apigee Edge 文档。

Apigee 与具有公共 IP 地址的目标后端之间的南向流量使用 Cloud NAT 将 Apigee 实例的专用 IP 地址转换为公共 IP 地址。如果目标后端需要使用 IP 许可名单,则可以为出站流量预留和激活静态 NAT IP 地址。 本主题介绍了如何计算支持预期流量所需的静态 NAT IP 的数量下限。

须知事项

如果您选择使用静态 NAT IP 分配来支持列入许可名单,则需要计算支持预期流量所需的静态 IP 的数量下限。对于此计算,您需要以下信息:

  • 每个事务的最长时间:这是事务从请求开始到响应结束所需的最长时间(以秒为单位)。
  • 每秒事务数上限 (TPS):这是 Apigee 实例可能支持的每秒事务数上限。
  • 单个唯一后端的 TPS 上限:这是任何单个后端可能支持的每秒事务数上限。
  • 环境数量上限:Apigee 实例上的环境数量上限。

计算所需的静态 IP 数量

您可以使用以下公式计算需要静态分配的 NAT IP 的数量下限:

  1. 计算每个后端所需的 NAT 来源端口数上限,即 S
    S=(150+T)×B

    其中:

    • T 是每个事务的最长时间(以秒为单位)。
    • B 是任何单个唯一后端的 TPS 上限。
    • 是 ceiling(最小整数)函数,表示向上取整到下一个整数
  2. 计算 Apigee 实例使用的端口数下限,即 N
    N=max(4096×E,51275×R)+6144

    其中:

    • E 是 Apigee 环境的数量。
    • R 是 Apigee 实例的 TPS 上限。
    • 是 ceiling(最小整数)函数,表示向上取整到下一个整数
    • max() 函数接受两个值中的最大值。
  3. 获取所需的端口数上限,即 P
    P=max(S,N)

    其中:

    • S 是第 1 步中计算的所需 NAT 来源端口数上限。
    • N 是第 2 步中计算的 Apigee 实例使用的端口数下限。
    • max() 函数接受两个值中的最大值。
  4. 计算所需的 NAT IP 数量下限,即 I
    I=P/64512

    其中:

    • P 是第 3 步中计算的所需端口数上限。
    • 是 ceiling(最小整数)函数,表示向上取整到下一个整数

示例

示例 1

在此示例中,我们预计每个环境最多 10,000 TPS。这些事务均为 HTTP GET 请求,第 99 百分位的事务时长为 50 毫秒 (ms)。这些请求由 3 个负载均衡器后端后面的服务器池进行不均匀处理,一个负载均衡器接受 5,000 TPS,另一个负载均衡器接受 3,000 TPS,最后一个负载均衡器接受 2,000 TPS。

在此示例中,键值对如下所示:

  • 每个事务的最长时间:50 毫秒
  • Apigee 实例的 TPS 上限:10,000
  • 单个后端的 TPS 上限:5,000
  • Apigee 环境数量:1

我们可以使用上述公式计算所需的 NAT IP 数量:

  1. (150+0.050)×5000=150.050×5000=750250=750250

    假设未重复使用连接,每个后端所需的 NAT 来源端口数上限为 750,250

  2. max(4096×1,51275×10000)+6144
    max(4096,6.827×10000)+6144
    max(4096,68270)+6144
    68270+6144=74414

    Apigee 运行时使用的 NAT 来源端口数下限为 74,414

  3. max(750250,74414)=750250

    每个实例所需的 NAT 来源端口数上限为 750,250

  4. 750250/64512=11.630=12

    使用一个后端 IP 和端口对(最多支持 5,000 TPS)支持最多 10,000 TPS(每个 50 毫秒或更短时间)所需的 NAT IP 数量下限为 12

示例 2

在本示例中,我们预计 20 个 Apigee 环境最多 1,000 TPS。这些事务的第 99 百分位时长为 5 秒。这些请求由 8 个目标后端处理,流量通常均匀分布在所有目标端口之间。考虑到维护和服务中断,单个后端绝不应该处理 250 个以上 TPS。

在此示例中,键值对如下所示:

  • 每个事务的最长时间:5 秒
  • 每秒事务数上限 (TPS):1,000
  • 单个后端的 TPS 上限:250
  • Apigee 环境数量:20

我们可以使用上述公式计算所需的 NAT IP 数量:

  1. (150+5)×250=155×250=38750=38750

    假设未重复使用连接,每个后端所需的 NAT 来源端口数上限为 38,750

  2. max(4096×20,51275×1000)+6144
    max(81920,6.827×1000)+6144
    max(81920,6827)+6144
    81920+6144=88064

    Apigee 运行时使用的 NAT 来源端口数下限为 88,064

  3. max(38750,88064)=88064

    每个实例所需的 NAT 来源端口数上限为 88,064

  4. 88064/64512=1.365=2

    使用一个后端 IP 和端口对(最多支持 250 TPS)支持最多 1,000 TPS(每个 5 秒或更短时间)所需的 NAT IP 数量下限为 2

示例 3

在此示例中,我们想要计算使用 2 个 NAT IP 和一个目标后端可以实现的 TPS 上限。预计每个事务的最长时间为 100 毫秒。

在此示例中,键值对如下所示:

  • 每个事务的最长时间:100 毫秒
  • NAT IP 数量:2

在本例中,我们可以使用第 4 步和第 1 步中的公式来计算提供的 NAT 来源端口数上限以及这些来源端口可以支持的 TPS 数:

  1. 2=P/64512
    129024=P

    提供的 NAT 来源端口数上限为 129,024

  2. 129024=(150+0.100)×B
    129024=150.1×B
    129024/150.1=B
    859.587=B
    859=B

    假设未重复使用连接,使用 2 个 NAT IP 和一个后端的 TPS 上限为 859