Risolvere i problemi di connettività di batch e sessioni

Questa pagina fornisce indicazioni sulla diagnosi e la risoluzione dei problemi di connettività di rete comuni per i workload batch e le sessioni interattive di Managed Service for Apache Spark. Questi problemi possono impedire ai workload di accedere alle origini dati richieste, ai servizi esterni o alle Google Cloud API.

Sintomi e messaggi di errore comuni

Quando Managed Service for Apache Spark rileva problemi di connettività, potresti riscontrare errori come:

  • Unable to connect to service_name.googleapis.com
  • Could not reach required Google APIs
  • Connection refused
  • Host unreachable
  • Operation timed out
  • Permission denied (spesso correlato alla rete se blocca le chiamate API)

Potresti anche riscontrare errori relativi all'accesso ai dati in Cloud Storage, BigQuery o altri database.

Cause comuni e suggerimenti per la risoluzione dei problemi

Questa sezione elenca le cause comuni dei problemi di connettività di Managed Service for Apache Spark e fornisce suggerimenti per la risoluzione dei problemi per aiutarti a risolverli.

Configurazione di rete

Le configurazioni errate della rete sono una causa frequente di errori di connettività. I workload e le sessioni di Managed Service for Apache Spark vengono eseguiti su VM con indirizzi IP interni, con l'accesso privato Google (PGA) abilitato automaticamente sulla subnet del workload o della sessione per accedere alle API di Google e ai servizi. Per saperne di più, consulta Configurazione di rete di Managed Service for Apache Spark.

  • Opzioni di accesso:

    • Private Service Connect (PSC): puoi creare endpoint privati all'interno della rete VPC per accedere a specifiche API di Google.

      • Nella Google Cloud console, vai a Private Service Connect > Endpoint. Collega gli endpoint o verifica che siano collegati per tutte le API richieste, come storage.googleapis.com e dataproc.googleapis.com, e che si connettano alla rete Virtual Private Cloud del workload batch o della sessione.
    • Cloud NAT: se il tuo workload deve accedere alla rete internet pubblica, puoi configurare Cloud NAT per la subnet del workload batch o della sessione:

      • Nella Google Cloud console, vai alla pagina Cloud NAT. Configura un gateway o verifica che sia configurato per la rete VPC, la regione e la subnet del workload batch o della sessione. Assicurati inoltre che le regole firewall consentano il traffico in uscita verso 0.0.0.0/0. Per saperne di più, consulta Configura Cloud NAT.
  • Regole firewall:

    • Le regole firewall in uscita nella rete VPC (o nel progetto host della rete VPC condivisa, se applicabile) non devono bloccare il traffico in uscita verso le destinazioni richieste.
      • Se applicabile, le regole in uscita devono consentire il traffico verso servizi esterni, come API pubbliche e database esterni a Google Cloud. Se il workload batch o la sessione necessita dell'accesso a internet, puoi utilizzare un Cloud NAT per fornire il traffico in uscita dalla subnet.
    • Sebbene non sia una causa comune di problemi di connettività, le regole in entrata eccessivamente restrittive potrebbero bloccare inavvertitamente il traffico di ritorno necessario o le comunicazioni interne.
  • Risoluzione DNS:

    • La risoluzione DNS deve essere configurata all'interno della rete VPC. I workload e le sessioni devono essere in grado di risolvere i nomi host per le API di Google, come storage.googleapis.com o bigquery.googleapis.com, e i servizi esterni.
    • I server DNS personalizzati e le zone private di Cloud DNS devono inoltrare o risolvere le query per i domini Google.
    • Se utilizzi Private Service Connect per l'accesso privato alle API di Google, i record DNS per i servizi Google devono essere risolti in indirizzi IP privati all'interno della rete VPC utilizzando l'endpoint PSC.

Suggerimenti per la risoluzione dei problemi:

  • Identifica la configurazione di rete e subnet:

    • Dai dettagli del batch o della sessione di Managed Service for Apache Spark, esamina networkUri e subnetUri.
    • Nella Google Cloud console, esamina le impostazioni della rete VPC e della subnet.
  • Testa la connettività da una VM proxy:

    • Avvia una VM di Compute Engine di test nella subnet del batch o della sessione utilizzando il account di servizio del batch o della sessione.
    • Dalla VM di test, esegui i seguenti test di connettività:
      • nslookup storage.googleapis.com per verificare la risoluzione DNS. Cerca altri domini delle API di Google, come bigquery.googleapis.com e dataproc.googleapis.com. Con l'accesso privato Google, che viene abilitato automaticamente sulle subnet di Managed Service for Apache Spark, o Private Service Connect, i domini devono essere risolti in indirizzi IP privati.
      • curl -v https://storage.googleapis.com per verificare la connettività HTTPS alle API di Google. Prova anche a connetterti ad altri servizi Google.
      • ping 8.8.8.8 per testare la connettività a internet, se richiesta dal batch o dalla sessione. Prova curl -v https://example.com se è previsto Cloud NAT.
    • Esegui Google Cloud i test di connettività di Network Intelligence Center per diagnosticare i percorsi di rete dalla subnet agli endpoint pertinenti, come le API di Google e gli indirizzi IP esterni.
  • Esamina Cloud Logging per gli errori di rete:

    • Esamina Logging per il workload o la sessione di Managed Service for Apache Spark. Cerca i messaggi ERROR o WARNING relativi a timeout di rete, rifiuti di connessione o errori di chiamata API. Filtra in base a jsonPayload.component="driver" o jsonPayload.component="executor" per problemi di rete specifici di Spark.

Autorizzazioni IAM

Autorizzazioni IAM insufficienti possono impedire ai workload o alle sessioni di accedere alle risorse, causando errori di rete se le chiamate API vengono negate.

Il account di servizio utilizzato dal workload batch o dalla sessione deve disporre dei ruoli richiesti:

  • Ruolo Worker di Managed Service for Apache Spark (roles/dataproc.worker).
  • Ruoli di accesso ai dati, come roles/storage.objectViewer o roles/bigquery.dataViewer).
  • Logging: (roles/logging.logWriter).

Suggerimenti per la risoluzione dei problemi:

  • Identifica il service account del workload batch o della sessione . Se non viene specificato, il valore predefinito è il service account predefinito di Compute Engine.
  • Nella console , vai alla pagina IAM e amministrazione > IAM , trova il account di servizio del workload batch o della sessione, e verifica che disponga dei ruoli necessari per le operazioni del workload. Google Cloud Concedi i ruoli mancanti.

Configurazione del servizio esterno

Se il tuo workload si connette a database o servizi esterni a Google Cloud, verifica la loro configurazione:

  • Verifica che il firewall o il gruppo di sicurezza del servizio esterno consenta le connessioni in entrata dagli intervalli IP della rete VPC: se applicabile, controlla gli indirizzi IP interni utilizzando il peering VPC, Cloud VPN o Cloud Interconnect oppure gli indirizzi IP di Cloud NAT.
  • Esamina le credenziali del database o le stringhe di connettività. Controlla i dettagli della connessione, i nomi utente e le password.

Passaggi successivi