Sie können häufige Probleme mit der eingehenden und ausgehenden Verbindung für Ihre Looker (Google Cloud Core)-Instanz diagnostizieren und beheben. Wenn Sie Probleme mit Ihren Private Service Connect-, Private Services Access- und Controlled Egress-Konfigurationen beheben, können Sie Verbindungen zu Identitätsanbietern, externen Diensten und Datenbank-Back-Ends wiederherstellen.
Fehler bei der OpenID Connect-Authentifizierung mit kontrolliertem Ausstieg
Wenn Sie die OpenID Connect-Authentifizierung für eine Looker (Google Cloud Core)-Instanz einrichten, die mit Private Service Connect konfiguriert ist und für die kontrollierter ausgehender Traffic aktiviert ist, kann die Authentifizierung fehlschlagen.
Symptome
Wenn die Authentifizierung fehlgeschlagen ist, können folgende Symptome auftreten:
- Der Looker-Endpunkt
/openidconnecthängt im Browser etwa 60 Sekunden lang, bevor ein Fehler angezeigt wird oder ein Timeout mit einem504 Upstream Request Timeout- oder504 Gateway Timeout-Fehler auftritt. Ihr Identitätsanbieter zeigt eine Fehlermeldung an, die darauf hinweist, dass der Redirect-URI nicht übereinstimmt, z. B.:
AADSTS50011: The redirect URI specified in the request does not match the redirect URIs configured for the applicationDiese Fehlermeldung ist irreführend, da der Weiterleitungs-URI, den Sie in Ihrem Identitätsanbieter konfiguriert haben, möglicherweise korrekt ist. Der eigentliche Fehler tritt auf, wenn Looker (Google Cloud Core) während des Backend-Austauschs den Token-Endpunkt des Identitätsanbieters nicht erreichen kann.
Ursache
Der automatisierte Bereitstellungs-Workflow für kontrollierten Egress schlägt gelegentlich fehl, wenn die erforderliche Secure Web Proxy-Netzwerkroute (looker-swp-route) im Looker (Google Cloud Core)-Mandantenprojekt erstellt wird.
Wenn diese Route fehlt, kommt es bei Backend-Anfragen von Looker (Google Cloud Core) an den Token-Endpunkt des Identitätsanbieters zu einer Zeitüberschreitung, da die Instanz ausgehenden Traffic nicht über den sicheren Web-Proxy an das öffentliche Internet weiterleiten kann.
Lösung
Führen Sie die folgenden Schritte aus, um die Konfiguration für den kontrollierten ausgehenden Traffic zurückzusetzen und das System zu zwingen, die fehlende Netzwerkroute neu zu erstellen:
Rufen Sie in der Google Cloud Console die Seite Looker auf:
Klicken Sie auf den Namen der Instanz, die Sie aktualisieren möchten.
Klicken Sie auf Bearbeiten.
Maximieren Sie den Abschnitt Verbindungen und rufen Sie den Abschnitt Ausgehende Verbindungen konfigurieren auf.
Notieren Sie alle vorhandenen voll qualifizierten Domainnamen (FQDNs), die im Abschnitt Global FQDN aufgeführt sind, z. B. die Endpunkte Ihres Identitätsanbieters.
Löschen Sie alle FQDNs, die im Abschnitt Global FQDN aufgeführt sind.
Entfernen Sie das Häkchen aus dem Kästchen Looker erlauben, eine Verbindung zu externen Diensten herzustellen, um den kontrollierten Egress zu deaktivieren.
Klicken Sie auf Speichern.
Warten Sie, bis die Instanzaktualisierung abgeschlossen ist und die Konfigurationsänderungen übernommen wurden.
Klicken Sie noch einmal auf Bearbeiten.
Maximieren Sie den Bereich Verbindungen und setzen Sie ein Häkchen bei Looker erlauben, eine Verbindung zu externen Diensten herzustellen.
Fügen Sie im Bereich Globaler FQDN die erforderlichen FQDNs für Ihren Identitätsanbieter und alle anderen externen Dienste wieder hinzu.
Klicken Sie auf Speichern.
Durch das Zurücksetzen des kontrollierten Egress wird der automatische Bereitstellungsprozess ausgelöst, um die fehlende looker-swp-route-Netzwerkroute neu zu erstellen. Nachdem die Route erstellt wurde, können ausgehende Backend-Anfragen an den Identitätsanbieter abgeschlossen werden.
504-Fehler „Upstream Request Timeout“
Wenn Sie API-Aufrufe ausführen, lang andauernde Abfragen ausführen oder sich bei einem externen Dienst in einer Looker (Google Cloud Core)-Instanz authentifizieren, kann die Anfrage mit einem HTTP-504-Zeitüberschreitungsfehler fehlschlagen.
Symptome
In den folgenden Szenarien kann der Fehler 504 Upstream Request Timeout oder 504 Gateway Timeout auftreten:
- Eingehende API-Aufrufe oder ‑Abfragen: API-Aufrufe an Looker-Endpunkte wie
/result_formatoder zeitaufwendige Abfragen in der Looker-Benutzeroberfläche schlagen nach etwa 30 Sekunden mit dem Fehler504auf einer Instanz fehl, die von einem Load Balancer geschützt wird. - Ausgehende Authentifizierung oder Verbindungen zu externen Diensten: Sie erhalten in Ihrem Browser einen
504-Fehler, nachdem Sie von der Anmeldeseite eines Identitätsanbieters zurückgekehrt sind oder wenn Sie eine Verbindung zu einem externen Dienst auf einer Instanz mit aktiviertem kontrollierten ausgehenden Traffic herstellen.
Ursache
Ein 504-Zeitüberschreitungsfehler tritt in der Regel aus einem der folgenden Gründe auf:
- Zeitüberschreitung des Load-Balancer-Backend-Dienstes für eingehende Anfragen: Wenn auf Ihre Looker (Google Cloud Core)-Instanz über einen Cloud Load Balancing-Load Balancer zugegriffen wird, hat der Backend-Dienst des Load Balancers standardmäßig eine Zeitüberschreitung des Backend-Dienstes von 30 Sekunden. Wenn die kombinierte Ausführungszeit der Datenbankabfrage und die Rendering-Zeit der Looker-Nutzlast dieses Zeitlimit überschreiten, schließt der Load-Balancer die Verbindung und gibt einen HTTP-Fehler
504zurück. - Blockierte ausgehende Domain mit kontrolliertem ausgehendem Traffic: Die Looker (Google Cloud Core)-Instanz kann eine externe Domain nicht über den kontrollierten ausgehenden Traffic erreichen. Im Gegensatz zu Fehlern bei fehlenden Routen bedeutet ein
504-Fehler bei ausgehenden Anfragen in der Regel, dass der Netzwerkpfad vorhanden ist, aber eine erforderliche Domain in der Zulassungsliste Global FQDN fehlt und blockiert wird oder die Zeit für die Anfrage am Gateway abläuft.
Lösung
Führen Sie je nach Ursache des Fehlers die Schritte in den folgenden Abschnitten aus, um das Problem zu beheben.
Zeitüberschreitungen des Load Balancers bei API-Aufrufen oder ‑Anfragen beheben
Verwenden Sie eine oder beide der folgenden Methoden, um 504-Fehler zu beheben, die durch das Zeitlimit des Backend-Dienstes des Load-Balancers verursacht werden:
Zeitlimit des Backend-Dienstes des Load Balancers erhöhen:
Rufen Sie in der Google Cloud Console die Seite Load Balancing auf:
Klicken Sie auf Back-Ends und dann auf den Namen des Back-End-Dienstes, der mit Ihrer Looker-Instanz (Google Cloud Core) verknüpft ist.
Klicken Sie auf Bearbeiten.
Erhöhen Sie im Feld Zeitüberschreitung den Wert für das Zeitlimit, z. B. von 30 Sekunden auf 300 Sekunden, um auch die längsten Abfragen und API-Anfragen zu berücksichtigen.
Klicken Sie auf Speichern.
Asynchronen API-Workflow verwenden: Wenn Sie die Looker API aufrufen, um Abfragedaten abzurufen, und das Load-Balancer-Zeitlimit nicht ändern können, verwenden Sie asynchrone Endpunkte anstelle von synchronen Anfragen. Rufen Sie
create_query_taskauf, um die Abfrage asynchron zu starten, und fragen Sie dannquery_task_resultsab, um die Ergebnisse nach Abschluss der Abfrage abzurufen.
Zeitüberschreitungen bei kontrolliertem ausgehenden Traffic beheben
So beheben Sie 504-Fehler, die auftreten, wenn Looker (Google Cloud Core) keine Verbindung zu einem externen Dienst oder Identitätsanbieter mit aktivierter kontrollierter Ausleitung herstellen kann:
- Erforderliche FQDNs bestätigen: Prüfen Sie in der Google Cloud -Konsole, ob alle Domains, die für Ihren externen Dienst oder Identitätsanbieter erforderlich sind, der Liste Global FQDN hinzugefügt wurden. OIDC-Authentifizierungsabläufe erfordern häufig mehrere Endpunkte (z. B. Autorisierungs-, Token- und Nutzerinformationen-Endpunkte), die möglicherweise unterschiedliche Domains verwenden.
- Netzwerk-Trace aufzeichnen: Wenn der Fehler weiterhin auftritt, zeichnen Sie einen Browser-Netzwerk-Trace (HAR-Datei) auf, während Sie das Problem reproduzieren. Suchen Sie im Trace nach
504-Statuscodes oder fehlgeschlagenen HTTP-Anfragen, um Domains zu identifizieren, die während des Ablaufs kontaktiert wurden, aber nicht in Ihrer Liste Global FQDN enthalten sind. - Konfiguration zurücksetzen: Wenn die erforderlichen FQDNs vorhanden sind, Anfragen aber weiterhin Zeitüberschreitungen verursachen, folgen Sie der Anleitung unter Lösung für OpenID Connect-Authentifizierungsfehler, um die Konfiguration für kontrollierten ausgehenden Traffic zurückzusetzen.
HttpClient:ConnectTimeoutError-Ausführung abgelaufen
Wenn Sie im Looker-Adminbereich eine OpenID Connect-Verbindung oder andere externe Netzwerkverbindungen testen, kann der Verbindungstest mit einem Zeitüberschreitungsfehler fehlschlagen.
Symptome
Wenn Sie im Looker-Admin-Bereich einen Verbindungstest ausführen (z. B. auf der Seite OpenID Connect-Authentifizierung), gibt Looker den folgenden Fehler zurück:
HttpClient:ConnectTimeoutError execution expired
Ursache
Dieser Fehler weist darauf hin, dass der Looker (Google Cloud Core)-Instanz der erforderliche Netzwerkpfad fehlt, den sie für die Kommunikation mit dem externen Dienst oder Identitätsanbieter benötigt. Dieses Problem tritt normalerweise auf, wenn eine der folgenden Bedingungen erfüllt ist:
- Fehlende Routenweitergabe: Cloud Router verwendet die Standardeinstellungen und gibt keine VPC-Netzwerkrouten (z. B. benutzerdefinierte beworbene Routen) an die Looker (Google Cloud Core)-Instanz weiter.
- Fehlende Internet-NEG: In Ihrem VPC-Netzwerk ist keine Internetnetzwerk-Endpunktgruppe (NEG) konfiguriert, um Traffic an den externen Dienst weiterzuleiten.
Lösung
Führen Sie die folgenden Schritte aus, um das Problem zu beheben:
- Cloud Router-Routenweitergabe konfigurieren: Prüfen Sie, ob Cloud Router so konfiguriert ist, dass die erforderlichen VPC-Netzwerkrouten an Ihre Looker (Google Cloud Core)-Instanz weitergegeben werden. Richten Sie dazu benutzerdefinierte beworbene Routen ein.
- Internet-NEG konfigurieren: Richten Sie ein Internet-NEG in Ihrem VPC-Netzwerk ein, damit die Looker (Google Cloud Core)-Instanz ausgehenden Traffic an den externen Identitätsanbieter oder ‑dienst weiterleiten kann.
- Zugriff auf private Dienste prüfen: Bei Instanzen, die den Zugriff auf private Dienste verwenden, muss Ihr VPC-Netzwerk ordnungsgemäß mit Google-Diensten verbunden sein. Weitere Informationen finden Sie unter Über den Zugriff auf private Dienste auf externe Dienste zugreifen.
Probleme mit Southbound Private Service Connect-Verbindungen
Bei Looker (Google Cloud Core)-Instanzen, die Private Service Connect für ausgehende Verbindungen zu Datenbank-Back-Ends oder veröffentlichten Diensten verwenden, können Verbindungsfehler auftreten, auch wenn der Endpunktstatus Accepted ist.
Häufige Probleme:
- Fehler bei der Hostnamensauflösung: Wenn in Looker (Google Cloud Core) beim Testen einer Verbindung der Fehler
Unknown hostangezeigt wird, prüfen Sie, ob der konfigurierte Hostname mit dem DNS-Eintrag in Ihrem privaten Netzwerk übereinstimmt und ob der Backend-Load-Balancer fehlerfrei funktioniert. - Zeitüberschreitungen bei Verbindungen: Wenn bei Verbindungen eine Zeitüberschreitung auftritt, prüfen Sie Ihre VPC-Firewallregeln, um zu bestätigen, dass eingehender Traffic vom Private Service Connect-NAT-Subnetz zu den Backends Ihres Load Balancers zugelassen ist.
- Status „Ausstehend“ oder „Geschlossen“: Wenn der Status des Dienstanhangs
PendingoderClosedist, prüfen Sie, ob sich das Nutzerprojekt auf der Zulassungsliste des Dienstanhangs befindet und ob obligatorische TCP-Systemdiagnosen konfiguriert sind.
Detaillierte Diagnose-Workflows und ein Entscheidungsbaum finden Sie unter Fehlerbehebung bei Southbound-Private Service Connect-Verbindungen.
Probleme mit Routen und Verbindungen für den Zugriff auf private Dienste
Für Looker (Google Cloud Core)-Instanzen, die den Zugriff auf private Dienste verwenden, ist für die ausgehende Kommunikation mit externen Diensten eine ordnungsgemäße Routenweitergabe und Netzwerkinfrastruktur erforderlich:
- Routenweitergabe: Prüfen Sie, ob Cloud Router so konfiguriert ist, dass VPC-Netzwerkrouten an die Looker (Google Cloud Core)-Instanz weitergegeben werden, z. B. benutzerdefinierte beworbene Routen.
- Internet-Netzwerk-Endpunktgruppen: Wenn Ihre Instanz über den Zugriff auf private Dienste externe Endpunkte erreichen muss, muss in Ihrem VPC-Netzwerk eine Internet-Netzwerk-Endpunktgruppe (NEG) konfiguriert sein.
Wenn diese Routen oder Endpunktgruppen fehlen, schlagen Verbindungstests zu externen Endpunkten mit dem Fehler HttpClient:ConnectTimeoutError execution expired fehl.
Weitere Informationen finden Sie unter Über den Zugriff auf private Dienste auf externe Dienste zugreifen.
Diagnosetools und ‑logs
Verwenden Sie die folgenden Tools und Logs, um Netzwerkprobleme zu diagnostizieren:
- Cloud Logging: Mit Cloud Logging können Sie Logs auf Instanzebene ansehen, um Verbindungsfehler und Systemereignisse zu erkennen. Weitere Informationen finden Sie unter Instanz-Logs ansehen.
- Looker-Systemaktivität: Wenn Sie sich als Administrator anmelden können, sehen Sie sich das Dashboard Nutzeraktivität in der Systemaktivität an. In diesem Dashboard werden die letzten fehlgeschlagenen Anmeldeversuche, die verwendete Authentifizierungsmethode und Fehlermeldungen angezeigt. Weitere Informationen finden Sie unter Aktivitätsdashboard.
- VPC-Flusslogs: Prüfen Sie die VPC-Flusslogs, um festzustellen, ob Netzwerkverkehr von Looker (Google Cloud Core) Ihr Zielsubnetz erreicht oder durch Firewallregeln blockiert wird.
- Cloud Customer Care: Wenn Sie die Schritte zur Fehlerbehebung ausgeführt haben und das Problem weiterhin besteht, wenden Sie sich an Cloud Customer Care.