Apigee Cloud NAT 的性能注意事项

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

查看 Apigee Edge 文档。

Apigee 与具有公共 IP 地址的目标后端之间的南向流量使用 Cloud NAT 将 Apigee 实例的专用 IP 地址转换为公共 IP 地址。每个 Apigee 实例都有自己的 Cloud NAT 网关。本主题介绍了使用 Cloud NAT 时影响 Apigee 性能的因素。

概览

Apigee 实例和目标后端之间形成的每个新 TCP 会话都必须映射到唯一的 4 元组,其中包含以下各项:

  • NAT IP 地址
  • NAT 端口
  • 后端 IP 地址
  • 后端端口

确定 Cloud NAT 在 Apigee 实例中可以支持的每秒事务数 (TPS) 有三个关键因素:

  1. (动态或静态)分配的 NAT IP 地址的数量
  2. 配置的唯一后端 IP 地址和端口组合的数量
  3. 目标后端是否允许重复使用连接

本主题介绍了使用 Cloud NAT 时每个因素如何影响 Apigee 性能,并介绍了如何计算支持预期流量所需的静态 IP 数量。

NAT IP 分配

分配的 NAT IP 数量因在 NAT 配置中使用临时或静态 IP 而异。

临时 IP

在使用临时 IP 的默认 NAT 配置中,IP 会根据需要自动分配,以便为与目标后端的连接提供唯一的来源端口。您最多可以为一个 Apigee 实例分配 300 个临时 IP。

静态 IP

如果需要静态 IP,以将 IP 列入目标后端的许可名单,则您可以手动为 Apigee 实例预留 IP。您最多可以为一个 Apigee 实例分配 50 个静态 IP。

唯一的后端 IP 和端口组合

您可以通过增加唯一的目标后端 IP 和端口组合的数量来增加 TPS。可以为每个目标后端 IP 和端口使用同一 NAT IP 和端口。这可实现与添加更多 NAT IP 相同的结果,而无需将其他 IP 列入许可名单。

如需创建唯一的目标后端 IP 和端口对,IP 端口必须不同。例如,您可以使用单个具有一个 IP 地址的负载均衡器,但监听 4 个不同的端口,从而为 Apigee 创建 4 个唯一的后端 IP 和端口组合。

连接重复使用

无需打开新的 TCP 连接,重复使用 HTTP 连接还可以高效地使用 NAT。通过在响应中将 Connection 标头设置为 keep-alive(这是 HTTP/1.1 的默认设置),目标后端可以使用此功能。目标后端服务器还可以设置 connection timeoutmax reuse 参数以提高效率。

从理论上讲,您可以通过在响应中启用 keep-alive 来支持连接重复使用,但实际上,连接重复使用取决于以下因素:

  • Apigee 实例是否已与目标后端建立连接
  • 现有连接是否有待处理的响应
  • 现有连接的生命周期是否快要结束

每个因素都会影响目标后端可以重复使用连接的程度。