使用 Amazon API Gateway 私有集成构建可扩展架构

作者:API传播员 · 2025-12-30 · 阅读时间:6分钟

这篇文章详细探讨了如何使用 Amazon API Gateway 的私有集成功能来构建可扩展的微服务架构。通过比较 REST 和 HTTP APIs 的不同特性,文章展示了如何设计安全、高效且可扩展的架构方案。以下内容将逐步介绍四种私有集成选项,并分析其优缺点及适用场景。


概述

以下是一个典型的 API 网关实现示例,展示了后端如何与多个微服务集成:

在此场景中,四个微服务可以托管在一个或多个 VPC 中,并通过 VPC 链接与前端负载均衡器和 API 网关进行集成。尽管 VPC 链接提供了与微服务的私有连接,但客户可能还会有以下需求:

  • 增加规模:支持更多微服务的 API 网关。
  • 独立部署:每个微服务拥有专用负载均衡器,支持团队独立执行蓝/绿部署。
  • 降低复杂性:利用现有负载均衡器,无需额外引入新组件。
  • 低延迟:确保 API 请求和响应的延迟最小化。

API 网关支持 HTTP APIs 和 REST APIs(详情请参考 REST APIs 与 HTTP APIs 的选择),这两种类型在大型微服务架构中的集成方式有所不同。以下将介绍四种私有集成选项,并结合 VPC 链接的功能和配额进行分析。


选项1:使用 VPC 链接到多个 NLB 或 ALB 的 HTTP API

HTTP APIs 支持通过单个 VPC 链接连接到多个 ALB、NLB 或其他资源(需在 AWS 云地图中注册)。这种架构采用扇出模式,将流量分发到多个后端微服务,但要求负载均衡器与 VPC 链接位于同一 VPC 内。

扩展方法

  • 在 VPC 的 IP 空间限制内添加更多 ALB 和微服务。
  • 使用网络地址使用(NAU)设计微服务在多个 VPC 之间的分布。
  • 通过添加 VPC 链接扩展到更多 VPC。

优点

  • 高度可扩展性:通过单个 VPC 链接实现多路复用,连接多个微服务。
  • 直接集成:无需引入额外组件,降低运营复杂性。
  • 低延迟:直接集成减少了请求路径中的延迟。
  • 独立部署:每个微服务拥有专用负载均衡器,支持团队独立操作。

选项2:使用多个 VPC 链接的 REST API

REST APIs 的私有集成仅支持通过 NLB 连接微服务,并且每个 VPC 链接只能连接一个目标 NLB。

扩展方法

  • 为每个微服务添加额外的 VPC 链接和 NLB 集成。
  • 根据需求在不同 VPC 中部署微服务。

优点

  • 操作简单:单个 NLB 减少了架构复杂性。
  • 独立部署:每个微服务拥有专用 NLB。
  • 低延迟:请求路径中没有额外跃点。

注意事项

  • 由于 VPC 链接与 NLB 的一对一映射受到配额限制,可扩展性较低。

选项3:使用带有 NLB 的 VPC 链接的 REST API

为了突破选项2的扩展限制,可以通过单个 NLB 支持多个微服务。每个微服务通过不同的监听器和端口进行区分。

扩展方法

  • 在现有 NLB 中添加额外的监听器。
  • 配置每个微服务的专用负载均衡器或接入点。

优点

  • 更高的可扩展性:受 NLB 监听器配额和 VPC 链接配额限制。
  • 降低复杂性:减少需要管理的 NLB 数量。
  • 低延迟:请求路径中仅包含一个 NLB。

注意事项

  • 共享 NLB 配置可能限制微服务团队的独立部署能力。

选项4:使用带有 NLB 和 ALB 目标的 VPC 链接的 REST API

在此选项中,ALB 作为 NLB 的目标,进一步增加了支持的微服务数量。这种架构适合需要通过 ALB 构建微服务的场景。

扩展方法

  • 创建额外的 VPC 链接以集成新的 NLB。
  • 添加 NLB 监听器以支持更多 ALB 目标。
  • 配置 ALB 的基于路径的路由规则,将请求分发到多个微服务。

优点

  • 高可扩展性:支持更多微服务。
  • 独立部署:每个 ALB 专用于单个微服务,支持团队独立操作。

注意事项

  • 请求路径中的多个负载均衡器可能增加延迟。

注意事项和最佳实践

在设计 API 网关架构时,需综合考虑以下因素:

  • 性能与延迟:尽量减少请求路径中的组件数量。
  • 操作需求:选择适合团队独立部署的架构。
  • 配额限制:根据 VPC 链接和负载均衡器的配额规划扩展策略。

结论

本文探讨了基于 Amazon API Gateway 的私有集成架构设计,重点分析了 REST APIs 和 HTTP APIs 在不同场景下的适用性。通过合理利用 VPC 链接和负载均衡器,您可以构建一个高效、安全且可扩展的微服务架构。

设计 API 层时,请务必权衡性能、延迟和操作需求,以优化架构实现。通过本文介绍的四种集成选项,您可以根据具体需求选择最适合的方案,为大规模微服务提供可靠支持。

原文链接: https://aws.amazon.com/blogs/compute/architecting-for-scale-with-amazon-api-gateway-private-integrations/