Cloud Endpoints 简介

Endpoints 是一种分布式 API 管理系统,该系统提供了 API 控制台、托管、日志记录、监控等功能,可帮助您创建、共享、维护和保护 API。本页面简要介绍了适用于 OpenAPI 的 Cloud Endpoints。如需了解 Endpoints 支持的其他类型的 API 框架,请参阅所有 Endpoints 文档

Endpoints 可与分布式 Extensible Service Proxy (ESP) 或 Extensible Service Proxy V2 (ESPv2) 搭配使用。每个代理可为下述平台提供支持:

  • App Engine 柔性环境(仅 ESP)
  • Google Kubernetes Engine(ESP 或 ESPv2)
  • Compute Engine(ESP 或 ESPv2)
  • Kubernetes(ESP 或 ESPv2)
  • App Engine 标准环境(仅 ESPv2)
  • Cloud Functions(仅 ESPv2)
  • Cloud Run(仅 ESPv2)
  • Cloud Run for Anthos(仅 ESPv2)

使用 ESP 的 Endpoints

Endpoints 采用分布式 Extensible Service Proxy (ESP) 提供低延迟的高性能服务,可满足最苛刻的 API 要求。ESP 是一种基于 NGINX 的服务代理,可以按需扩缩以处理同时发送至 API 的请求,让您安心无虞。ESP 在自己的 Docker 容器中运行,可以实现更好的隔离性和可伸缩性。此外,ESP 分布在 Container Registry 中。您可将它与以下平台搭配使用:

使用 ESPv2 的 Endpoints

ESPv2 是一种基于 Envoy 的可扩缩高性能代理,它在 OpenAPI 或 gRPC API 后端的前面运行。ESPv2 支持 OpenAPI 规范的第 2 版和 gRPC 规范。您可将它与以下平台搭配使用:

  • GKE
  • Compute Engine
  • Kubernetes
  • App Engine 标准环境
  • Cloud Functions
  • Cloud Run
  • Cloud Run for Anthos

Endpoints API 管理功能

无论您是将 Endpoints 与 ESP 还是 ESPv2 搭配使用,它都可以提供许多重要的 API 管理功能,使您能够开发、监控和控制对 API 的访问权限。

日志和指标

Endpoints 使用 Service Infrastructure 来管理 API 并报告日志和指标。大多数 Google Cloud APIs 都使用这一基础架构。您可以在 Google Cloud Console 中的 Endpoints 服务页面上管理和监控您的 API。

API 托管

Endpoints 针对 Docker 容器环境进行了优化。您可以在支持 Docker 的任何环境中托管 API,但前提是该环境能够通过互联网访问 Google Cloud。

通过适用于 OpenAPI 的 Endpoints 开发 REST API

Endpoints 与语言无关。您可以使用 OpenAPI 配置文件以任何支持 API 说明的语言和 REST 框架构建 API。

要使用适用于 OpenAPI 的 Endpoints,请执行以下操作:

  • 配置 Endpoints:在 OpenAPI 配置文件中描述 API 表面并配置 Endpoints 功能(例如 API 密钥或身份验证规则)。

  • 部署 Endpoints 配置:在 OpenAPI 配置文件中定义了 API 后,使用 Cloud SDK 将其部署到 Service Management,然后 Endpoints 会使用 Service Management 来管理您的 API。现在,Endpoints 全面了解了 API 的情况并知道如何确保其安全。

  • 部署 API 后端:将 ESP 或 ESPv2 以及 API 后端部署到受支持的 Google Cloud 后端,例如 Compute Engine。ESP 会与 Endpoints 后端服务协同运作,以在运行时保护和监控您的 API。

控制 API 访问权限

Endpoints 可让您将 API 配置为要求所有调用提供 API 密钥,并对该 API 密钥进行验证。您还可以使用 Google Cloud Console 与其他开发者共享您的 API,以便他们能够启用您的 API 并生成 API 密钥进行调用。

对 API 用户进行身份验证

大多数 API 调用的另一端都有一位用户。API 密钥可以表明哪个应用正在调用您的 API,而身份验证流程则可确定哪个用户正在使用该应用。

请注意,您的 API 服务器仍需要决定通过身份验证的用户可对您的 API 执行哪些操作。如需了解详情,请参阅 Google Cloud 身份验证指南

后续步骤

  • 实践 Endpoints 快速入门中的操作,以熟悉部署步骤并查看 Endpoints 功能的实际效果。该快速入门使用脚本将示例 API 部署到 App Engine 柔性后端。

  • 通过逐步完成其中一个教程,详细了解如何使用 Endpoints。