本文档介绍了 Managed Service for Apache Spark 网络配置的要求。
虚拟私有云子网要求
本文档介绍了 Managed Service for Apache Spark 批处理工作负载和互动式会话的虚拟私有云网络要求。
专用 Google 访问通道
如果您未指定子网,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 | 入站 | 允许 |
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 虚拟机。
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。