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.comCould not reach required Google APIsConnection refusedHost unreachableOperation timed outPermission 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.comedataproc.googleapis.come che si connettano alla rete Virtual Private Cloud del workload batch o della sessione.
- Nella Google Cloud console, vai a
Private Service Connect > Endpoint.
Collega gli endpoint o verifica che siano collegati per
tutte le API richieste, come
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.
- 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
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.
- 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.
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.comobigquery.googleapis.come 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.
- 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
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
networkUriesubnetUri. - Nella Google Cloud console, esamina le impostazioni della rete VPC e della subnet.
- Dai dettagli del batch o della sessione di Serverless per Apache Spark, esamina
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.comper verificare la risoluzione DNS. Cerca altri domini delle API di Google, comebigquery.googleapis.comedataproc.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.comper verificare la connettività HTTPS alle API di Google. Prova anche a connetterti ad altri servizi Google.ping 8.8.8.8per testare la connettività a internet, se richiesta dal batch o dalla sessione. Provacurl -v https://example.comse è 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
ERRORoWARNINGrelativi a timeout di rete, rifiuti di connessione o errori di chiamata API. Filtra perjsonPayload.component="driver"ojsonPayload.component="executor"per problemi di rete specifici di Spark.
- Esamina Logging per il tuo workload o la tua
sessione di Serverless per Apache Spark. Cerca i messaggi
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.objectVieweroroles/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
- Scopri di più sul networking di Serverless per Apache Spark.
- Esamina i service account di Serverless per Apache Spark.
- Consulta le guide generali per la risoluzione dei problemi di rete: