本文档介绍了 Managed Service for Apache Spark 网络配置的要求。
虚拟私有云子网要求
本文档介绍了 Managed Service for Apache Spark 批处理工作负载和互动式会话的虚拟私有云网络要求。
专用 Google 访问通道
Managed Service for Apache Spark 批量工作负载和互动式会话在仅具有内部 IP 地址的虚拟机上运行,并且在区域子网上运行,该子网会自动启用 专用 Google 访问通道 (PGA)。
如果您未指定子网,Managed Service for Apache Spark 会选择批量工作负载或会话区域中的 default 子网作为批量工作负载或会话的子网。
如果您的工作负载需要访问外部网络或互联网(例如,从 PyTorch Hub 或 Hugging Face 下载机器学习模型等资源),您可以设置 Cloud NAT 以允许使用 VPC 网络中的内部 IP 地址的出站流量。
打开子网连接
为 Managed Service for Apache Spark 批处理工作负载或交互式会话选择的区域所对应的 VPC 子网必须允许子网内的虚拟机实例之间通过所有端口进行内部通信。
为防止一个工作负载中的恶意脚本影响其他工作负载,Managed Service for Apache Spark 会部署默认安全措施。
以下 Google Cloud CLI 命令会将网络防火墙连接到子网,以允许虚拟机之间使用所有端口上的所有协议进行内部入站流量通信:
gcloud compute firewall-rules create allow-internal-ingress \ --network=NETWORK_NAME \ --source-ranges=SUBNET_RANGES \ --destination-ranges=SUBNET_RANGES \ --direction=ingress \ --action=allow \ --rules=all
注意:
SUBNET_RANGES: 请参阅允许虚拟机之间的内部入站连接。具有
default-allow-internal防火墙规则的项目中的defaultVPC 网络允许所有端口(tcp:0-65535、udp:0-65535和icmp protocols:ports)上的入站通信,因此满足开放子网连接要求。不过,此规则还允许网络上的任何虚拟机实例的入站流量。
自动创建的区域级系统防火墙政策
为了满足开放子网连接要求,使用运行时版本 3.0 或更高版本的 Managed Service for Apache Spark 批处理工作负载和交互式会话会在批处理或会话 VPC 子网上自动创建区域系统防火墙政策 dataproc-firewall-policy-[network-id]-region 或 dataproc-fw-[network-id]-region。此政策包含以下入站和出站规则。
| 名称 | 用途 | 优先级 | 方向 | 操作 | 来源和目的地 | 协议和端口 |
|---|---|---|---|---|---|---|
dataproc-allow-internal-ingress-rule-[subnetworkId] |
仅允许同一子网内其他已标记的 Managed Service for Apache Spark 虚拟机进行所有必要的内部通信。 | 4 | INGRESS | 允许 |
srcSecureTag:相应子网的安全标记值。targetSecureTags:相应子网的安全标记值。 |
tcp:0-65535、udp:0-65535、icmp 协议:端口 |
dataproc-allow-internal-egress-rule-[subnetworkId] |
允许 Managed Service for Apache Spark 虚拟机下载软件包(例如 pip 和 apt-get),并使用专用 Google 访问通道访问 Google API。 | 5 | 出口 | 允许 |
destIpRanges:0.0.0.0/0。targetSecureTags:相应子网的安全标记值。 |
tcp:0-65535、udp:0-65535、icmp 协议:端口 |
注意:
Managed Service for Apache Spark 会预配与用户项目关联的租户项目,以存储安全标记。Managed Service for Apache Spark 会在租户项目中为子网创建安全标记,并将其附加到 Managed Service for Apache Spark 虚拟机,从而确保创建的系统防火墙政策仅适用于 Managed Service for Apache Spark 虚拟机。
系统自动创建的防火墙政策不支持共享 VPC。
Managed Service for Apache Spark 和 VPC-SC 网络
借助 VPC Service Controls,网络管理员可以为 Google 托管式服务的资源定义安全边界,以控制与这些服务的通信以及这些服务之间的通信。
将 VPC-SC 网络与 Managed Service for Apache Spark 搭配使用时,请考虑以下策略:
创建自定义容器映像,以在 VPC-SC 边界外预安装依赖项,然后提交使用自定义容器映像的 Spark 批量工作负载。
如需了解详情,请参阅 VPC Service Controls - Managed Service for Apache Spark。