Private Service Connect
本文档简要介绍了 Private Service Connect。
Private Service Connect 是 Google Cloud 网络的一项功能,允许使用方从其 VPC 网络内部以私密方式访问托管式服务。同样,它允许托管式服务提供方在其各自的 VPC 网络中托管这些服务,并为其使用方提供专用连接。 例如,当您使用 Private Service Connect 访问 Cloud SQL 时,您是服务使用方,而 Google 是服务提供方。
借助 Private Service Connect,使用方可以使用自己的内部 IP 地址访问服务,而无需离开其 VPC 网络。流量完全保留在 Google Cloud 中。 Private Service Connect 可在使用方和提供方之间提供面向服务的访问权限,并精细控制服务的访问方式。
Private Service Connect 支持访问以下类型的托管式服务:
- 已发布的 VPC 托管服务,其中包括:
- Google 发布的服务,例如 Apigee 或 GKE 控制平面
- Private Service Connect 合作伙伴提供的第三方发布的服务
- 组织内部发布的服务,其中使用方和提供方可能是同一公司中的两个不同的 VPC 网络
- Google API,例如 Cloud Storage 或 BigQuery
Private Service Connect 提供具有以下特征的专用连接:
- 面向服务的设计:提供方服务通过将单个 IP 地址公开给使用方 VPC 网络的负载均衡器发布。访问提供方服务的使用方流量是单向的,只能访问服务 IP 地址,而无权访问整个对等互连的 VPC 网络。
- 显式授权:Private Service Connect 会提供授权模型,使使用方和提供方能够进行精细控制,从而确保只有预期的服务端点可以连接到服务,而其他资源无法连接到服务。
- 无共享依赖项:使用方和提供方之间的流量使用 NAT,因此使用方 VPC 网络与提供方 VPC 网络之间不存在 IP 地址协调或其他共享资源依赖项。这种独立性可简化部署,并可让您更轻松地扩缩托管式服务。
- 线路速率性能:Private Service Connect 流量直接从使用方客户端流向提供方后端,没有中间跃点或代理。NAT 直接在托管使用方和提供方虚拟机的物理宿主机上执行,从而缩短了延迟时间并增加了带宽容量。Private Service Connect 的带宽容量仅受直接通信的客户端和服务器机器的带宽容量限制。
Private Service Connect 类型
Private Service Connect 有各种类型,可提供不同的功能和通信模式。
服务提供方通过创建 Private Service Connect 服务将其应用发布给使用方。服务使用方通过以下 Private Service Connect 类型之一直接访问这些 Private Service Connect 服务:
- Private Service Connect 端点:端点使用转发规则进行部署,转发规则会为使用方提供映射到 Private Service Connect 服务的 IP 地址。
- Private Service Connect 后端:后端使用网络端点组 (NEG) 进行部署,让使用方能够在访问 Private Service Connect 服务之前将流量定向到其负载均衡器。
服务提供方可以使用 Private Service Connect 接口启动与服务使用方的连接。Private Service Connect 接口提供双向通信,可以在端点和后端所在的 VPC 网络中使用。
端点
Private Service Connect 端点是使用方 VPC 网络中的内部 IP 地址,该网络中的客户端可以直接访问这些地址。端点通过部署引用服务连接或 Google API 软件包的转发规则来创建。
下图展示了以在单独的 VPC 网络和组织中运行的已发布服务为目标的 Private Service Connect 端点。Private Service Connect 端点和发布的服务可让两个独立公司使用内部 IP 地址相互通信。如需了解详情,请参阅通过端点访问已发布服务的简介。
同样,Private Service Connect 端点可用于访问 Cloud Storage 或 BigQuery 等 Google API。此功能类似于专用 Google 访问通道,不同之处在于您可以为端点使用自己的内部 IP 地址。借助 Private Service Connect,您可以更直接地控制路由,并为网络创建任意数量的端点。如需了解详情,请参阅关于通过端点访问 Google API。
后端
借助 Private Service Connect 后端,Google Cloud 负载均衡器可通过 Private Service Connect 发送流量以访问已发布的服务或 Google API。后端通过引用提供方服务连接或受支持的 Google API 的 Private Service Connect 网络端点组 (NEG) 进行部署。与通过 Private Service Connect 端点相比,将负载均衡器放置在托管式服务的前面可为使用方提供更高的可见性和控制。后端允许您创建如下配置:
- 托管式服务前面的客户拥有的网域和证书
- 不同区域中的托管式服务之间使用方控制的故障切换
- 针对托管式服务的集中式安全配置和访问权限控制
下图展示了通过引用已发布服务的 Private Service Connect 后端部署的内部应用负载均衡器。配置中有两个负载均衡器:
- 使用方负载均衡器,可为流向服务的流量提供控制、可见性和安全性。
- 提供方负载均衡器,对服务后端之间的流量进行负载均衡。
与 Private Service Connect 端点类似,后端还支持定位 Google API。下图展示了以 Cloud Storage 存储桶为目标并使用客户拥有的网域终止流量的内部应用负载均衡器。
接口
Private Service Connect 接口是一种与网络连接关联的特殊类型的网络接口。
服务提供方可以创建 Private Service Connect 接口并请求与网络连接的连接。如果服务使用方接受连接,Google Cloud 会为该接口分配一个由网络连接指定的使用方 VPC 网络中的子网的 IP 地址。Private Service Connect 接口的虚拟机具有第二个标准网络接口,该接口可连接到提供方 VPC 网络。
Private Service Connect 接口与网络连接之间的连接类似于 Private Service Connect 端点与服务连接之间的连接,但存在两个主要区别:
- Private Service Connect 接口允许提供方 VPC 网络发起与使用方 VPC 网络的连接(托管式服务出站流量)。端点反向工作,让使用方 VPC 网络发起与提供方 VPC 网络的连接(托管式服务入站流量)。
- Private Service Connect 接口连接具有传递性。 这意味着提供方网络中的工作负载可以发起与连接到使用方 VPC 网络的其他工作负载的连接。Private Service Connect 端点只能发起与提供方 VPC 网络的连接。
Private Service Connect 托管式服务
托管式服务是服务使用方以外的其他人拥有和管理的服务。Private Service Connect 可用于访问 Google、第三方软件即服务 (SaaS) 公司或使用方自己公司内的其他团队拥有的托管式服务。已发布的服务和 Google API 都可以作为 Private Service Connect 的目标。
已发布的服务
已发布的服务是部署在提供方的 VPC 网络并从使用方的 VPC 网络访问的 VPC 托管服务。发布服务可让服务提供方拥有并控制该服务在其自己的 VPC 网络中的部署。已发布的服务可能包括以下各项:
- Google 服务,例如 GKE、Apigee 或 Cloud Composer。这些服务在 Google 管理的租户项目和 VPC 网络中运行。
- 第三方服务,即第三方提供对 Google Cloud 中已发布服务的专用访问通道。
- 组织内部服务,即一个公司的客户端访问位于不同 VPC 网络中的内部应用。某些组织使用单独的 VPC 网络进行内部分段。通过该配置,一个团队可以向另一个在单独的 VPC 网络中运营的团队提供托管式服务。
服务连接
服务连接是用于创建 Private Service Connect 发布的服务的资源。
您可以使用端点或后端访问服务连接。多个后端或端点可以连接到同一个服务连接,从而允许多个 VPC 网络或多个使用方访问同一个服务实例。
服务连接以提供方负载均衡器为目标,可让使用方 VPC 网络中的客户端访问该负载均衡器。服务连接配置定义了以下各项:
- 使用方接受列表,用于定义允许哪些使用方连接到服务。
- 提供方 VPC 网络中的已转换流量来源于的 NAT 子网。
- 可选的 DNS 网域(如果提供),用于在使用方的 Cloud DNS 区域中自动创建的端点的 DNS 条目。
Google API
使用 Private Service Connect 访问 Google API 是使用专用 Google 访问通道或 Google API 的公共域名的替代方案。在这种情况下,提供方是 Google。
您可以使用端点或后端访问 Google API。
- 通过端点,您可以定位一组全球 Google API 或单个区域性 Google API。
- 通过后端,您可以定位单个全球 Google API 或单个区域性 Google API。
使用 Private Service Connect 可以执行以下操作:
- 创建一个或多个内部 IP 地址,以访问适用于不同应用场景的 Google API。
- 访问 Google API 时,将本地流量定向到特定 IP 地址和区域。
- 通过 HTTP(S) 负载均衡器集中 Google API 流量,以应用您自己的证书、安全政策或可观测性。
后续步骤
- 完成以下 Codelab 之一:
- 了解如何通过端点访问已发布的服务。
- 了解如何通过端点访问 Google API。
- 了解后端。
- 了解如何发布服务。