Puoi diagnosticare e risolvere i problemi di connettività in entrata e in uscita più comuni per la tua istanza di Looker (Google Cloud core). La risoluzione dei problemi relativi alle configurazioni di Private Service Connect, accesso privato ai servizi e uscita controllata ti aiuta a ripristinare le connessioni a provider di identità, servizi esterni e backend di database.
Errore di autenticazione OpenID Connect con uscita controllata
Quando configuri l'autenticazione OpenID Connect su un'istanza di Looker (Google Cloud core) configurata con Private Service Connect e l'uscita controllata abilitata, l'autenticazione potrebbe non riuscire.
Sintomi
Se l'autenticazione non è riuscita, potresti riscontrare uno dei seguenti problemi:
- L'endpoint
/openidconnectdi Looker si blocca per circa 60 secondi nel browser prima di visualizzare un errore o di scadere con un errore504 Upstream Request Timeouto504 Gateway Timeout. Il provider di identità visualizza un messaggio di errore che indica che l'URI di reindirizzamento non corrisponde, ad esempio:
AADSTS50011: The redirect URI specified in the request does not match the redirect URIs configured for the applicationQuesto messaggio di errore è fuorviante perché l'URI di reindirizzamento che hai configurato nel tuo provider di identità potrebbe essere corretto. L'errore effettivo si verifica quando Looker (Google Cloud core) non riesce a contattare l'endpoint token del provider di identità durante lo scambio di backend.
Causa
Il flusso di lavoro di provisioning automatizzato per l'uscita controllata a volte non riesce a
creare la route di rete Secure Web Proxy necessaria (looker-swp-route) nel
progetto tenant Looker (Google Cloud core).
Quando questa route non è presente, le richieste di backend da Looker (Google Cloud core) all'endpoint token del provider di identità scadono perché l'istanza non può instradare il traffico in uscita a internet pubblico tramite Secure Web Proxy.
Risoluzione
Per risolvere il problema, segui questi passaggi per reimpostare la configurazione dell'uscita controllata per forzare il sistema a ricreare la route di rete mancante:
Nella console Google Cloud , vai alla pagina Looker:
Fai clic sul nome dell'istanza da aggiornare.
Fai clic su Modifica.
Espandi la sezione Connessioni e vai alla sezione Configura le connessioni in uscita.
Registra tutti i nomi di dominio completi esistenti elencati nella sezione FQDN globale (ad esempio gli endpoint del tuo identity provider).
Elimina tutti i nomi di dominio completi elencati nella sezione FQDN globale.
Deseleziona la casella di controllo Consenti a Looker di connettersi a servizi esterni per disattivare il traffico in uscita controllato.
Fai clic su Salva.
Attendi il completamento dell'aggiornamento dell'istanza e la cancellazione delle modifiche alla configurazione.
Fai di nuovo clic su Modifica.
Espandi la sezione Connessioni e seleziona la casella di controllo Consenti a Looker di connettersi a servizi esterni.
Nella sezione Nome di dominio completo globale, aggiungi di nuovo i nomi di dominio completi richiesti per il tuo provider di identità e qualsiasi altro servizio esterno.
Fai clic su Salva.
Il ripristino dell'uscita controllata attiva il processo di provisioning automatico per
ricreare la route di rete looker-swp-route mancante. Una volta creato l'itinerario, è possibile completare le richieste di backend in uscita al provider di identità.
Errore di timeout della richiesta upstream 504
Quando effettui chiamate API, esegui query di lunga durata o esegui l'autenticazione con un servizio esterno su un'istanza di Looker (Google Cloud core), la richiesta potrebbe non riuscire con un errore di timeout HTTP 504.
Sintomi
Potresti ricevere un errore 504 Upstream Request Timeout o 504 Gateway Timeout
in uno dei seguenti scenari:
- Chiamate o query API in entrata: le chiamate API agli endpoint Looker, ad esempio
/result_format, o le query a esecuzione prolungata nell'interfaccia utente di Looker non vanno a buon fine e viene visualizzato un errore504dopo circa 30 secondi su un'istanza front-end di un bilanciamento del carico. - Autenticazione in uscita o connessioni a servizi esterni: ricevi un errore
504nel browser dopo essere tornato dalla pagina di accesso di un provider di identità o quando ti connetti a un servizio esterno su un'istanza con l'uscita controllata abilitata.
Causa
Un errore di timeout 504 si verifica in genere per uno dei seguenti motivi:
- Timeout del servizio di backend del bilanciatore del carico per le richieste in entrata: quando si accede all'istanza di Looker (Google Cloud core) tramite un bilanciatore del carico Cloud Load Balancing, il servizio di backend del bilanciatore del carico ha un timeout del servizio di backend predefinito di 30 secondi. Se il tempo di esecuzione della query del database combinato e il tempo di rendering del payload di Looker superano questo limite di timeout, il bilanciatore del carico chiude la connessione e restituisce un errore HTTP
504. - Dominio in uscita bloccato con uscita controllata: l'istanza di Looker (Google Cloud core) non può raggiungere un dominio esterno tramite l'uscita controllata. A differenza degli errori di route mancante, un errore
504durante le richieste in uscita in genere significa che il percorso di rete esiste, ma un dominio richiesto non è presente nella lista consentita FQDN globale e viene bloccato oppure la richiesta va in timeout al gateway.
Risoluzione
A seconda della causa dell'errore, completa i passaggi nelle sezioni seguenti per risolvere il problema.
Risolvi i timeout del bilanciatore del carico per chiamate API o query
Per risolvere gli errori 504 causati dal timeout del servizio di backend del bilanciatore del carico, utilizza uno o entrambi i seguenti metodi:
Aumenta il timeout del servizio di backend del bilanciatore del carico:
Nella console Google Cloud , vai alla pagina Bilanciamento del carico:
Fai clic su Backend, quindi sul nome del servizio di backend associato alla tua istanza di Looker (Google Cloud core).
Fai clic su Modifica.
Nel campo Timeout, aumenta il valore di timeout, ad esempio da 30 secondi a 300 secondi, per adattarlo alle query e alle richieste API con esecuzione più lunga.
Fai clic su Salva.
Utilizza un flusso di lavoro API asincrono: se chiami l'API Looker per recuperare i dati delle query e non puoi modificare il timeout del bilanciamento del carico, utilizza endpoint asincroni anziché richieste sincrone. Chiama
create_query_taskper avviare la query in modo asincrono, quindi esegui il pollingquery_task_resultsper recuperare i risultati al termine della query.
Risolvere i timeout del traffico in uscita controllato
Per risolvere gli errori 504 che si verificano quando Looker (Google Cloud core) non riesce a connettersi a un servizio esterno o a un provider di identità con l'uscita controllata abilitata, segui questi passaggi:
- Verifica i nomi di dominio completi richiesti: nella console Google Cloud , verifica che tutti i domini richiesti dal tuo servizio esterno o dal tuo identity provider siano aggiunti all'elenco FQDN globale. I flussi di autenticazione OIDC spesso richiedono più endpoint (come gli endpoint di autorizzazione, token e informazioni utente) che potrebbero utilizzare domini diversi.
- Acquisire una traccia di rete: se l'errore persiste, acquisisci una traccia di rete del browser (file HAR) durante la riproduzione del problema. Cerca nella traccia codici di stato
504o richieste HTTP non riuscite per identificare eventuali domini contattati durante il flusso, ma non inclusi nell'elenco FQDN globale. - Reimposta configurazione: se i nomi di dominio completi richiesti sono presenti, ma le richieste continuano a scadere, segui i passaggi descritti nella soluzione per gli errori di autenticazione OpenID Connect per reimpostare la configurazione del traffico in uscita controllato.
HttpClient:ConnectTimeoutError execution expired
Quando si testa una connessione OpenID Connect o altre connessioni di rete esterne nel pannello di amministrazione di Looker, il test della connessione potrebbe non riuscire con un errore di timeout.
Sintomi
Quando esegui un test di connessione nel pannello di amministrazione di Looker (ad esempio nella pagina Autenticazione OpenID Connect), Looker restituisce il seguente errore:
HttpClient:ConnectTimeoutError execution expired
Causa
Questo errore indica che l'istanza di Looker (Google Cloud core) non dispone del percorso di rete necessario per comunicare con il servizio esterno o il provider di identità. Questo problema si verifica in genere quando è soddisfatta una delle seguenti condizioni:
- Propagazione delle route mancante: il router Cloud utilizza le impostazioni predefinite e non propaga le route di rete VPC (ad esempio le route annunciate personalizzate) all'istanza di Looker (Google Cloud core).
- NEG internet mancante: un gruppo di endpoint di rete (NEG) internet non è configurato nella tua rete VPC per instradare il traffico al servizio esterno.
Risoluzione
Per risolvere il problema, segui questi passaggi:
- Configura la propagazione delle route Cloud Router: verifica che router Cloudr sia configurato per propagare le route di rete VPC necessarie alla tua istanza di Looker (Google Cloud core) configurando route annunciate personalizzate.
- Configura un NEG internet: configura un NEG internet nella tua rete VPC per consentire all'istanza di Looker (Google Cloud core) di instradare il traffico in uscita al servizio o al provider di identità esterno.
- Verifica l'accesso privato ai servizi: per le istanze che utilizzano l'accesso privato ai servizi, assicurati che la tua rete VPC sia correttamente in peering con i servizi Google. Per saperne di più, consulta Accedere a servizi esterni utilizzando l'accesso privato ai servizi.
Problemi di connessione Private Service Connect in uscita
Per le istanze di Looker (Google Cloud core) che utilizzano
Private Service Connect per le connessioni in uscita ai backend
di database o ai servizi pubblicati, potresti riscontrare errori di connessione anche quando
lo stato dell'endpoint è Accepted.
I problemi più comuni includono:
- Errori di risoluzione del nome host: se Looker (Google Cloud core) visualizza un errore
Unknown hostdurante il test di una connessione, verifica che il nome host configurato corrisponda al record DNS nella tua rete privata e che il bilanciamento del carico di backend sia integro. - Timeout di connessione: se le connessioni vanno in timeout, controlla le regole firewall VPC per verificare che il traffico in entrata sia consentito dalla subnet NAT Private Service Connect ai backend del bilanciatore del carico.
- Stato In attesa o Chiuso: se lo stato del collegamento del servizio è
PendingoClosed, verifica che il progetto consumer si trovi nella lista consentita del collegamento del servizio e che siano configurati i controlli di integrità TCP obbligatori.
Per flussi di lavoro di diagnostica dettagliati e un albero decisionale, consulta Risoluzione dei problemi relativi alle connessioni Private Service Connect in uscita.
Problemi di connettività e route di accesso privato ai servizi
Per le istanze di Looker (Google Cloud core) che utilizzano l'accesso privato ai servizi, la comunicazione in uscita con servizi esterni richiede la corretta propagazione delle route e l'infrastruttura di rete:
- Propagazione delle route: verifica che il router Cloud sia configurato per propagare le route di rete VPC all'istanza di Looker (Google Cloud core), ad esempio le route annunciate personalizzate.
- Gruppi di endpoint di rete internet: se la tua istanza deve raggiungere endpoint esterni tramite l'accesso privato ai servizi, assicurati che un gruppo di endpoint di rete internet (NEG) sia configurato nella tua rete VPC.
Se queste route o questi gruppi di endpoint non sono presenti, i test di connessione agli endpoint esterni non vanno a buon fine e viene visualizzato un errore HttpClient:ConnectTimeoutError execution expired.
Per saperne di più, consulta Accedere a servizi esterni utilizzando l'accesso privato ai servizi.
Strumenti di diagnostica e log
Utilizza i seguenti strumenti e log per diagnosticare i problemi di rete:
- Cloud Logging: visualizza i log a livello di istanza in Cloud Logging per identificare errori di connessione ed eventi di sistema. Per saperne di più, vedi Visualizzare i log dell'istanza.
- Attività del sistema di Looker: se riesci ad accedere come amministratore, esamina la dashboard Attività utente in Attività del sistema. Questa dashboard mostra i recenti tentativi di accesso non riusciti, il metodo di autenticazione utilizzato e i messaggi di errore. Per ulteriori informazioni, vedi Dashboard Attività utente.
- Log di flusso VPC: controlla i log di flusso VPC per determinare se il traffico di rete da Looker (Google Cloud core) raggiunge la subnet di destinazione o viene bloccato dalle regole firewall.
- Assistenza clienti Google Cloud: se hai completato la procedura di risoluzione dei problemi e il problema persiste, contatta l'assistenza clienti Google Cloud per ricevere assistenza.