VPC Lattice 的工作原理 - Amazon VPC Lattice

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

VPC Lattice 的工作原理

VPC Lattice旨在帮助您轻松有效地发现、保护、连接和监控其中的所有服务。VPC Lattice 中的每个组件根据组件与服务网络的关联以及访问设置,在服务网络内进行单向或双向通信。访问设置由此通信所需的验证和授权策略组成。

以下摘要描述了 VPC Lattice 内组件之间的通信:

  • 与服务网络关联的服务可以从 VPC 与服务网络关联的客户端接收请求。

  • 仅当客户端位于与同一服务网络关联的 VPC 中时,客户端才可以向与该服务网络关联的服务发送请求。遍历 VPC 对等连接或中转网关的客户端流量会被拒绝。

  • 客户端无法向与服务网络关联的其他 VPC 中的客户端发送请求。

  • 与服务网络关联的 VPC 中服务的目标也是客户端,可以向与服务网络关联的其他服务发送请求。

  • 与服务网络无关的 VPC 中服务的目标不是客户端,无法向与服务网络关联的其他服务发送请求。

以下流程图使用示例场景解释 VPC Lattice 内组件之间的信息流和通信方向。有两个服务与服务网络关联。这两个服务和三个 VPC 都是在与服务网络相同的账户中进行创建。这两个服务都配置为允许来自服务网络的流量。

VPC 服务网络流

服务 1 是在一组实例上运行的计费应用程序,这些实例已在 VPC 1 的目标组 1 中注册。服务 2 是在一组实例上运行的支付应用程序,这些实例已在 VPC 2 的目标组 2 中注册。VPC 3 处于同一账户中,有客户端但没有服务。

以下列表按顺序描述了 VPC Lattice 的典型任务工作流。

  1. 创建服务网络

    服务网络所有者创建服务网络。

  2. 创建服务

    服务所有者创建相应的服务:服务 1 和服务 2。在创建过程中,服务所有者会添加侦听器,并为每项服务定义将请求路由到目标组的规则。

  3. 定义路由

    服务所有者为每个服务创建目标组(目标组 1 和目标组 2)。通过指定运行服务的目标资源(例如实例)来进行创建。服务所有者还指定了这些目标所在的 VPC。

    在上图中,从服务指向目标组的虚线箭头表示从每个服务流向相应目标组的流量。虚线箭头表示服务和目标组之间的通信方向。

  4. 将服务与服务网络关联

    服务网络所有者或服务所有者将服务与服务网络关联。这些关联显示为带有复选标记的箭头,从服务指向服务网络。当您将服务与服务网络关联时,与该服务网络关联的 VPC 中的其他服务和客户端将会发现该服务。

    服务和服务网络之间的双向虚线箭头表示关联后的双向通信。从服务网络到服务的虚线箭头表示从客户端接收请求的服务。相反方向的虚线箭头(从服务到服务网络)表示,通过服务网络响应客户端请求的服务。

  5. 将 VPC 与服务网络关联

    服务网络所有者将 VPC 1 和 VPC 3 与服务网络关联。这些关联显示为带有复选标记的箭头,指向服务网络。通过这些关联,这些 VPC 中的目标将成为客户端,可以向关联的服务发出请求。VPC 3 和服务网络之间的双向虚线箭头表示,关联后 VPC 3 中的客户端(例如实例)和服务网络之间的双向通信。同样,从目标组 1 指向服务网络的虚线箭头表示,客户端向与该服务网络关联的其他服务发出请求。

    注意,VPC 2 没有表示关联的箭头或复选标记。这意味着服务网络所有者或服务所有者尚未将 VPC 2 与服务网络关联。这是因为在本例中,服务 2 只需要使用相同的请求来接收请求和发送响应。换句话说,服务 2 的目标不是客户端,不需要向服务网络中的其他服务发出请求。