Questa pagina fornisce indicazioni sulla diagnosi e sulla 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 workload di accedere alle origini dati, ai servizi esterni o alle API Google Cloud richiesti.
Sintomi e messaggi di errore comuni
Quando Managed Service for Apache Spark riscontra problemi di connettività, potresti visualizzare errori come:
Unable to connect to service_name.googleapis.comCould not reach required Google APIsConnection refusedHost unreachableOperation timed outPermission denied(spesso correlati alla rete se bloccano 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.
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 e ai servizi di Google. 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 tua rete VPC per accedere ad 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 alla rete Virtual Private Cloud del workload o della sessione batch.
- 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 alla rete internet pubblica, puoi configurare Cloud NAT per la subnet del workload o della sessione batch:
- Nella console Google Cloud , vai alla pagina Cloud NAT.
Configura un gateway o verifica che sia configurato un gateway per la rete VPC, la regione e la subnet del workload o della sessione batch. 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 console Google Cloud , vai alla pagina Cloud NAT.
Configura un gateway o verifica che sia configurato un gateway per la rete VPC, la regione e la subnet del workload o della sessione batch. 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 workload o la sessione batch richiede l'accesso a internet, puoi utilizzare Cloud NAT per fornire il traffico in uscita dalla 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 workload e le sessioni devono essere in grado di risolvere i nomi host per le API di Google, come
storage.googleapis.comobigquery.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 tua 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 della sessione o del batch di Managed Service for Apache Spark, esamina
networkUriesubnetUri. - Nella console Google Cloud , esamina le impostazioni della rete VPC e della subnet.
- Dai dettagli della sessione o del batch 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 di sessione utilizzando il account di servizio batch o di 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, ad esempiobigquery.googleapis.comedataproc.googleapis.com. Con l'accesso privato Google, abilitato automaticamente nelle subnet di Managed Service for Apache Spark, o con 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 connessione a internet, se richiesto dal tuo batch o dalla tua sessione. Provacurl -v https://example.comse è previsto Cloud NAT.
- Esegui i Connectivity Tests di Network Intelligence Center Google Cloudper diagnosticare i percorsi di rete dalla tua subnet agli endpoint pertinenti, come le API di Google e gli indirizzi IP esterni.
Esamina Cloud Logging per individuare eventuali errori di rete:
- Esamina Logging per il workload o la sessione di Managed Service for 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 i problemi di rete specifici di Spark.
- Esamina Logging per il workload o la sessione di Managed Service for 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 rifiutate.
Il account di servizio utilizzato dal workload o dalla sessione batch deve disporre dei ruoli richiesti:
- Ruolo Managed Service for Apache Spark Worker (
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 workload o della sessione batch. Se non viene specificato, il valore predefinito è il service account predefinito di Compute Engine.
- Vai alla pagina IAM e amministrazione > IAM nella console Google Cloud , trova il account di servizio del workload o della sessione batch 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 relativa 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 o gli indirizzi IP Cloud NAT.
- Controlla le credenziali del database o le stringhe di connessione. 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 per la risoluzione dei problemi di rete: