Edge Microgate 概览

您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
info

Edge Microgateway v. 3.3.x

Apigee Edge Microgateway 是一种基于 HTTP 的安全 API 消息处理器。其主要工作是 安全地处理与后端服务之间的请求和响应,同时以异步方式 将有价值的 API 执行数据推送到 Apigee Edge,供 Edge Analytics 系统使用。Edge Microgateway 易于安装和部署,您可以在几分钟内启动并 运行一个实例。

通常,Edge Microgateway 安装在受信任的网络中,靠近 后端目标服务。它提供企业级安全性,以及一些关键插件功能,例如突增流量控制、配额和分析,但没有 Apigee Edge 的完整功能或占用空间。您可以根据需要将 Edge Microgateway 安装在与 后端服务相同的数据中心,甚至同一台机器上。

您可以将 Edge Microgateway 作为独立进程运行,也可以在 Docker 容器中运行。请参阅 将 Docker 与 Edge Microgateway 结合使用。 您还可以使用 Edge Microgateway 为在 Kubernetes 集群中运行的服务提供 Apigee API 管理。 无论您是将现有服务和 API 迁移到 Kubernetes 堆栈,还是创建新服务 和 API,Edge Microgateway 都有助于提供简洁的 API 管理体验,包括安全性、 流量管理、分析、发布等。请参阅 将 Edge Microgateway 与 Kubernetes 集成

典型使用场景

Edge Microgateway 等混合云 API 管理解决方案的典型使用场景包括:

  • 降低了近距离运行的服务的 API 流量延迟时间。例如,如果 您的 API 使用方和生成方距离很近,您不一定希望 API 通过中央网关。
  • 出于安全或合规性 目的,将 API 流量保留在企业批准的边界内。
  • 如果互联网连接暂时中断,则继续处理消息。
  • 为在 Kubernetes 集群中运行的服务提供 Apigee API 管理。请参阅 将 Edge Microgateway 与 Kubernetes 集成

如需了解其他使用场景,请参阅这篇 Apigee 社区文章。

主要功能和优势

功能 福利
安全 Edge Microgateway 使用 Apigee Edge 向每个客户端应用颁发的签名 访问令牌或 API 密钥对请求进行身份验证。
快速部署 与 Apigee Edge 的完整部署不同,您可以在 几分钟内部署和运行 Edge Microgateway 的实例。
网络邻近性 您可以在与 Edge Microgateway 交互的后端目标 API 所在的同一机器、子网或数据中心内安装和管理 Edge Microgateway。
分析 Edge Microgateway 以异步方式将 API 执行 数据传送给 Apigee Edge,由 Edge Analytics 系统处理。您可以使用整套 Edge Analytics 指标、信息中心和 API。
缩短了延迟时间 与 Apigee Edge 的所有通信都是异步的 并且不是作为处理客户端 API 请求的一部分发生。这样,Edge Microgateway 就可以 收集 API 数据并将其发送给 Apigee Edge,而不会影响延迟。
熟悉度 Edge Microgateway 使用并与 Edge 管理员已熟知的 Apigee Edge 功能(例如代理、产品和 开发者应用)进行交互。
配置 设置和管理 Edge Microgateway 不需要编程。一切都通过配置来处理。
便捷性 您可以将 Edge Microgateway 与现有的 应用监控和管理基础架构及流程集成。请注意, Apigee API Monitoring 不支持 Edge Microgateway。
日志记录 日志文件详细记录了 Edge Microgateway 在 API 处理期间遇到的所有正常事件和异常事件 。
CLI 借助命令行界面,您可以启动、停止和重启 Edge Microgateway,提取运行统计信息,查看日志文件,请求访问令牌等。

关于 Edge Microgateway 的注意事项

本部分介绍 Edge Microgateway 的工作原理、基本架构、配置和 部署。

为什么要使用 Edge Microgateway?

将 API 管理组件移到后端目标应用附近可以减少网络 延迟。虽然您可以在私有云中本地安装 Apigee Edge,但 Apigee Edge 的完整部署的规模必须庞大且复杂,才能支持其完整功能集和数据量极大的功能(例如密钥管理、获利和分析)。也就是说,不一定要在每个数据中心本地部署 Apigee Edge 。

通过 Edge Microgateway,您可以在后端应用附近运行一个占用空间相对较小的应用。此外,您还可以利用完整的 Apigee Edge 进行分析、安全和 其他功能。

示例部署 场景

本部分介绍了 Edge Microgateway 的几种可能的部署场景。

同一台机器

图 1 显示了 Edge Microgateway 以最 简单的配置部署时请求处理路径,其中 Edge Microgateway 和后端目标 API 安装在同一台机器上。单个 Edge Microgateway 实例可用于面向多个 后端目标应用

