Netzwerkkonfiguration für Managed Service for Apache Spark

Wenn Sie ein VPC-Netzwerk (Virtual Private Cloud) für Managed Service for Apache Spark konfigurieren, können Sie Arbeitslasten sicher mit internen Projektressourcen und Google APIs verbinden. Diese Subnetzwerk- und Firewalleinstellungen ermöglichen es Spark-Treibern und ‑Executoren, direkt miteinander zu kommunizieren, während die Sicherheitsrichtlinien Ihrer Organisation eingehalten werden.

Anforderungen an VPC-Netzwerk

In diesem Dokument werden die VPC-Netzwerkanforderungen für Batcharbeitslasten und interaktive Sitzungen von Managed Service for Apache Spark beschrieben.

Privater Google-Zugriff

Batcharbeitslasten und interaktive Sitzungen von Managed Service for Apache Spark werden auf VMs mit ausschließlich internen IP-Adressen und in einem regionalen Subnetz ausgeführt, für das der privater Google-Zugriff-Zugriff automatisch aktiviert ist.

Wenn Sie kein Subnetz angeben, wählt Managed Service for Apache Spark das Subnetz default in der Region der Batcharbeitslast oder Sitzung als Subnetz für eine Batcharbeitslast oder Sitzung aus.

Wenn Ihre Arbeitslast Zugriff auf ein externes Netzwerk oder das Internet benötigt, z. B. um Ressourcen wie ML-Modelle von PyTorch Hub oder Hugging Face herunterzuladen, können Sie Cloud NAT einrichten, um ausgehenden Traffic über interne IP-Adressen in Ihrem VPC-Netzwerk zuzulassen.

Offene Subnetzkonnektivität

Das VPC-Subnetz für die Region, die für die Batcharbeitslast oder interaktive Sitzung des Managed Service for Apache Spark ausgewählt wurde, muss die interne Kommunikation auf allen Ports zwischen VM-Instanzen im Subnetz zulassen.

Damit schädliche Skripts in einer Arbeitslast keine anderen Arbeitslasten beeinträchtigen, stellt Managed Service for Apache Spark Standardsicherheitsmaßnahmen bereit.

Mit dem folgenden Google Cloud CLI-Befehl wird eine Netzwerk-Firewall an ein Subnetz angehängt, die die interne eingehende Kommunikation zwischen VMs über alle Protokolle und Ports zulässt:

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

Hinweise:

  • SUBNET_RANGES: Siehe Interne eingehende Verbindungen zwischen VMs zulassen. Das VPC-Netzwerk default in einem Projekt mit der Firewallregel default-allow-internal, die eingehende Kommunikation auf allen Ports (tcp:0-65535, udp:0-65535 und icmp protocols:ports) zulässt, erfüllt die Anforderung für die Verbindung mit offenen Subnetzen. Diese Regel lässt jedoch auch eingehenden Traffic von jeder VM-Instanz im Netzwerk zu.

Automatisch erstellte regionale System-Firewallrichtlinie

Um die Anforderung für die Konnektivität offener Subnetze zu erfüllen, erstellen Batcharbeitslasten und interaktive Sitzungen von Managed Service for Apache Spark, die die Laufzeitversion 3.0 oder höher verwenden, automatisch eine regionale System-Firewallrichtlinie dataproc-firewall-policy-[network-id]-region oder dataproc-fw-[network-id]-region im VPC-Subnetz für den Batch oder die Sitzung. Diese Richtlinie enthält die folgenden Regeln für eingehenden und ausgehenden Traffic.

Name Zweck Priorität Richtung Aktion Quelle und Ziel Protokoll und Ports
dataproc-allow-internal-ingress-rule-[subnetworkId] Ermöglicht die gesamte erforderliche interne Kommunikation nur von anderen getaggten Managed Service for Apache Spark-VMs im selben Subnetz. 4 EINGEHEND ZULASSEN
  • srcSecureTag: Sicherer Tag-Wert für dieses Subnetz.
  • targetSecureTags:Wert des sicheren Tags für dieses Subnetz.
  • tcp:0-65535, udp:0-65535, icmp protocols:ports
    dataproc-allow-internal-egress-rule-[subnetworkId] Ermöglicht Managed Service for Apache Spark-VMs, Pakete wie pip und apt-get herunterzuladen und über den privater Google-Zugriff auf Google APIs zuzugreifen. 5 AUSGEHEND ZULASSEN
  • destIpRanges: 0.0.0.0/0.
  • targetSecureTags:Wert des sicheren Tags für dieses Subnetz.
  • tcp:0-65535, udp:0-65535, icmp protocols:ports

    Hinweise:

    • Managed Service for Apache Spark stellt ein Mandantenprojekt bereit, das mit dem Nutzerprojekt verknüpft ist, um sichere Tags zu speichern. Managed Service for Apache Spark erstellt ein sicheres Tag für das Subnetz im Mandantenprojekt und hängt es an Managed Service for Apache Spark-VMs an. Dadurch wird sichergestellt, dass die erstellte System-Firewallrichtlinie nur für Managed Service for Apache Spark-VMs gilt.

    • Automatisch erstellte System-Firewallrichtlinien werden für gemeinsam genutzte VPCs nicht unterstützt.

    Managed Service for Apache Spark und VPC-SC-Netzwerke

    Mit VPC Service Controls können Netzwerkadministratoren einen Sicherheitsbereich für Ressourcen aus von Google verwalteten Diensten festlegen, um die Kommunikation mit und zwischen diesen Diensten zu steuern.

    Berücksichtigen Sie die folgenden Strategien, wenn Sie VPC-SC-Netzwerke mit Managed Service for Apache Spark verwenden:

    Weitere Informationen finden Sie unter VPC Service Controls – Managed Service for Apache Spark.