Edge Microgate 概览

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

Edge Microgate v. 2.5.x

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

通常,Edge Microgate 安装在可信网络中,并且靠近后端目标服务。它提供企业级安全性和一些关键的插件功能(如高峰控制、配额和分析),但不提供 Apigee Edge 的全部功能或占用空间。如果您愿意,可以在数据中心或甚至与后端服务相同的机器上安装 Edge Microgate。

您可以将 Edge Microgate 作为独立进程运行,也可以在 Docker 容器中运行。请参阅将 Docker 与 Edge Microgate 搭配使用。您还可以使用 Edge Microgate 为在 Kubernetes 集群中运行的服务提供 Apigee API 管理平台。无论您是要将现有服务和 API 迁移到 Kubernetes 栈,还是要创建新的服务和 API,Edge Microgate 都能提供干净的 API 管理体验,包括安全、流量管理、分析、发布等。请参阅 将 Edge Microgate 与 Kubernetes 集成

典型使用场景

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

  • 缩短在附近运行的服务的 API 流量延迟时间。例如,如果您的 API 使用者和生产者相距很近,则您不一定希望 API 通过中央网关。
  • 将 API 流量保持在企业批准的边界内,以确保安全性或合规性。
  • 如果互联网连接暂时中断,继续处理消息。
  • 为 Kubernetes 集群中运行的服务提供 Apigee API 管理平台。请参阅 将 Edge Microgate 与 Kubernetes 集成

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

主要功能和优势

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

关于 Edge Microgate 的须知事项

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

为何使用 Edge Microgate?

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

借助 Edge Microgate,您可以获得一个占用空间相对较小的应用,在靠近后端应用的位置运行。同时,您还可以充分利用 Apigee Edge,获享分析、安全保障和其他功能。

示例部署场景

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

同一机器

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

边缘微网关部署在您的网络上。它会处理来自客户端的 API 请求并调用目标服务。微网关使用 Apigee Edge Cloud 来传递代理和分析数据。
图 1 :最简单的 Edge Microgate 部署

其他机器

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

Edge Microgate 部署在一台机器上,后端服务部署在另一个位置。API 请求由微网关处理,请求会被发送到后端目标。Microgate 与 Apigee Edge Cloud 来通信代理和分析数据。
图 2 :与后端目标 API 分离的 Edge Microgate

使用负载平衡器

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

负载平衡器将流量发送到多个 Edge Microgate 实例。微网关的实例会与 Edge Cloud 和代理请求进行通信以定位服务。
图 3 :使用负载平衡器运行 Edge Microgate

内网部署

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

向 Edge Cloud 创建的 API 代理会发送到内网上的目标服务,而目标服务则会向内网上的 Edge Microgate 发送请求。
然后,微网关会向内网上的其他目标 API 服务发送请求。
图 4 :运行 Edge Microgate 以保护内网流量

Apigee Edge 的依赖项

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

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

一次性配置

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

Edge Microgate 不需要与 Apigee Edge 位于同一位置;Apigee Edge 公有云和私有云产品同样可以正常运行。

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

Edge Microgate 感知代理会为 Edge Microgate 提供特定信息来处理客户端 API 请求。在 Edge Microgate 启动时,有关这些代理的信息会从 Apigee Edge 下载到 Edge Microgate。

您或您的 API 团队应自行决定使用 Apigee Edge 管理界面或您希望通过其他方式在 Apigee Edge 中创建这些代理。这很简单,我们会在设置和配置 Edge Microgate 中详细介绍。

Edge Microgate 感知型代理的特征如下:

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

Edge Microgate 和 Apigee Edge Analytics 简介

当 API 流量流经 Edge Microgate 时,Edge Microgate 会缓冲 API 执行数据并将其异步发送到 Apigee Edge,由 Edge Analytics 系统在其中存储和处理这些数据。这种异步通信使 Edge Microgate 能够利用边缘分析功能,同时保持相对较小的占用空间,处理开销或阻塞非常少。您和您的团队可以使用全套 Edge Analytics 信息中心和自定义报告功能来分析通过 Edge Microgate 的流量传输。

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

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

Edge Microgate 安全性简介

Apigee Edge 的作用

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

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

客户端应用身份验证

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

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

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

Edge Microgate 为更新 Apigee Edge 上的分析数据而发出的异步调用需要进行身份验证。此身份验证是通过 CLI 或使用环境变量传递给 Edge Microgate 的公钥/密钥对提供的。首次安装和启动 Edge Microgate 时,您需要获取和使用这些密钥一次。

API 产品管理平台

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

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

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

使用微网关感知型代理的另一个原因是,Edge Microgate 会针对每个微网关感知型代理将分析数据异步推送到 Edge。然后,您可以查看微网关感知型代理的分析数据,就像在 Edge Analytics 界面中查看任何其他代理的分析数据一样。

设置主题将引导您完成开始通过 Edge Microgate 代理 API 调用所需执行的所有步骤,包括您在 Apigee Edge 上需要执行的几个简单步骤来设置 Edge Microgate 所需的配置,包括创建微网关感知型代理。 请参阅设置和配置 Edge Microgate

详细了解 Edge Microgate

Apigee 提供以下资源:

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

  • 视频 -“面向开发者的 Apigee 4 分钟视频”系列包含一系列关于 Edge Microgate 的剧集。

  • Edge Micro 论坛 - Apigee 社区的 Edge Micro 论坛是一个很好的论坛,您可以在其中提出问题,也可以从其他人提问和回答的问题中获益。