Edge Microgateway 已部署在您的网络中。它处理来自客户端的 API 请求并调用目标服务。微网关与 Apigee Edge Cloud 通信,以传递代理和分析数据。
图 1: Edge Microgateway 的最简单部署

不同的机器

由于客户端、Edge Microgateway 和后端 API 实现之间的所有通信都是 HTTP,因此您可以将 Apigee Edge Microgateway 安装在与 API 实现不同的机器上,如图 2 所示。

Edge Microgateway 部署在一台机器上,后端服务部署在另一位置。API 请求由微网关处理,然后发送到后端目标。微网关与 Apigee Edge Cloud 通信,以传递代理和分析数据。
图 2: Edge Microgateway 与后端目标 API 分开

使用负载平衡器

Edge Microgateway 本身可以由标准反向代理或负载平衡器作为前端 用于 SSL 终止和/或负载均衡,如图 3 所示。

负载平衡器将流量发送到 Edge Microgateway 的多个实例。
              微网关的实例与 Edge Cloud 通信,并将请求代理到目标服务。
图 3: 使用负载平衡器运行 Edge Microgateway

内网部署

使用 Edge Microgateway 保护内网流量,同时使用 Apigee Edge 保护互联网流量,如图 4 所示。假设 API 端点 /orders 通过 Apigee Edge Cloud 代理,并访问后端目标 https://mycompany.com/orders。这由左侧的目标 API 实现 表示。然后,此 API 可能会调用由右侧的目标 实现表示的多个 API 端点。例如,它可能会在内部调用 /customers/transactions。另请参阅 Apigee 社区上的这篇文章

发送到 Edge Cloud 的 API 代理会发送到您内网上的目标服务,并且目标服务会向您内网上的 Edge Microgateway 发送请求。然后,微网关会将请求发送到您内网上的其他目标 API 服务。
图 4: 运行 Edge Microgateway 以保护内网流量

对 Apigee Edge 的依赖关系

Edge Microgateway 依赖于 Apigee Edge 并与之交互。Edge Microgateway 必须 与 Apigee Edge 通信才能正常运行。Edge 与 Edge Microgateway 交互的主要方式包括:

  • 启动后,Edge Microgateway 会从 Apigee Edge 组织获取特殊“Edge Microgateway 感知”代理的列表 以及所有 API 产品的列表。对于每个传入的客户端 请求,Edge Microgateway 会确定该请求是否与其中一个 API 代理匹配,然后 根据与该代理关联的 API 产品中的密钥验证传入的访问令牌或 API 密钥。
  • Apigee Edge Analytics 系统存储和处理从 Edge Microgateway 以异步方式发送的 API 数据。
  • Apigee Edge 提供用于签署访问令牌或提供 API 密钥的凭据,客户端通过 Edge Microgateway 发出 API 调用时需要这些凭据。您可以使用 Edge Microgateway 提供的 CLI 命令获取这些令牌 。

一次性配置

您必须先配置 Edge Microgateway,使其能够与 Apigee Edge 组织通信。启动后,Edge Microgateway 会使用 Apigee Edge 启动引导操作。 Edge Microgateway 从 Apigee Edge 检索自行处理 API 调用所需的信息,包括部署在 Apigee Edge 上的 Edge Microgateway 感知代理的列表。我们稍后会详细介绍这些代理。

Edge Microgateway 不必与 Apigee Edge 位于同一位置;Apigee Edge 公有云和 私有云产品同样适用。

关于 Edge Microgateway 感知代理的注意事项

Edge Microgateway 感知代理为 Edge Microgateway 提供某些信息,使其能够处理客户端 API 请求。当 Edge Microgateway 启动时,系统会从 Apigee Edge 将有关这些代理的信息下载到 Edge Microgateway。

您可以根据需要使用 Apigee Edge 管理界面或其他方式在 Apigee Edge 上创建这些代理。这很容易做到,我们将在 设置和 配置 Edge Microgateway 中详细介绍。

Edge Microgateway 感知代理的特征如下:

  • 它们为 Edge Microgateway 提供两个关键信息:基本 路径和目标网址。
  • 它们必须指向 HTTP 目标端点。后端目标不能是 Node.js 应用,该应用由 TargetEndpoint 定义中的 ScriptTarget 元素引用。如需了解详情,请参阅前面的 备注。
  • 代理名称必须以 edgemicro_ 为前缀。例如:edgemicro_weather
  • 您无法向这些代理添加政策或条件流。如果您尝试这样做,系统会忽略它们 。否则,Edge Microgateway 感知代理在 Edge 管理界面中的显示方式与 Edge 上的任何其他 API 代理相同。
  • 它们可以捆绑到产品中并与开发者应用相关联。
  • 路况数据会显示在 Edge Analytics 中。
  • 无法使用 Apigee Edge Trace 工具跟踪它们。

