Questa pagina fornisce indicazioni per la diagnosi e la risoluzione dei problemi comuni di connettività di rete per i workload batch e le sessioni interattive di Managed Service for Apache Spark. Questi problemi possono impedire ai tuoi workload di accedere alle origini dati richieste, ai servizi esterni o alle API Google Cloud .
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.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 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 a servizi e API di Google. Per maggiori informazioni, vedi Configurazione di rete di Managed Service for Apache Spark.
Opzioni di accesso:
Private Service Connect (PSC): puoi creare endpoint privati all'interno della tua rete VPC per accedere a API di Google specifiche.
- Nella console Google Cloud , vai a
Private Service Connect > Endpoint.
Connetti gli endpoint o verifica che siano connessi per tutte le API richieste, ad esempio
storage.googleapis.comedataproc.googleapis.com, e che si connettano al batch workload o alla rete Virtual Private Cloud della sessione.
- Nella console Google Cloud , vai a
Private Service Connect > Endpoint.
Connetti gli endpoint o verifica che siano connessi per tutte le API richieste, ad esempio
Cloud NAT: se il tuo workload deve accedere a internet pubblico, puoi configurare Cloud NAT per il tuo workload batch o la subnet della sessione:
- Nella console Google Cloud , vai alla pagina
Cloud NAT.
Configura un gateway o conferma che un gateway sia configurato per la rete VPC, la regione e la subnet del batch workload o della sessione. Inoltre,
assicurati che le regole firewall consentano
l'uscita a
0.0.0.0/0. Per saperne di più, vedi Configurare Cloud NAT.
- Nella console Google Cloud , vai alla pagina
Cloud NAT.
Configura un gateway o conferma che un gateway sia configurato per la rete VPC, la regione e la subnet del batch workload o della sessione. Inoltre,
assicurati che le regole firewall consentano
l'uscita a
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 di uscita devono consentire il traffico verso servizi esterni, come API pubbliche e database al di fuori di Google Cloud. Se il tuo workload batch o la tua sessione ha bisogno dell'accesso a internet, puoi utilizzare Cloud NAT per fornire l'uscita della subnet.
- Sebbene non sia una causa comune di problemi di connettività, regole di ingresso 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 carichi di lavoro 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 tua rete VPC utilizzando l'endpoint PSC.
- La risoluzione DNS deve essere configurata all'interno della rete VPC. I carichi di lavoro 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 Managed Service for Apache Spark, esamina
networkUriesubnetUri. - Nella console Google Cloud , esamina le impostazioni per la rete VPC e la subnet.
- Dai dettagli del batch o della sessione di Managed Service for Apache Spark, esamina
Testa la connettività da una VM proxy:
- Avvia una VM di Compute Engine di test nella subnet batch o sessione utilizzando il account di servizio batch o sessione.
- Dalla VM di test, esegui i seguenti test di connettività:
nslookup storage.googleapis.comper verificare la risoluzione DNS. Cerca altri domini API di Google, ad esempiobigquery.googleapis.comedataproc.googleapis.com. Con l'accesso privato Google, che viene abilitato automaticamente nelle 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.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 i Google Cloud test di connettività di Network Intelligence Center per diagnosticare i percorsi di rete dalla tua subnet agli endpoint pertinenti, come le API di Google e gli indirizzi IP esterni.
Controlla Cloud Logging per gli errori di rete:
- Esamina la registrazione per il workload o la sessione di Managed Service for Apache Spark. Cerca 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 la registrazione per il workload o la sessione di Managed Service for Apache Spark. Cerca 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 account di servizio utilizzato dal batch o dalla sessione deve disporre dei ruoli richiesti:
- Ruolo di worker di Managed Service for Apache Spark (
roles/dataproc.worker). - Ruoli di accesso ai dati, ad esempio
roles/storage.objectVieweroroles/bigquery.dataViewer). - Logging: (
roles/logging.logWriter).
Suggerimenti per la risoluzione dei problemi:
- Identifica il service account del batch workload o della sessione. Se non specificato, il valore predefinito è l'account di servizio Compute Engine predefinito.
- Vai alla pagina IAM e amministrazione > IAM nella console Google Cloud , trova il account di servizio del batch workload o della sessione e verifica che disponga dei ruoli necessari per le operazioni del workload. 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 tua rete VPC: se applicabile, controlla gli indirizzi IP interni utilizzando il peering VPC, Cloud VPN o Cloud Interconnect oppure gli indirizzi IP Cloud NAT.
- Controlla 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 Managed Service for Apache Spark.
- Esamina i service account Managed Service for Apache Spark.
- Consulta le guide generali alla risoluzione dei problemi di rete: