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