Verbindungsprobleme bei Batches und Sitzungen beheben

Auf dieser Seite finden Sie eine Anleitung zur Diagnose und Behebung häufiger Probleme mit der Netzwerk verbindung für Serverless for Apache Spark-Batcharbeitslasten und interaktive Sitzungen. Diese Probleme können verhindern, dass Ihre Arbeitslasten auf erforderliche Datenquellen, externe Dienste oder Google Cloud APIs zugreifen.

Häufige Symptome und Fehlermeldungen

Wenn bei Serverless for Apache Spark Verbindungsprobleme auftreten, können folgende Fehler auftreten:

  • Unable to connect to service_name.googleapis.com
  • Could not reach required Google APIs
  • Connection refused
  • Host unreachable
  • Operation timed out
  • Permission denied (oft netzwerkbezogen, wenn API-Aufrufe blockiert werden)

Es können auch Fehler beim Zugriff auf Daten in Cloud Storage, BigQuery oder anderen Datenbanken auftreten.

Häufige Ursachen und Tipps zur Fehlerbehebung

In diesem Abschnitt werden häufige Ursachen für Verbindungsprobleme bei Serverless for Apache Spark aufgeführt und Tipps zur Fehlerbehebung gegeben.

Netzwerkkonfiguration

Fehlkonfigurationen des Netzwerks sind eine häufige Ursache für Verbindungsfehler. Serverless for Apache Spark-Arbeitslasten und -Sitzungen werden auf VMs mit internen IP-Adressen ausgeführt. Der private Google-Zugriff (Private Google Access, PGA) ist automatisch im Subnetz der Arbeitslast oder Sitzung aktiviert, um auf Google APIs und Google-Dienste zuzugreifen. Weitere Informationen finden Sie unter Netzwerkkonfiguration für Serverless for Apache Spark.

  • Zugriffsoptionen:

    • Private Service Connect (PSC): Sie können private Endpunkte in Ihrem VPC-Netzwerk erstellen, um auf bestimmte Google APIs zuzugreifen.

      • Wechseln Sie in der Google Cloud Console zu Private Service Connect > Endpunkte. Verbinden Sie Endpunkte oder bestätigen Sie, dass Endpunkte für alle erforderlichen APIs wie storage.googleapis.com und dataproc.googleapis.com verbunden sind und dass sie eine Verbindung zum VPC-Netzwerk (Virtual Private Cloud) der Batcharbeitslast oder Sitzung herstellen.
    • Cloud NAT: Wenn Ihre Arbeitslast auf das öffentliche Internet zugreifen muss, können Sie Cloud NAT für Ihre Batcharbeitslast oder Sitzung konfigurieren:

      • Wechseln Sie in der Google Cloud Console zur Seite Cloud NAT. Konfigurieren Sie ein Gateway oder bestätigen Sie, dass ein Gateway für das VPC-Netzwerk, die Region und das Subnetz der Batch arbeitslast oder Sitzung konfiguriert ist. Achten Sie außerdem darauf, dass Firewallregeln den ausgehenden Traffic zu 0.0.0.0/0 zulassen. Weitere Informationen finden Sie unter Cloud NAT einrichten.
  • Firewallregeln:

    • Ausgehende Firewallregeln in Ihrem VPC Netzwerk (oder im Hostprojekt des freigegebenen VPC-Netzwerks, falls zutreffend) dürfen den ausgehenden Traffic zu erforderlichen Zielen nicht blockieren.
      • Falls zutreffend, müssen ausgehende Regeln Traffic zu externen Diensten, wie öffentlichen APIs und Datenbanken außerhalb von Google Cloudzulassen. Wenn Ihre Batcharbeitslast oder Sitzung Internetzugriff benötigt, können Sie mit Cloud NAT ausgehenden Traffic für das Subnetz bereitstellen.
    • Übermäßig restriktive Regeln für eingehenden Traffic sind zwar keine häufige Ursache für Verbindungsprobleme, können aber versehentlich erforderlichen Rücktraffic oder die interne Kommunikation blockieren.
  • DNS-Auflösung:

    • Die DNS-Auflösung muss im VPC Netzwerk konfiguriert sein. Arbeitslasten und Sitzungen müssen Hostnamen für Google APIs wie storage.googleapis.com oderbigquery.googleapis.com und externe Dienste auflösen können.
    • Benutzerdefinierte DNS-Server und private Cloud DNS-Zonen müssen Abfragen für Google-Domains weiterleiten oder auflösen.
    • Wenn Sie Private Service Connect für den privaten Zugriff auf Google APIs verwenden, müssen DNS-Einträge für Google-Dienste über den PSC-Endpunkt in private IP-Adressen in Ihrem VPC-Netzwerk aufgelöst werden.

