Amazon API Gateway 是一种完全托管的服务,可以帮助开发者轻松创建、发布、维护、监控和保护任意规模的 API。随着移动设备的激增以及物联网 (IoT) 的崛起,通过 API 让应用程序访问后端系统和数据变得越来越常见。由于非常多的应用都在使用 API,并且开发者社区依赖于这些 API,因此越来越多的时间和工作花在了开发和管理 API 上面。Amazon API Gateway 是一项按使用量付费的服务,可以无差别地承担安全可靠运行大规模 API 涉及的所有繁重任务。并且,为了让大家可以轻松使用这些 API,Amazon API Gateway 还可以为多种语言(包括 JavaScript、iOS 和 Android)生成客户端 SDK。

开始使用 Amazon API Gateway

创建免费账户

Amazon API Gateway 免费套餐包含每月 100 万次的 API 调用,最长可使用 12 个月。

API-Gateway_PDP-nodivide

Benefit_Tools_Yellow

通过 Amazon API Gateway,您可以根据在 AWS Lambda 中运行的代码快速、轻松地创建自定义 API,然后通过 API 调用 Lambda 代码。Amazon API Gateway 可以用您的账户执行 AWS Lambda 代码、启动 AWS Step Functions 状态机,也可以在 AWS 外部通过可公共访问的 HTTP 端点来调用 AWS Elastic Beanstalk、Amazon EC2 或 Web 服务。利用 Amazon API Gateway 控制台,您可以定义 REST API 及其关联的资源和方法、管理 API 生命周期、生成客户端 SDK,并能查看 API 指标。

APIGateway_Diagram
Benefit_Delivery_Green

Amazon API Gateway 使您可以根据每秒的请求数量来为 API 中的每个 HTTP 方法设置限制规则,从而帮助您管理指向后端系统的流量。此外,您还可以为 API 数据设置包含可自定义密钥和生存时间(以秒为单位)的缓存,以避免每个请求都调用您的后端服务。Amazon API Gateway 可处理 API 接收到的任何级别的流量,因此您可以专注于您的业务逻辑和服务,而不是将时间用在维护基础设施上。

限制和缓存工作流

(点击放大)

限制和缓存工作流
AmazonMachineLearning_Benefit_EasilyCreate

Amazon API Gateway 使您可以同时运行同一 API 的多个版本,以便应用程序即使在最新版本发布以后也可继续调用之前的 API 版本。Amazon API Gateway 还可帮助您管理每个 API 版本的多个发布阶段,如 Alpha、Beta 和生产阶段。每个 API 阶段都可配置为根据 API 设置与不同后端终端节点交互。API 的具体阶段和版本可与一个自定义域名相关,并通过 Amazon API Gateway 进行管理。借助阶段和版本管理,您可以轻松测试在旧版 API 的基础上经过增强或添加了新功能的新版 API,并在您的用户社区转为采用最新版本期间确保向后兼容性。

Benefit_Process_Orange

Amazon API Gateway 可以为大量平台生成客户端 SDK,您可以使用这些客户端 SDK 快速测试您的应用中的新 API,并将 SDK 分发给第三方开发者。生成的 SDK 可以通过 AWS 凭证来处理 API 密钥以及签名请求。Amazon API Gateway 可以为 JavaScript、iOS 和 Android 生成客户端 SDK。

benefit_search

在 API 部署并使用之后,Amazon API Gateway 为您提供了一个控制面板,可直观地监控服务调用的情况。Amazon API Gateway 控制台与 Amazon CloudWatch 集成,因此您可以获得一些后端性能指标,如 API 调用次数、延迟和错误率等。由于 API Gateway 使用 CloudWatch 来记录监控信息,您可以对 Amazon API Gateway API 设置自定义警报。Amazon API Gateway 还可以将 API 执行错误记录到 CloudWatch 日志以简化调试。

benefit_SecurityProductFeatures_network-security

在授权和验证对 AWS 服务的 API 请求方面,API Gateway 可以帮助您利用签名版本 4 进行操作(AWS 对其服务也使用此技术)。借助签名版本 4 身份验证方法,您可以使用 Identity and Access Management (IAM) 和访问策略,授予对您的 API 和其他所有 AWS 资源的访问权限。您还可以使用 AWS Lambda 函数验证持有者令牌(如,JWT 令牌或 SAML 断言)并向其授权。

Benefit_Key-Management_Red

API Gateway 帮助您管理访问您的 API 的第三方开发者生态系统。您可以在 Amazon API Gateway 上创建 API 密钥,对每个 API 密钥设置精细的访问权限,然后将其分发给第三方开发者以访问您的 API。您还可以定义用于为各个 API 密匙设置限制并请求配额限制的计划。API 密钥的使用是完全可选的,并且必须根据各个方法级别启用。