

# 什么是 Amazon API Gateway？
<a name="welcome"></a>

Amazon API Gateway 是一项AWS服务，用于创建、发布、维护、监控和保护任意规模的 REST、HTTP 和 WebSocket API。API 开发人员可以创建能够访问 AWS 或其他 Web 服务以及存储在 [AWS 云](https://aws.amazon.com/what-is-cloud-computing/)中的数据的 API。作为 API Gateway API 开发人员，您可以创建 API 以在您自己的客户端应用程序中使用。或者，您可以将您的 API 提供给第三方应用程序开发人员。有关更多信息，请参阅 [谁使用 API Gateway？](api-gateway-overview-developer-experience.md#apigateway-who-uses-api-gateway)。

API Gateway 创建符合下列条件的 RESTful API：
+ 基于 HTTP 的。
+ 启用无状态客户端-服务器通信。
+ 实施标准 HTTP 方法例，如 GET、POST、PUT、PATCH 和 DELETE。

有关 API Gateway REST API 和 HTTP API 的更多信息，请参阅 [在 REST API 和 HTTP API 之间进行选择](http-api-vs-rest.md)、[API Gateway HTTP API](http-api.md)、[使用 API Gateway 创建 REST API](api-gateway-overview-developer-experience.md#api-gateway-overview-rest) 和 [开发 API Gateway 中的 REST API](rest-api-develop.md)。

API Gateway 创建以下 WebSocket API：
+ 遵守 [WebSocket](https://datatracker.ietf.org/doc/html/rfc6455) 协议，从而支持客户端和服务器之间的有状态的全双工通信。
+ 基于消息内容路由传入的消息。

有关 API Gateway WebSocket API 的更多信息，请参阅 [使用 API Gateway 创建 WebSocket API](api-gateway-overview-developer-experience.md#api-gateway-overview-websocket)和 [API Gateway 中的 WebSocket API 概览](apigateway-websocket-api-overview.md)。

**Topics**
+ [API Gateway 的架构](#api-gateway-overview-aws-backbone)
+ [API Gateway 的功能](#api-gateway-overview-features)
+ [API Gateway 使用案例](api-gateway-overview-developer-experience.md)
+ [访问 API Gateway](#introduction-accessing-apigateway)
+ [AWS 无服务器基础设施的一部分](#api-gateway-overview-a-serverless-pillar)
+ [了解如何开始使用 Amazon API Gateway](#welcome-how-to-get-started)
+ [Amazon API Gateway 概念](api-gateway-basic-concept.md)
+ [在 REST API 和 HTTP API 之间进行选择](http-api-vs-rest.md)
+ [开始使用 REST API 控制台](getting-started-rest-new-console.md)

## API Gateway 的架构
<a name="api-gateway-overview-aws-backbone"></a>

下图显示 API Gateway 架构。

![\[API Gateway 架构图\]](http://docs.aws.amazon.com/zh_cn/apigateway/latest/developerguide/images/Product-Page-Diagram_Amazon-API-Gateway-How-Works.png)


此图表说明您在 Amazon API Gateway 中构建的 API 如何为您或开发人员客户提供用于构建AWS无服务器应用程序的集成且一致的开发人员体验。API Gateway 将处理涉及接受和处理多达几十万个并发 API 调用的所有任务。这些任务包括流量管理、授权和访问控制、监控以及 API 版本管理。

API Gateway 充当应用程序从后端服务访问数据、业务逻辑或功能的“前门”，例如，在 Amazon Elastic Compute Cloud (Amazon EC2) 上运行的负载、在 AWS Lambda 上运行的代码、任何 Web 应用程序或实时通信应用程序。

## API Gateway 的功能
<a name="api-gateway-overview-features"></a>

Amazon API Gateway 提供如下功能：
+ 支持有状态 ([WebSocket](apigateway-websocket-api.md)) 和无状态（[HTTP](http-api.md) 和 [REST](apigateway-rest-api.md)）API。
+ 强大且灵活的[身份验证](apigateway-control-access-to-api.md)机制，如 AWS Identity and Access Management 策略、Lambda 授权方函数和 Amazon Cognito 用户池。
+ 用以安全地推出更改的[金丝雀版本部署](canary-release.md)。
+ [CloudTrail](cloudtrail.md) 记录和监控 API 使用情况和 API 更改。
+ CloudWatch 访问日志记录和执行日志记录，包括设置警报的能力。有关更多信息，请参阅[使用 Amazon CloudWatch 指标监控 REST API 执行](monitoring-cloudwatch.md) 和 [使用 CloudWatch 指标监控 WebSocket API 执行](apigateway-websocket-api-logging.md)。
+ 能够使用 CloudFormation 模板以支持创建 API 有关更多信息，请参阅 [Amazon API Gateway 资源类型参考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ApiGateway.html)和 [Amazon API Gateway V2 资源类型参考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ApiGatewayV2.html)。
+ 支持[自定义域名](how-to-custom-domains.md)。
+ 与 [AWS WAF](apigateway-control-access-aws-waf.md) 集成，以保护您的 API 免遭常见 Web 漏洞的攻击。
+ 与 [AWS X-Ray](apigateway-xray.md) 集成，以了解和分类性能延迟。

有关 API Gateway 功能版本的完整列表，请参阅[文档历史记录](history.md)。

## 访问 API Gateway
<a name="introduction-accessing-apigateway"></a>

您可以通过以下方式访问 Amazon API Gateway：
+ **AWS 管理控制台** – AWS 管理控制台提供用于创建和管理 API 的 Web 界面。完成[设置为使用 API Gateway](setting-up.md)中的步骤后，您可以访问 API Gateway 控制台：[https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway)。
+ **AWS开发工具包** – 如果您使用AWS为其提供开发工具包的编程语言，可以使用开发工具包访问 API Gateway。开发工具包可简化身份验证、与您的开发环境轻松集成，并有助于访问 API Gateway 命令。有关更多信息，请参阅[用于 Amazon Web Services 的工具](https://aws.amazon.com/developer/tools/)。
+ **API Gateway V1 和 V2 API** – 如果您使用的是开发工具包不适用的编程语言，请参阅 [Amazon API Gateway 版本 1 API 参考](https://docs.aws.amazon.com/apigateway/latest/api/API_Operations.html)和 [Amazon API Gateway 版本 2 API 参考](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/api-reference.html)。
+ **AWS Command Line Interface** – 有关更多信息，请参阅 *AWS Command Line Interface 用户指南*中的[开始设置 AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/)。
+ **AWS Tools for Windows PowerShell** – 有关更多信息，请参阅 *AWS Tools for PowerShell 用户指南*中的[设置 AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/)。

## AWS 无服务器基础设施的一部分
<a name="api-gateway-overview-a-serverless-pillar"></a>

API Gateway 与 [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/) 共同构成AWS无服务器基础设施中面向应用程序的部分。要了解有关无服务器入门的更多信息，请参阅[无服务器开发人员指南](https://docs.aws.amazon.com/serverless/latest/devguide/welcome.html)。

对于调用公开可用的AWS服务的应用程序，您可以使用 Lambda 与所需的服务进行交互，或在 API Gateway 中通过 API 方法公开 Lambda 函数。AWS Lambda 在高度可用的计算基础设施上运行您的代码。它会进行必要的计算资源执行和管理工作。为了启用无服务器应用程序，API Gateway 支持与 AWS Lambda 以及 HTTP 端点之间的[简化代理集成](api-gateway-set-up-simple-proxy.md)。

## 了解如何开始使用 Amazon API Gateway
<a name="welcome-how-to-get-started"></a>

有关 Amazon API Gateway 的简介，请参阅以下内容：
+ [开始使用 API Gateway](getting-started.md)，提供了创建 HTTP API 的演练步骤。
+ [无服务器 land](https://serverlessland.com/video?tag=Amazon%20API%20Gateway)，提供了教学视频。
+ [快乐的小 API 短视频](https://www.youtube.com/playlist?list=PLJo-rJlep0EDFw7t0-IBHffVYKcPMDXHY)，这是一系列简短的教学视频。