通过


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure API 管理中的 API 网关

适用于:所有 API 管理层级

本文介绍 API 管理 网关 组件的角色和功能。 它还比较了可以部署的网关。

相关信息:

网关的角色

API 管理网关(也称为数据平面或运行时)是负责代理 API 请求、应用策略和收集遥测的服务组件

具体而言,网关执行以下操作:

Note

对 API 管理网关的所有请求(包括策略配置拒绝的请求)计入配置的速率限制、配额和计费限制(如果服务层应用这些限制)。

托管网关和自承载网关

API 管理提供托管和自托管网关:

  • 托管 - 托管网关是 Azure 为每个服务层中的每个 API 管理实例部署的默认网关组件。 还可以在选择的服务层中将独立托管网关与 API 管理实例中的 工作区 相关联。 通过使用托管网关,无论实现 API 的后端位于何处,所有 API 流量都会流经 Azure。

    Note

    由于基础服务体系结构存在差异,不同 API 管理服务层中提供的网关在功能上存在一些差异。 有关详细信息,请参阅功能比较:托管网关与自托管网关部分。

  • 自承载 - 自承载网关 是可选容器化版本的默认托管网关,可在选择服务层中使用。 它对于要求在托管 API 后端的同一环境中在 Azure 之外运行网关的混合和多云场景非常有用。 使用自托管网关,具有混合 IT 基础结构的客户可以从 Azure 中的单个 API 管理服务管理本地和云中托管的 API。

功能比较:托管网关与自托管网关

下表比较了以下 API 管理网关中可用的功能:

  • 经典 - 可在开发人员、基本、标准和高级服务层中使用的托管网关(以前归为专用层)
  • V2 - 可在基本 v2、标准 v2 和高级 v2 层中使用的托管网关
  • 消耗 - 消耗层中可用的托管网关
  • 自承载 - 可选的自承载网关,可在优选服务层中使用
  • 工作区 - 选定服务层中的工作区中可用的托管网关

Note

  • 托管和自托管网关的某些功能仅在某些服务层级或自托管网关的某些部署环境中受支持。
  • 若要查看自承载网关的当前支持功能,请确保已升级到自承载网关 容器映像的最新主版本。
  • 另请参阅自托管网关的限制

基础结构

功能支持 Classic V2 消耗 Self-hosted Workspace
自定义域 ✔️ ✔️ ✔️ ✔️
内置缓存 ✔️ ✔️ ✔️
外部 Redis 兼容缓存 ✔️ ✔️ ✔️ ✔️
虚拟网络注入 开发人员、高级 高级 v2 ✔️1,2 ✔️
入站专用终结点 ✔️ 标准 v2、高级 v2
出站虚拟网络集成 标准 v2、高级 v2 ✔️
可用性区域 高级 高级 v2 ✔️1
多区域部署 高级 ✔️1
CA 根证书,用于证书验证 ✔️ ✔️6 ✔️3
托管域证书 ✔️ ✔️
TLS 设置 ✔️ ✔️ ✔️ ✔️
HTTP/2(客户端到网关) ✔️4 ✔️4 ✔️
HTTP/2(网关到后端) ✔️7 ✔️5
使用 Defender for API 进行 API 威胁检测 ✔️ ✔️

1 取决于网关的部署方式,但由客户负责。
2 连接到自承载网关 v2 配置终结点需要终结点主机名的 DNS 解析。
3 自托管网关的 CA 根证书按每个网关单独管理。
4 需要启用客户端协议。
5 使用 转发请求 策略进行配置。
6 在后端设置中配置 后端 证书身份验证的 CA 证书详细信息。
7 从 2026 年 1 月开始创建的经典层实例的预览版。 请联系技术支持以激活现有经典层实例。

后端 API

功能支持 Classic V2 消耗 Self-hosted Workspace
OpenAPI 规范 ✔️ ✔️ ✔️ ✔️ ✔️
WSDL 规范 ✔️ ✔️ ✔️ ✔️ ✔️
WADL 规范 ✔️ ✔️ ✔️ ✔️ ✔️
逻辑应用 ✔️ ✔️ ✔️ ✔️ ✔️
应用程序服务 ✔️ ✔️ ✔️ ✔️ ✔️
函数应用 ✔️ ✔️ ✔️ ✔️ ✔️
容器应用 ✔️ ✔️ ✔️ ✔️ ✔️
Service Fabric 开发人员、高级
直通 GraphQL ✔️ ✔️ ✔️ ✔️ ✔️
合成 GraphQL ✔️ ✔️ ✔️1 ✔️1
直通 WebSocket ✔️ ✔️ ✔️ ✔️
直通 gRPC ✔️1 ✔️
OData ✔️ ✔️ ✔️ ✔️ ✔️
Microsoft Foundry 模型和 LLM 中的 Azure OpenAI ✔️ ✔️ ✔️ ✔️ ✔️
直通 MCP 服务器 ✔️ ✔️ ✔️
将 REST API 导出为 MCP 服务器 ✔️ ✔️ ✔️
A2A 智能体 ✔️
后端中的断路器 ✔️ ✔️ ✔️ ✔️
负载均衡后端池 ✔️ ✔️ ✔️ ✔️ ✔️

1 从 2026 年 1 月开始创建的经典层实例的预览版。 请联系技术支持以激活现有经典层实例。

Policies

托管和自托管网关支持策略定义中的所有可用策略,但以下策略例外。 有关每个策略的详细信息,请参阅策略参考。

功能支持 Classic V2 消耗 Self-hosted1 Workspace
Dapr 集成 ✔️
服务总线集成 (预览版) ✔️ ✔️ ✔️
GraphQL 解析程序GraphQL 验证 ✔️ ✔️ ✔️
获取授权上下文 ✔️ ✔️ ✔️
使用托管标识进行身份验证 ✔️ ✔️ ✔️ ✔️
Azure OpenAI 和 LLM 语义缓存 ✔️ ✔️ ✔️
配额和速率限制 ✔️ ✔️ ✔️2 ✔️3 ✔️

1 在执行策略期间,将跳过自承载网关不支持的已配置策略。
2 按密钥的速率限制、按密钥的配额、AI 标记限制策略在消耗层级不可用。
3 可以将自承载网关中的速率限制计数配置为在本地同步(在群集节点中的网关实例之间),例如,通过 Kubernetes 的 Helm 图表部署或使用 Azure 门户部署模板。 但是,速率限制计数不会与 API 管理实例中配置的其他网关资源(包括云中的托管网关)同步。 了解详细信息

Monitoring

有关监视选项的详细信息,请参阅 Azure API 管理中的可观测性

功能支持 Classic V2 消耗 Self-hosted Workspace
API 分析 ✔️ ✔️1
Application Insights ✔️ ✔️ ✔️ ✔️2 ✔️
通过事件中心进行日志记录 ✔️ ✔️ ✔️ ✔️ ✔️
Azure Monitor 中的指标 ✔️ ✔️ ✔️ ✔️
OpenTelemetry 收集器 ✔️
Azure Monitor 和 Log Analytics 中的请求日志 ✔️ ✔️ 3
本地指标和日志 ✔️
请求跟踪 ✔️ ✔️ ✔️ ✔️ ✔️

1 v2 层支持基于 Azure Monitor 的分析。
2 网关使用 Azure Application Insight 的内置内存缓冲区 ,不提供传递保证。
3 自托管网关当前不会向 Azure Monitor 发送资源日志(诊断日志)。 可以将指标发送到 Azure Monitor,或在部署自托管网关的本地配置和保存日志

身份验证和授权

托管和自托管网关支持所有可用的 API 身份验证和授权选项,存在以下例外。

功能支持 Classic V2 消耗 Self-hosted Workspace
凭据管理器 ✔️ ✔️ ✔️

网关吞吐量和缩放

Important

吞吐量取决于许多因素,包括并发客户端连接的数量和速率、已配置策略的类型和数量、有效负载大小、后端 API 性能等因素。 自承载网关吞吐量还取决于运行它的主机的计算容量(CPU 和内存)。 若要准确确定预期的吞吐量,请使用预期的生产条件执行网关负载测试。

托管网关

有关 API 管理服务层级中估计的最大网关吞吐量,请参阅 API 管理定价

Important

仅使用吞吐量数字获取信息。 不要依赖它们进行容量和预算规划。 有关详细信息,请参阅 API 管理定价

  • 经典等级

    • 通过添加和删除缩放单元来缩放网关容量或升级服务层级。 (开发人员层中不提供缩放功能)。
    • 在基本层、标准层和高级层中,可以选择配置 Azure Monitor 自动缩放
    • 在高级层中,可以选择跨多个区域添加和分配网关容量。
  • v2 层

  • 消耗层

    • “消耗”层中的 API 管理实例会根据流量自动缩放。

自托管网关

  • Kubernetes 等环境中,添加多个网关副本以处理预期使用情况。
  • (可选)配置自动缩放以满足流量需求。

工作区网关

通过在工作区网关中添加和移除缩放单元来缩放容量。

网关运行时限制

下表列出了在处理 API 请求和响应时适用于 API 管理网关的限制。

运行时限制 Classic V2 消耗
每个 HTTP 颁发机构的并行后端连接1 每单位 2,0482 2,048 无限制
缓存的响应大小 2 MiB 2 MiB 2 MiB
策略文档大小 512 KiB 512 KiB 16 KiB
请求数据负载大小 无限制 1 GiB 1 GiB
缓冲有效负载大小 500 MiB 2 MiB 2 MiB
诊断日志中的请求与响应负载大小 8,192 字节 8,192 字节 8,192 字节
请求 URL 大小3 无限制 16384 字节 16384 字节
URL 路径段的长度 1,024 个字符 1,024 个字符 1,024 个字符
命名值的长度 4,096 个字符 4,096 个字符 4,096 个字符
验证内容策略中的请求或响应正文的大小 100 KiB 100 KiB 100 KiB
验证策略使用的 API 架构的大小 4 MB 4 MB 4 MB
请求总持续时间 无限制 30 秒 30 秒
每个单元的活动 WebSocket 连接数为 4 5,000 5,000 不适用

1除非被后端明确关闭,否则将共用并重新使用连接。
2 在开发人员层限制为 1,024。
3 包含最多 2048 字节长的查询字符串。
4 每个服务实例最多 60,000 个连接。

网关运行状况检查终结点

除消耗层外,所有层级的 Azure API Management 均在路径 /status-0123456789abcdef 提供内置网关运行状况检查终结点。 访问此终结点以帮助确认 API 网关可用且正常运行。 它不测试后端 API,仅测试网关本身。

对终结点的请求在网关正常时返回 200 OK HTTP 响应;故障指示网络或网关问题。

  • Azure 在内部使用此终结点进行持续 SLA 监视和网关运行状况验证。
  • 客户可以将对此终结点的请求集成到自己的监视工具和探测中。
  • 该终结点适用于托管网关(包括多区域部署中的区域网关)、自承载网关和工作区网关。

小窍门

将 Azure Application Insights 与 API 管理集成后,可以选择启用网关的可用性监视。 此设置定期轮询网关运行状况检查终结点,并在 Application Insights 中的 “可用性 ”选项卡上报告结果。

了解有关以下方面的详细信息: