本文說明 Dataproc Serverless for Spark 網路設定的必要條件。
虛擬私有雲子網路需求
本文件說明 Dataproc Serverless 針對 Spark 批次工作負載和互動式工作階段的虛擬私有雲網路需求。
私人 Google 存取權
Dataproc Serverless 批次工作負載和互動式工作階段會在僅有內部 IP 位址的 VM 上執行,並在自動啟用 私人 Google 存取權 (PGA) 的區域子網路上執行。
如果未指定子網路,Dataproc 無伺服器會選取批次工作負載或工作階段區域中的 default
子網路,做為批次工作負載或工作階段的子網路。
如果工作負載需要外部網路或網際網路存取權,例如從 PyTorch Hub 或 Hugging Face 下載 ML 模型等資源,您可以設定 Cloud NAT,讓 VPC 網路中的內部 IP 使用傳出流量。
開放式子網路連線
為 Dataproc 無伺服器型批次工作負載或互動式工作階段選取的區域所用的虛擬私有雲子網路,必須允許 VM 執行個體之間的所有連接埠進行內部子網路通訊。
下列 Google Cloud CLI 指令會將網路防火牆連結至子網路,允許 VM 在所有連接埠上使用所有通訊協定進行內部傳入通訊:
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: 請參閱「允許 VM 之間的內部傳入連線」。在設有
default-allow-internal
防火牆規則的專案中,default
虛擬私有雲網路可允許所有連接埠 (tcp:0-65535
、udp:0-65535
和icmp protocols:ports
) 的入站通訊,符合開放子網路連線的要求。不過,這項規則也允許網路上任何 VM 執行個體的傳入。
Dataproc Serverless 和 VPC-SC 網路
透過 VPC Service Controls,網路管理員可以定義 Google 代管服務資源的安全範圍,藉此控管對這些服務和服務之間的通訊。
搭配 Dataproc Serverless 使用 VPC-SC 網路時,請留意下列策略:
建立自訂容器映像檔,預先安裝虛擬私有雲安全性群組範圍外的依附元件,然後提交使用自訂容器映像檔的 Spark 批次工作負載。
詳情請參閱「VPC Service Controls - Dataproc Serverless for Spark」。