Tipps zur Fehlerbehebung:

  • Netzwerk- und Subnetzkonfiguration ermitteln:

    • Prüfen Sie in den Details der Serverless for Apache Spark-Batcharbeitslast oder -Sitzung networkUri und subnetUri.
    • Prüfen Sie in der Google Cloud Console die Einstellungen für das VPC-Netzwerk und das Subnetz.
  • Verbindung von einer Proxy-VM testen:

    • Starten Sie eine Compute Engine-Test-VM im Subnetz der Batcharbeitslast oder Sitzung mit dem Dienstkonto der Batcharbeitslast oder Sitzung.
    • Führen Sie auf der Test-VM die folgenden Verbindungstests aus:
      • nslookup storage.googleapis.com, um die DNS-Auflösung zu prüfen. Suchen Sie nach anderen Google API-Domains wie bigquery.googleapis.comund dataproc.googleapis.com. Mit dem privaten Google-Zugriff, der automatisch in Serverless for Apache Spark-Subnetzen aktiviert ist, oder Private Service Connect, müssen die Domains in private IP-Adressen aufgelöst werden.
      • curl -v https://storage.googleapis.com, um die HTTPS-Verbindung zu Google APIs zu prüfen. Versuchen Sie auch, eine Verbindung zu anderen Google-Diensten herzustellen.
      • ping 8.8.8.8, um die Internetverbindung zu testen, falls für Ihre Batcharbeitslast oder Sitzung erforderlich. Versuchen Sie curl -v https://example.com, wenn Cloud NAT erwartet wird.
    • Führen Sie Google Cloud Network Intelligence Center-Verbindungstests aus, um Netzwerkpfade von Ihrem Subnetz zu relevanten Endpunkten wie Google APIs und externen IP-Adressen zu diagnostizieren.
  • In Cloud Logging nach Netzwerkfehlern suchen:

    • Prüfen Sie die Logs für Ihre Serverless for Apache Spark-Arbeitslast oder Sitzung. Suchen Sie nach ERROR oder WARNING Meldungen im Zusammenhang mit Netzwerk-Time-outs, Verbindungsablehnungen oder API-Aufruffehlern. Filtern Sie nach jsonPayload.component="driver" oder jsonPayload.component="executor", um nach Spark-spezifischen Netzwerkproblemen zu suchen.

IAM-Berechtigungen

Unzureichende IAM-Berechtigungen können verhindern, dass Arbeitslasten oder Sitzungen auf Ressourcen zugreifen. Wenn API-Aufrufe abgelehnt werden, kann dies zu Netzwerkfehlern führen.

Das von Ihrer Batcharbelast oder Sitzung verwendete Dienstkonto muss die erforderlichen Rollen haben:

  • Dataproc-Worker-Rolle (roles/dataproc.worker).
  • Rollen für den Datenzugriff wie roles/storage.objectViewer oder roles/bigquery.dataViewer).
  • Logging: (roles/logging.logWriter).

Tipps zur Fehlerbehebung:

  • Ermitteln Sie das Dienstkonto der Batcharbeitslast oder Sitzung service account. Wenn es nicht angegeben ist, wird standardmäßig das Compute Engine-Standarddienstkonto verwendet.
  • Rufen Sie in der Google Cloud Console die Seite IAM & Verwaltung > IAM auf, suchen Sie nach dem Dienstkonto der Batcharbeitslast oder Sitzung und prüfen Sie, ob es die erforderlichen Rollen für Arbeitslastvorgänge hat. Weisen Sie alle fehlenden Rollen zu.

Konfiguration externer Dienste

Wenn Ihre Arbeitslast eine Verbindung zu Datenbanken oder Diensten außerhalb von Google Cloud, prüfen Sie die Konfiguration:

  • Prüfen Sie, ob die Firewall oder Sicherheitsgruppe des externen Dienstes eingehende Verbindungen von den IP-Bereichen Ihres VPC-Netzwerks zulässt. Prüfen Sie gegebenenfalls interne IP-Adressen mit VPC-Peering, Cloud VPN oder Cloud Interconnect, oder Cloud NAT-IP-Adressen.
  • Prüfen Sie die Anmeldedaten der Datenbank oder die Verbindungsstrings. Prüfen Sie die Verbindung sdetails, Nutzernamen und Passwörter.

Nächste Schritte