Amazon API Gateway

创建、发布和管理 REST API、HTTP API、WebSocket API 的全托管服务,作为 Lambda 和其他 AWS 服务的前端入口

概述

Amazon API Gateway 是一项用于创建、发布、维护、监控和保护任意规模 API 的全托管服务。支持 REST API、HTTP API、WebSocket API 三种类型,可将 Lambda 函数、EC2 实例和任意 HTTP 端点作为后端连接。全面提供 API 密钥管理、使用量计划、限流、请求/响应转换、通过 Cognito 或 IAM 进行认证授权、自定义域名设置等 API 管理所需功能。HTTP API 比 REST API 的单次请求成本更低且延迟更低,适合简单的 API 代理。WebSocket API 支持实时双向通信,可用于构建聊天应用和实时仪表板。

REST API 与 HTTP API 的选择标准

API Gateway 提供 REST API 和 HTTP API 两种基于 HTTP 的 API 类型,根据需求进行选择。REST API 具备请求/响应转换(映射模板)、通过 API 密钥和使用量计划进行访问控制、请求验证、缓存功能、WAF 集成、金丝雀发布等高级功能,适合企业级 API 或需要复杂请求转换的场景。HTTP API 省略了部分高级功能,但单次请求的价格低于 REST API,延迟也更低。单价会随区域和用量档位变化,请在 AWS 定价页面确认。原生支持 JWT 授权器、CORS 自动配置、OpenID Connect / OAuth 2.0 集成,作为 Lambda 或 HTTP 后端的简单代理具备充分功能。Azure API Management 是包含开发者门户和 API 生命周期管理的综合平台,而 API Gateway 专注于作为无服务器架构入口与 Lambda 的集成,其特点是以请求数量为基础的按量计费。

认证授权与限流设计

API Gateway 的认证授权机制因 API 类型而异。REST API 可选择 Cognito 授权器、Lambda 授权器(基于令牌/基于请求)、IAM 认证三种方式。HTTP API 原生支持 JWT 授权器,可直接验证 Cognito 或 Auth0 等 OIDC 提供商的令牌,省去编写 Lambda 授权器的工作。限流设置可在账户级别和阶段/方法级别两层配置,防止后端过载。截至 2026 年 9 月,账户级别的默认配额为每个区域每秒 10,000 个请求 (突发容量上限为 5,000 个请求),部分区域的默认值更低。RPS 的默认值可以申请提高,而突发容量由服务方根据 RPS 配额决定,无法单独申请。结合使用量计划和 API 密钥,可为每个外部合作伙伴设置请求上限并监控 API 使用情况。

阶段管理与金丝雀发布

API Gateway 的阶段功能是并行运营同一 API 多个版本的机制。利用阶段变量可为 dev/staging/prod 各环境指定不同的 Lambda 函数或后端 URL,只需切换部署即可完成环境间的升级。REST API 支持金丝雀发布,可将新版本的流量从 10% 开始逐步增加,同时通过 CloudWatch 指标监控错误率和延迟,发现问题时立即回滚。结合自定义域名和 ACM 证书,可提供 api.example.com 这样符合品牌的 API 端点,通过基础路径映射还可将多个 API 聚合到一个域名下。

参考资料(AWS 官方)

本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。

如本页内容与官方文档不一致,请以官方文档为准。

分享XB!