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 Serverless per 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 Serverless per 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 Serverless per Apache Spark e fornisce suggerimenti per la risoluzione dei problemi per aiutarti a risolverli.

Configurazione di rete

Le configurazioni di rete errate sono una causa frequente di errori di connettività. I workload e le sessioni di Serverless per 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 e ai servizi Google. Per saperne di più, consulta Configurazione di rete di Serverless per 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 tuo workload batch o la tua sessione ha bisogno 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 obigquery.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 Serverless per 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 service account 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.come dataproc.googleapis.com. Con l'accesso privato Google, che viene abilitato automaticamente sulle subnet di Serverless per 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 tuo workload o la tua sessione di Serverless per Apache Spark. Cerca i messaggi ERROR o WARNING relativi a timeout di rete, rifiuti di connessione o errori di chiamata API. Filtra per 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 service account utilizzato dal workload batch o dalla sessione deve disporre dei ruoli richiesti:

  • Ruolo Worker Dataproc (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 Compute Engine predefinito.
  • Nella console, vai alla pagina IAM e amministrazione > IAM , trova il service account 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