如果您的组织向客户提供托管服务,或者只是在组织内部使用服务,则很可能需要通过 VPC 以私有的方式来访问这些服务。在 Google Cloud 环境中,客户越来越多地转向 Private Service Connect,它可以创建从您的 VPC 到 Google、第三方或您自己服务的私有且安全的连接。最近,我们新增了 PSC 接口功能,它允许服务提供方通过共享网络接口来访问使用方的网络,同时仍然保持提供方和使用方角色的分离。

在这篇博文中,我们深入探讨了 PSC 接口——它们如何适应 PSC 环境,以及如何有效地使用它们。

使用 PSC 实现私有访问

假设您在 Google Cloud 中运行一个新的 AI SaaS ,并且您的客户需要在不离开 Google Cloud 的情况下对该服务进行完全私密的访问。如果采用传统的方式,您将会使用到 Private Service Connect 端点将该提供方服务公开给在自己的 VPC 中运行的客户。该访问将通过 PSC 端点(属于其地址空间的单个私有 IP 地址)进行,并且流量将被完全保留在 Google Cloud 内。 

这是托管服务入站走向:流量从使用方客户端流向提供方的托管服务。

但为了让您的 AI 服务正常运行,您还需要启动与使用方的连接以检索模型训练的数据。这是因为客户数据通常驻留在不同位置,例如客户 VPC 中、与其对等的 VPC 中、通过 Cloud NAT 从使用方 VPC 访问的互联网、或者通过 Cloud VPN 或 Cloud Interconnect 从使用方 VPC 访问的本地 。

这种网络模式称为托管服务出站流量,每当托管服务需要启动与其用户的连接时就会存在。 这可以用于各种用例: 

  • 数据处理托管服务需要访问其使用方托管的数据库中的内容

  • 事件中心接收并处理事件触发器,并启动出站连接以将事件发送到其使用方 VPC

专用网络难以实现服务出站流量

对于 PSC 端点来说,流量仅允许在入站位置,因为它必须从使用方发起。这种设计是有意而为之的,因为使用方并不希望提供方访问他们的 VPC,除非他们有明确的授权。

实现服务出站流量的一种方法是反向设置 PSC 端点,其中服务连接和负载均衡器部署在使用方一端。这在小规模下效果很好,但当使用方的 VPC 中存在许多或频繁变化的目的地时,就会面临挑战。它还需要使用方和提供方之间进行更多协调,这可能会带来复杂性和摩擦。

PSC 接口简介

PSC 接口是 PSC 的一种新模式,专为私有、托管服务出站流量而设计,使提供方能够通过共享网络接口(称为 PSC 接口)来访问使用方的网络,同时仍然保持提供方和使用方角色的分离。

PSC 接口通过跨组织多网络接口 VM 结合 PSC 授权模型来实现。除了其本地网络接口之外,提供方虚拟机还可以具有一个或多个 PSC 接口,这些接口实际上驻留在使用方 VPC 中。 PSC 接口具有来自使用方子网的 IP 地址。(注意:这里的“接口”准确地描述了虚拟机操作系统上的 PSC 接口:一个可以直接访问另一个网络的显式网络接口。这就像将以太网电缆直接插入两个组织的网络以将它们连接在一起。)

将此网络接口作为使用方 VPC 中的入口点,提供方 VM 可以访问使用方资源,就像它们驻留在提供方 VPC 本地一样。 PSC 接口在虚拟机的客户操作系统中显示为常规网络接口,因此您可以从强大的操作系统级路由选项的整个工具箱中受益。

由于 PSC 接口是网络接口,本身就具有可传输性,因此提供方可以利用使用方 VPC 作为中转来访问外部目的地。不需要额外的配置。使用方也不需要部署负载均衡器并将目的地配置为目标。它需要创建的只是一个网络连接。该资源为使用方提供控制,允许哪些提供方连接到它,以及哪个子网可用于 PSC 接口的 IP 地址。

以下是创建网络连接的示例:

gcloud compute network-attachments create network-attachment-for-ai-producer \\

    --region=us-west-2 \\

    --connection-preference=ACCEPT_MANUAL \\

    --producer-accept-list=producer-project \\

    --subnets=subnet-to-host-psc-interfaces


输出为:

gcloud compute network-attachments create network-attachment-for-ai-producer \\

Created [https://www.googleapis.com/compute/v1/projects/consumer-project/regions/us-west2/networkAttachments/network-attachment-for-ai-producer]. 


在此基础上,提供方只需创建一个带有 PSC 接口的 VM,该接口引用网络连接。例如:

gcloud compute instances create ai-vm \\

    --zone=us-west-2a \\

    --machine-type=c3-standard-4 \\

    --network-interface network=producer-vm,subnet=producer-subnet,no-address \\

    --network-interface network-attachment=projects/consumer-project/regions/us-west2/networkAttachments/network-attachment-for-ai-producer 

服务间通信

PSC 接口与 PSC 终端节点互为补充,可以在同一 VPC 中一起使用。例如,您可以使用它们使第三方分析服务能够通过与两者都有连接的使用方 VPC 访问不同组织拥有的第三方数据库。

防火墙规则也与 PSC 接口兼容,因此使用方可以使用它们来控制提供方有权访问的内容,无论是本地目标还是远程目标。

简而言之,PSC 接口是 Private Service Connect 的一项强大的新功能,它解决了使用 PSC 端点提供托管服务出站流量时所面临的许多常见难题。 PSC 接口现已推出公共预览版,所以请不要犹豫,即刻尝试它吧!

相关推荐