Das VPC-Subnetzwerk, das zum Ausführen von Dataproc Serverless für Spark-Arbeitslasten verwendet wird, muss die folgenden Anforderungen erfüllen:
Offene Subnetzverbindung: Das Subnetz muss die Subnetzkommunikation an allen Ports zulassen. Mit dem folgenden gcloud-Befehl wird eine Netzwerkfirewall an eine Subnetz, das eingehende Kommunikation mit allen Protokollen an allen Ports ermöglicht:
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: Ansehen
Lassen Sie interne eingehende Verbindungen zwischen VMs zu.
Das VPC-Netzwerk
default
in einem Projekt mit der Firewallregeldefault-allow-internal
, die eingehende Kommunikation an allen Ports (tcp:0–65535, udp:0–65535 und icmp-Protokolle:Ports) zulässt, erfüllt die Anforderung für die offene Subnetzverbindung. Es ermöglicht jedoch auch, von einer beliebigen VM-Instanz im Netzwerk eingehen.
- SUBNET_RANGES: Ansehen
Lassen Sie interne eingehende Verbindungen zwischen VMs zu.
Das VPC-Netzwerk
Privater Google-Zugriff:Das Subnetz muss Privater Google-Zugriff aktiviert.
- Externer Netzwerkzugriff. Wenn Ihre Arbeitslast einen externen Netzwerk- oder Internetzugriff erfordert, können Sie Cloud NAT einrichten, um ausgehenden Traffic mithilfe interner IP-Adressen in Ihrem VPC-Netzwerk zuzulassen.
Serverlose Dataproc- und VPC-SC-Netzwerke
Mit VPC Service Controls können Administratoren einen Sicherheitsbereich für Ressourcen aus von Google verwalteten Diensten festlegen, um die Kommunikation mit und zwischen diesen Diensten zu steuern.
Beachten Sie die folgenden Einschränkungen und Strategien bei der Verwendung von VPC-SC-Netzwerken mit Serverloses Dataproc:
Wenn Sie Abhängigkeiten außerhalb des VPC-SC-Bereichs installieren möchten, erstellen Sie ein benutzerdefiniertes Container-Image, in dem die Abhängigkeiten vorinstalliert sind, und reichen Sie eine Spark-Batch-Arbeitslast ein, die Ihr benutzerdefiniertes Container-Image verwendet.