通过端点访问已发布服务的简介
本文档简要介绍如何使用 Private Service Connect 端点连接到另一个 VPC 网络中的服务。您可以连接到自己的服务,或其他服务提供方(包括 Google)提供的服务。
客户端使用内部 IP 地址连接到端点。Private Service Connect 执行网络地址转换 (NAT),以将请求路由到服务。
如需详细了解已发布的服务,请参阅已发布服务简介。
功能和兼容性
在下表中,对勾标记表示某功能受支持,否定符号表示某功能不受支持。
使用方配置
下表总结了访问已发布服务的端点支持的配置选项和功能。
使用方配置(端点) | 提供方负载均衡器 | |||
---|---|---|---|---|
内部直通式网络负载均衡器 | 区域级内部应用负载均衡器 | 区域级内部代理网络负载均衡器 | 内部协议转发(目标实例) | |
使用方全球访问权限 |
与负载均衡器上的全球访问权限设置无关 |
仅当创建服务连接之前在负载均衡器上启用全球访问权限时 |
仅当创建服务连接之前在负载均衡器上启用全球访问权限时 |
与负载均衡器上的全球访问权限设置无关 |
Cloud VPN 流量 | ||||
自动 DNS 配置 | 仅限 IPv4 | 仅限 IPv4 | 仅限 IPv4 | 仅限 IPv4 |
连接传播 | 仅限 IPv4 | 仅限 IPv4 | 仅限 IPv4 | 仅限 IPv4 |
IPv4 端点 |
|
|
|
|
IPv6 端点 |
|
|
|
|
提供方配置
下表总结了端点访问的已发布服务支持的配置选项和功能。
提供方配置(已发布服务) | 提供方负载均衡器 | |||
---|---|---|---|---|
内部直通式网络负载均衡器 | 区域级内部应用负载均衡器 | 区域级内部代理网络负载均衡器 | 内部协议转发(目标实例) | |
支持的提供方后端: |
|
|
|
不适用 |
PROXY 协议 | 仅限 TCP 流量 | 仅限 TCP 流量 | ||
会话亲和性模式 | 无(5 元组) CLIENT_IP_PORT_PROTO |
不适用 | 不适用 | 不适用 |
IP 版本 |
|
|
|
|
不同的负载均衡器支持不同的端口配置:有些负载均衡器支持单个端口,有些支持一系列端口,有些支持所有端口。如需了解详情,请参阅端口规范。
限制
访问已发布服务的端点具有以下限制:
您不能在您要访问的已发布服务所在的同一 VPC 网络中创建端点。
无法从对等互连的 VPC 网络访问端点。
数据包镜像无法镜像 Private Service Connect 发布的服务流量的数据包。
并非所有具有负载均衡器下一个跃点的静态路由都受 Private Service Connect 支持。如需了解详情,请参阅具有负载均衡器下一个跃点的静态路由。
Connectivity Tests 无法测试 IPv6 端点与已发布服务之间的连接。
本地访问
用于访问 Google API 的端点可以从支持的已连接本地主机进行访问。如需了解详情,请参阅从混合网络访问端点。
规格
- Private Service Connect 端点必须在已发布服务(即端点的目标)所在的区域中创建。
- 必须在不同于包含目标服务的 VPC 网络的 VPC 网络中创建端点。
- 如果您使用共享 VPC,则可以在宿主项目或服务项目中创建端点。
- 默认情况下,端点只能由与端点位于同一区域和同一 VPC 网络(或共享 VPC 网络)的客户端访问。如需了解如何在其他区域提供端点,请参阅全球访问权限。
-
您分配给端点的 IP 地址必须来自常规子网。
- 您可以使用仅限 IPv4 子网或双栈子网中的 IPv4 地址。
- 如果双栈子网具有内部 IPv6 地址范围,您可以使用该子网中的 IPv6 地址。
- IP 地址的 IP 版本会影响端点可以连接到的已发布服务。如需了解详情,请参阅 IP 版本转换。
- 该 IP 地址会计入静态内部 IPv4 地址或 静态内部 IPv6 地址的项目配额。
- 当您创建连接到服务的端点时,如果服务配置了 DNS 域名,则系统会自动在您的 VPC 网络中为该端点创建专用 DNS 条目。
- 每个端点都有自己的唯一 IP 地址,并且可以有自己的唯一 DNS 名称。
连接状态
Private Service Connect 端点、后端和服务连接具有连接状态,用于描述其连接的状态。 构成连接两端的使用方和提供方资源始终具有相同的状态。 当您查看端点详细信息、描述后端或查看已发布服务的详细信息时,您可以查看连接状态。
下表介绍了可能的状态。
连接状态 | 说明 |
---|---|
已接受 | 已建立 Private Service Connect 连接。两个 VPC 网络具有连接,并且连接正常运行。 |
待处理 | 未建立 Private Service Connect 连接,并且网络流量无法在两个网络之间传输。连接可能处于以下状态,原因如下: 由于这些原因而被阻止的连接将无限期地保持在挂起状态,直到根本问题得到解决。 |
已拒绝 | 未建立 Private Service Connect 连接。网络流量无法在两个网络之间传输。连接可能处于以下状态,原因如下: |
需要注意或未指定 | 连接的提供方端出现问题。某些流量可能能够在两个网络之间流动,但某些连接可能无法正常运行。例如,提供方的 NAT 子网可能已用尽,无法为新连接分配 IP 地址。 |
不开放 | 服务连接已删除,Private Service Connect 连接已关闭。网络流量无法在两个网络之间传输。 连接关闭是一种终止状态。如需恢复连接,您必须重新创建服务连接和端点或后端。 |
IP 版本转换
对于已发布服务和服务连接的 Private Service Connect 端点之间的连接,使用方转发规则的 IP 地址的 IP 版本决定了端点的 IP 版本以及端点的出站流量。端点的 IP 版本可以是 IPv4 或 IPv6,但不能同时是这两者。如果 IPv4 地址的子网是单栈,则使用方可以使用该地址。如果 IPv4 或 IPv6 地址的子网是双栈,则使用方可以使用该地址。使用方可以将 IPv4 和 IPv6 端点同时连接到同一服务连接,这对于将服务迁移到 IPv6 很有帮助。
对于已发布服务和服务连接的 Private Service Connect 端点之间的连接,提供方转发规则的 IP 版本决定了服务连接的 IP 版本以及服务连接的出站流量。服务连接的 IP 版本可以是 IPv4 或 IPv6,但不能同时是这两者。如果 IPv4 地址的子网是单栈,则提供方可以使用该地址。如果 IPv4 或 IPv6 地址的子网是双栈,则提供方可以使用该地址。
提供方转发规则的 IP 地址的 IP 版本必须与服务连接的 NAT 子网的堆栈类型兼容。如果提供方转发规则为 IPv4,则 NAT 子网可以是单栈或双栈。如果提供方转发规则为 IPv6,则 NAT 子网必须是双栈。
Private Service Connect 不支持将 IPv4 端点与 IPv6 服务连接相连接。在这种情况下,端点创建会失败,并显示以下错误消息:
Private Service Connect forwarding rule with an IPv4 address
cannot target an IPv6 service attachment.
支持的配置可以使用以下组合:
- IPv4 端点到 IPv4 服务连接
- IPv6 端点到 IPv6 服务连接
-
IPv6 端点到 IPv4 服务连接
在此配置中,Private Service Connect 会自动在两个 IP 版本之间进行转换。
连接传播
借助传播的连接,一个使用方 VPC spoke 中可通过 Private Service Connect 端点访问的服务可以由连接到同一 Network Connectivity Center hub 的其他使用方 VPC spoke 以私密方式访问。
如需了解详情,请参阅传播连接简介。
全球访问权限
用于访问服务的 Private Service Connect 端点是区域级资源。但是,您可以通过配置全球访问权限,在其他区域提供端点。
全球访问权限允许任何区域中的资源将流量发送到 Private Service Connect 端点。您可以使用全球访问权限为托管在多个区域的服务提供高可用性,或允许客户端访问与其不在同一区域的服务。
下图展示了不同区域中的客户端访问同一端点:
端点位于
us-west1
中并配置了全球访问权限。us-west1
中的虚拟机可以将流量发送到端点,并且流量在同一区域内流动。us-east1
中的虚拟机和本地网络中的虚拟机也可以连接us-west1
中的端点,即便它们位于不同的区域。虚线表示区域间流量路径。
全球访问权限规范
您可以随时为端点开启或关闭全球访问权限。
- 开启全球访问权限不会导致现有连接发生流量中断。
- 关闭全球访问权限会终止来自端点所在区域以外的区域的所有连接。
并非所有 Private Service Connect 服务都支持具有全球访问权限的端点。请咨询您的服务提供方,确认其服务是否支持全球访问。如需了解详情,请参阅受支持的配置。
全球访问权限不会为多个全球访问端点提供单个全球 IP 地址或 DNS 名称。
共享 VPC
Service Project Admin 可以在共享 VPC 服务项目中创建使用来自共享 VPC 网络的 IP 地址的端点。配置与常规端点的配置相同,但该端点使用的是从共享 VPC 的共享子网预留的 IP 地址。
IP 地址资源可以在服务项目或宿主项目中预留。IP 地址的来源必须是与服务项目共享的子网。
如需了解详情,请参阅使用来自共享 VPC 网络的 IP 地址创建端点。
VPC Service Controls
VPC Service Controls 和 Private Service Connect 彼此兼容。如果部署了 Private Service Connect 端点的 VPC 网络位于 VPC Service Controls 边界内,则端点属于同一边界。任何通过端点访问的 VPC Service Controls 支持的服务都受该 VPC Service Controls 边界的政策约束。
创建端点时,使用方和提供方项目之间会进行控制平面 API 调用,以建立 Private Service Connect 连接。在位于同一 VPC Service Controls 边界内的使用方和提供方项目之间建立 Private Service Connect 连接不需要使用出站流量政策进行明确授权。通过端点与 VPC Service Controls 支持的服务进行的通信受 VPC Service Controls 边界保护。
具有负载均衡器下一个跃点的静态路由
静态路由可以配置为使用作为下一个跃点的内部直通式网络负载均衡器的转发规则 (--next-hop-ilb
)。Private Service Connect 并不完全支持此类型的所有路由。
当路由和端点位于同一 VPC 网络和区域中时,使用 --next-hop-ilb
指定内部直通式网络负载均衡器转发规则名称的静态路由可用于向 Private Service Connect 端点发送流量,以及从该端点接收流量。
Private Service Connect 不支持以下路由配置:
- 使用
--next-hop-ilb
指定内部直通式网络负载均衡器转发规则的 IP 地址的静态路由。 - 使用
--next-hop-ilb
指定 Private Service Connect 端点转发规则的名称或 IP 地址的静态路由。
日志记录
您可以在包含使用端点访问另一个 VPC 网络中服务的虚拟机的子网上启用 VPC 流日志。日志显示虚拟机与端点之间的流。
您可以使用审核日志来查看端点连接状态的变化情况。端点的连接状态变化情况会被捕获到 GCE 转发规则类型的资源的系统事件元数据中。您可以通过过滤
pscConnectionStatus
来查看这些条目。例如,当服务提供方允许来自您项目的连接时,端点的连接状态会由
PENDING
变为ACCEPTED
,并且此变化会反映在审核日志中。
价格
如需了解 Private Service Connect 的价格,请参阅 VPC 价格页面。
配额
您可以创建用于访问已发布服务的端点的数量由 PSC Internal LB Forwarding Rules
配额控制。如需了解详情,请参阅配额。
组织政策限制条件
Organization Policy Administrator 可以使用 constraints/compute.disablePrivateServiceConnectCreationForConsumers
限制条件来定义一组端点类型,以禁止用户为这些类型的端点创建转发规则。
如需了解如何创建使用此限制条件的组织政策,请参阅禁止使用方按连接类型部署端点。