本页面提供了有关在使用 Private Service Connect 时为 Dataproc 集群配置网络连接的指南。本文介绍了 Private Service Connect 与 Virtual Private Cloud 对等互连在不同 Dataproc 使用情形下的互动。本文还总结了专用 Google 访问通道、Private Service Connect 和 Cloud NAT 之间的功能异同。
概览
Dataproc 集群需要与Google Cloud API 和服务(例如 Dataproc API、Cloud Storage 和 Cloud Logging)以及用户资源(例如其他 Virtual Private Cloud 网络或本地环境中的数据源)建立网络连接。
默认情况下,使用映像版本 2.2
及更高版本创建的 Dataproc 集群仅使用内部 IP 地址创建。Dataproc 会在仅使用内部 IP 地址的集群所用的区域子网上自动启用专用 Google 访问通道,以便在不连接到公共互联网的情况下连接到 Google API 和服务。
为了提供更精细的网络控制,您可以配置集群以使用 Private Service Connect,该服务通过 VPC 网络中的专用端点将流量路由到受支持的 Google API 和服务。这有助于提高安全性和合规性。
常见的专用网络选项
本部分介绍了专用 Google 访问通道、Private Service Connect 和 Cloud NAT 的功能和区别。
专用 Google 访问通道是一种单向路径,可让虚拟机在不使用互联网的情况下访问 Google 公共服务。它类似于从您的小区(VPC 子网)直接通往 Google 服务商场的特殊道路出口,可绕过公共道路。社区中的所有人都可以使用。对于使用映像版本
2.2
及更高版本创建的 Dataproc Serverless 集群,Dataproc 会自动在这些集群使用的区域子网上启用专用 Google 访问通道。Private Service Connect 会为位于 VPC 网络中的服务创建专用双向端点。它类似于从您的位置(VPC 网络)直接进入服务的专用私密路径。它在您的位置有一个地址(VPC 网络中的内部 IP 地址),并且只有您可以使用该地址。
借助 Cloud NAT,具有专用 IP 地址的虚拟机可以访问互联网。
功能和差异
功能 | 专用 Google 访问通道 (PGA) | Private Service Connect (PSC) |
---|---|---|
工作原理 | 将来自虚拟机的流量定向到特殊的 Google IP 地址范围 (private.googleapis.com )。 |
在 VPC 网络中创建一个表示 Google 服务的转发规则(端点)。 |
IP 地址 | 您的虚拟机连接到 Google 拥有的 IP 地址。 | 您的虚拟机连接到您在 VPC 网络中拥有的内部 IP 地址。 |
方向 | 仅限出站:您的虚拟机启动与 Google 的连接。 | 双向:您的虚拟机连接到服务,并且服务可以发起回程流量。 |
范围 | 针对整个子网启用或停用。 | 部署为特定的端点资源。 |
服务 | 仅连接到 Google API,例如 Cloud Storage、BigQuery 或 Dataproc API。 | 可连接到 Google API、其他公司的服务以及您自己的服务。 |
对于 Dataproc,专用 Google 访问通道是一种更简单、更传统的方法,可让集群虚拟机与 Dataproc 控制平面通信。Private Service Connect 是一种更新颖、更灵活的方法,可让您实现精细的控制,尤其是在复杂或多租户网络中。
为什么要使用 Private Service Connect?即使您的 Dataproc 集群仅具有启用了专用 Google 访问通道的内部 IP 地址(2.2+
映像版本集群的默认配置),Private Service Connect 仍具有以下优势:
Private Service Connect 可让您在 VPC 网络内创建一个具有内部 IP 地址的专用端点,该端点直接映射到特定的 Google 服务,而无需使用专用 Google 访问通道共享的端点集来连接到 Google API 和服务。
您可以创建防火墙规则,以仅允许流量流向 Private Service Connect 端点 IP 地址。例如,您可以配置一条规则,该规则仅允许从 Dataproc 集群虚拟机流向 BigQuery 的 Private Service Connect 端点的内部 IP 地址的出站流量,同时拒绝所有其他出站流量。与使用专用 Google 访问通道创建范围更广的防火墙规则相比,这种方法更安全。
使用 VPC 网络中的 Private Service Connect 端点可明确网络路径,并更轻松地审核安全性与合规性,因为流向 Cloud Storage 等服务的流量不会与其他 API 流量共用路径。
专用路径和公共路径
专用 Google 访问通道、Private Service Connect 和 Cloud NAT 可让具有 RFC 1918
地址的主机访问Google Cloud 服务。它们还允许具有专用 RFC 1918
地址的 Google Cloud 资源启动与 Google Cloud 服务的连接。
评估不同的连接选项时,需要注意的一个重要区别是,使用相应连接的流量是保持私密状态还是通过公共互联网传输。
专用 Google 访问通道和 Private Service Connect 可确保流量保留在 Google 的专用网络内。数据不会通过公共互联网传输到 Google Cloud 服务,这非常适合需要安全性和可预测性能的场景。
Cloud NAT 通过连接到服务的公共端点来访问 Google Cloud 服务。流量通过 NAT 网关离开 VPC 网络,并通过互联网传输。
每种选项的运作方式
下面详细介绍了每种连接机制:
方法 | 服务路径 | 目标端点 | 主要用途 |
---|---|---|---|
专用 Google 访问通道 | Google 专用网络 | 特殊 Google IP 地址 (private.googleapis.com ) |
简单、子网级的访问权限,可让虚拟机私密地访问 Google API。 |
Private Service Connect | Google 专用网络 | VPC 网络内的专用 IP 地址端点 | 对 Google API、第三方服务或您自己的服务进行精细的安全访问。 |
Cloud NAT | 公共互联网 | 服务公共 IP 地址 | 为具有专用 IP 地址的虚拟机提供通用出站互联网访问权限。 |
配置 Private Service Connect
如需将 Private Service Connect 与 Dataproc 集群搭配使用,您必须在 VPC 网络中为 Dataproc 所依赖的所有 Google API 配置必要的 Private Service Connect 端点和 DNS。如需了解有关设置子网和配置 DNS 的说明,请参阅关于通过端点访问 Google API。
根据需要启用对等互连
虽然 Private Service Connect 可提供对许多 Google 服务的私密访问权限,但您可能还需要启用 VPC 对等互连,尤其是在以下场景中:
其他虚拟私有云网络:Private Service Connect 连接到 Google 代管式服务,而不是直接连接到其他客户 VPC 网络。如果您的数据源、自定义应用或其他服务与 Dataproc 集群位于不同的 VPC 网络中,通常需要进行 VPC 对等互连,才能在这两个网络之间实现私密通信。
本地网络:如果您的 Dataproc 集群需要访问本地环境中的数据或服务,则需要通过 Cloud VPN 或 Cloud Interconnect 连接到本地网络,通常还需要进行 VPC 对等互连。
与 Google 服务进行全面的内部通信:虽然 Private Service Connect 可提供对已配置的 Google 服务(例如 Cloud Storage 和 BigQuery)的私密访问权限,但内部控制平面通信或特定的 Dataproc 功能可能需要与具有广泛 Google 服务访问权限的网络进行 VPC 对等互连,才能访问底层 Google 基础架构或其他 Google API。
访问其他 VPC 网络中的数据源:如果您的 Dataproc 作业从位于其他 VPC 网络中的数据源(例如 Cloud SQL、自行管理的数据库和自定义应用)读取数据或向这些数据源写入数据,则必须在 Dataproc 集群 VPC 网络与包含这些数据源的 VPC 网络之间建立 VPC 对等互连。Private Service Connect 不提供客户自有网络之间的 VPC 网络间通信。
混合连接:对于混合云部署,如果 Dataproc 集群需要与本地数据中心内的资源进行交互,则必须使用 Cloud VPN 或 Cloud Interconnect 将本地网络连接到 Google Cloud VPC 网络,才能实现 VPC 对等互连。
排查 Private Service Connect 问题
如果您的 Dataproc 集群(使用 Private Service Connect,但不使用 VPC 对等互连)无法创建或存在连接问题,请按以下步骤操作,以帮助排查和解决问题:
确认所需的 API 访问权限:
- 验证是否已在您的 Google Cloud 项目中启用所有必需的 Google API。
验证 Private Service Connect 端点配置:
验证 Private Service Connect 端点是否已针对集群所需的所有 Google API(例如
dataproc.googleapis.com
、storage.googleapis.com
、logging.googleapis.com
、bigquery.googleapis.com
、compute.googleapis.com
)正确配置。使用 VPC 子网中的虚拟机中的
dig
或nslookup
等工具,确认所需服务的 DNS 记录是否通过 Private Service Connect 端点正确解析为 VPC 网络中的专用 IP 地址。
检查防火墙规则:
验证 VPC 网络中的防火墙规则是否允许从 Dataproc 集群实例到 Private Service Connect 端点的出站连接。
如果使用共享 VPC,请验证是否已在宿主项目中配置适当的防火墙规则。
检查 Dataproc 集群日志:
- 在 Logging 中查看集群创建日志,了解是否存在任何与网络相关的错误,例如
connection refused
、timeout
或“unreachable host
”。这些错误可能表明缺少路由或防火墙规则不正确。检查集群实例的串行控制台日志。
- 在 Logging 中查看集群创建日志,了解是否存在任何与网络相关的错误,例如
评估是否需要 VPC 对等互连:
根据工作负载依赖项,如果您的 Dataproc 集群需要连接到非 Google 管理的资源(例如单独 VPC 网络中的数据库和本地服务器),请建立 VPC 对等互连。
检查 Dataproc 集群与之互动的Google Cloud 服务的网络要求。即使使用 Private Service Connect,某些服务也可能有特定的对等互连要求。
遵循最佳做法
全面的网络架构规划:在部署使用 Private Service Connect 的 Dataproc 之前,请仔细设计网络架构,并考虑所有隐式和显式依赖关系以及数据流路径。这包括确定 Dataproc 集群在预配和运行期间与之交互的所有 Google API。
测试连接:在开发和过渡阶段,全面测试从 Dataproc 集群到所有必需服务和数据源的网络连接。
使用 Network Intelligence Center:使用 Google Cloud Network Intelligence Center 工具(例如连接测试)诊断和排查网络连接问题。
后续步骤
- 详细了解 Private Service Connect。
- 了解 VPC 网络对等互连。
- 了解 Dataproc 集群网络配置。