View a markdown version of this page

VPC Lattice 的工作原理 - Amazon VPC Lattice

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

VPC Lattice 的工作原理

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

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

  • VPC 可以通过两种方式连接到服务网络:通过 VPC 关联和通过服务网络类型的 VPC 终端节点。

  • 与服务网络关联的服务和资源可以接收来自 VPCs 也连接到服务网络的客户端的请求。

  • 只有当客户端位于连接到同一服务网络的 VPC 中时,该客户端才能向与服务网络关联的服务和资源发送请求。仅当 VPC 通过 VPC 终端节点连接到服务网络时,通过 VPC 对等连接、传输网关、Direct Connect 或 VPN 的客户端流量才能到达资源和服务。

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

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

  • VPCs 中拥有资源但 VPC 未与服务网络关联的客户端不是客户端,也无法向与服务网络关联的其他服务和资源发送请求。

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

VPC 服务网络流

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

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

  1. 创建服务网络

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

  2. 创建服务

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

  3. 定义路由

    服务所有者为每个服务创建目标组(目标组 1 和目标组 2)。他们通过指定运行服务的目标实例来做到这一点。它们还指定 VPCs 了这些目标所在的。

    在上图中,实心箭头表示将流量路由到目标组的服务,以及路由到资源的资源配置。

    VPC Lattice 支持可用区 (AZ) 关联性来路由流量。当客户端向 VPC Lattice 发送请求时,VPC Lattice 会使用与客户端位于同一可用区的服务或资源的 IP 地址进行响应。如果该可用区不可用,VPC Lattice 将使用其他 AZs可用区的 IP 地址进行响应。从 VPC Lattice 到目标,路由是指向可能分布在各 AZs处的目标。此外,VPC Lattice 不收取可用区间数据传输费用。

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

    服务网络所有者或服务所有者将服务与服务网络关联。这些关联显示为带有复选标记的箭头,从服务指向服务网络。当您将服务与服务网络关联时,与该服务网络关联的其他服务以及 VPCs 连接到该服务网络的客户端可以发现该服务。

    服务网络和目标组之间的虚线箭头表示连接建立的方向。使用服务网络将流量返回到客户端。此图中不包括代表返回流量的箭头。

  5. 创建资源网关

    资源所有者在 VPC 4 中创建资源网关,以便能够实现从客户端到资源 1 的连接。

  6. 创建资源配置

    资源所有者创建代表资源 1 的资源配置,并为资源 1 指定资源网关。

  7. 将资源配置与服务网络相关联

    服务网络所有者或资源所有者将资源配置与服务网络相关联。关联显示为带有复选标记的箭头,指向资源配置中的服务网络。当您将资源配置与服务网络关联时,与该服务网络关联的其他服务和 VPCs 连接到服务网络的客户机可以发现该资源配置。

    从服务网络到资源的虚线箭头表示接收来自客户端的请求的资源。使用服务网络将流量返回到客户端。此图中不包括代表返回流量的箭头。

  8. Connect VPCs 与服务网络连接

    VPCs 可以通过两种方式与服务网络连接:将 VPC 关联到服务网络,或者创建 VPC 终端节点。在这里,服务网络所有者将 VPC 1 和 VPC 3 与服务网络关联。关联使用指向服务网络的带有复选标记的箭头显示。通过这些关联,VPC 中的任何资源都可以充当客户端,并可以向服务网络内的服务发出请求。VPC 1 和服务网络之间的虚线箭头表示建立连接的方向。服务网络仅启动与服务 1 目标组所针对的资源的连接。VPC 1 中的任何资源都可以充当客户端,发起与服务网络、服务和资源的连接。

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

    同样,VPC 4 没有代表关联的箭头或复选标记。这意味着服务网络所有者或资源所有者尚未将 VPC 4 与服务网络关联。这是因为资源 1 仅使用相同的请求接收请求和发送响应。它无法向服务网络中的其他服务和资源发出请求。

总而言之,下图显示了以下场景:

  • VPCs 仅提供从 VPC 莱迪思到其资源的入口连接。VPC 2 和 VPC 4 代表这些场景。

  • 一个 VPC 仅提供从其资源到 VPC Lattice 的出口连接。VPC 3 代表了这种情况。

  • 一个 VPC,具有从 VPC Lattice 到其资源的入口连接以及从其资源到 VPC Lattice 的出口连接。VPC 1 代表这种情况。