

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

# VPC Lattice 的工作原理
<a name="how-it-works"></a>

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 服务网络流\]](http://docs.aws.amazon.com/zh_cn/vpc-lattice/latest/ug/images/how-it-works.png)


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

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

1. **创建服务网络**

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

1. **创建服务**

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

1. **定义路由**

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

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

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

1. **将服务与服务网络关联**

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

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

1. **创建资源网关**

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

1. **创建资源配置**

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

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

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

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

1. **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 代表这种情况。