关于 Edge Microgateway 和 Apigee Edge Analytics

当 API 流量流经 Edge Microgateway 时,Edge Microgateway 会缓冲并以异步方式 将 API 执行数据发送给 Apigee Edge,由 Edge Analytics 系统存储和处理这些数据。这种异步通信使 Edge Microgateway 能够利用 Edge Analytics 功能,同时保持相对较小的占用空间,并最大限度地减少处理 开销或阻塞。您和您的团队可以使用整套 Edge Analytics 信息中心和自定义报告 功能来分析通过 Edge Microgateway 的流量。

代理流量信息中心会显示一段时间内的 API 流量、开发者互动数据,以及按开发者应用细分的流量构成。
图 5: Edge 上的代理流量信息中心

如需详细了解 Edge Analytics,请参阅 分析信息中心

关于 Edge Microgateway 安全性

Apigee Edge 的角色

如前所述,Apigee Edge 在保护所有客户端对 Edge Microgateway 的请求方面发挥着作用。Apigee Edge 的主要角色包括:

  • 提供用作 API 密钥或生成有效访问令牌的客户端凭据, 客户端使用这些凭据通过 Edge Microgateway 发出安全 API 调用。
  • 提供 Edge Microgateway 将 API 执行数据发送给 Apigee Edge Analytics 系统所需的凭据。Edge Microgateway 在 初始设置步骤中获取这些凭据一次。
  • 提供将 API 资源捆绑到产品中、注册和管理 开发者以及创建和管理开发者应用的平台。

客户端应用身份验证

Edge Microgateway 支持通过访问令牌和 API 密钥进行客户端身份验证。安全密钥和令牌由 Apigee Edge 生成,并由 Edge Microgateway 针对每个 API 调用进行验证。如果启用了 OAuth 插件,Edge Microgateway 会检查签名的 访问令牌或 API 密钥,如果有效,API 调用将继续访问后端目标。如果无效,系统会返回错误。

如需了解获取和使用访问令牌和 API 密钥所需的步骤,请参阅设置 和配置 Edge Microgateway

在 Apigee Edge 上对 Edge Microgateway 进行身份验证

Edge Microgateway 对 Apigee Edge 进行的异步调用需要进行身份验证,才能更新分析数据 。此身份验证通过传递 给 Edge Microgateway 的公钥/私钥对(通过 CLI 或使用环境变量)提供。您在首次安装和启动 Edge Microgateway 时获取并使用这些 密钥一次。

API 产品管理平台

Edge 充当将 API 资源捆绑到产品中、注册和 管理开发者以及创建和管理开发者应用的平台。例如,就像您可以 创建和捆绑产品和开发者应用等实体一样, 您也可以为 Edge Microgateway 代理执行完全相同的操作。通过为每个“捆绑包”生成公钥和私钥,可以实现 API 级安全性 。此机制与 Apigee Edge 上 API 安全性的工作方式相同。

我可以将现有的 Edge 代理实现迁移到 Edge Microgateway 吗?

您无法将具有关联政策或条件流的现有代理迁移到 Edge Microgateway。Edge Microgateway 要求您创建新的“Microgateway 感知”代理。这些 代理必须使用特殊前缀 edgemicro_ 命名。启动后,Edge Microgateway 会发现这些 edgemicro_* 代理,并下载每个代理的配置信息。 此信息包括其目标网址和资源路径。从那时起,这些代理 将不再使用。这些代理中的任何政策或条件流都将永远不会执行。

拥有 Microgateway 感知代理的另一个原因是,Edge Microgateway 会为每个 Microgateway 感知代理以异步方式 将分析数据推送到 Edge。然后,您可以像在 Edge Analytics 界面中查看任何其他代理一样查看 Microgateway 感知代理的分析 数据。

设置主题将引导您完成通过 Edge Microgateway 开始代理 API 调用所需的所有步骤 ,包括在 Apigee Edge 上执行的一些简单步骤,以设置 Edge Microgateway 所需的 配置,包括创建 Microgateway 感知代理。 请参阅 设置和 配置 Edge Microgateway

详细了解 Edge Microgateway

Apigee 提供以下资源:

  • Edge Microgateway 文档 - 这些文档包括安装指南和入门教程,以及完整的参考 和配置信息。

  • 视频 \- Apigee 四分钟开发者视频系列包含一系列关于 Edge Microgateway 的剧集。

  • Apigee 社区是一个 很好的平台,您不仅可以提问,还可以从其他用户提出的问题和解答中受益。