Résoudre les problèmes de mise en réseau de Looker (Google Cloud Core)

Authentification OIDC, erreurs de délai avant expiration, Private Service Connect et accès aux services privés.

Si votre instance Looker (Google Cloud Core) ne parvient pas à se connecter à des services externes, des fournisseurs d'identité ou des backends de base de données, utilisez ce guide pour diagnostiquer et résoudre les problèmes réseau courants. Vous pouvez résoudre les problèmes d'échec d'authentification OpenID Connect (OIDC), les délais d'expiration 504 et HttpClient:ConnectTimeoutError, ainsi que les erreurs de propagation de route pour Private Service Connect (PSC) et l'accès aux services privés.

Échec de l'authentification OpenID Connect avec sortie contrôlée

Lorsque vous configurez l'authentification OpenID Connect sur une instance Looker (Google Cloud Core) configurée avec Private Service Connect et la sortie contrôlée activée, l'authentification peut échouer.

Symptômes

Si l'authentification a échoué, vous pouvez rencontrer l'un des problèmes suivants :

  • Le point de terminaison /openidconnect de Looker se bloque pendant environ 60 secondes dans le navigateur avant d'afficher une erreur ou d'expirer avec une erreur 504 Upstream Request Timeout ou 504 Gateway Timeout.
  • Votre fournisseur d'identité affiche un message d'erreur indiquant que l'URI de redirection ne correspond pas, par exemple :

    AADSTS50011: The redirect URI specified in the request does not match the
    redirect URIs configured for the application
    

    Ce message d'erreur est trompeur, car l'URI de redirection que vous avez configuré dans votre fournisseur d'identité peut être correct. L'échec se produit lorsque Looker (Google Cloud Core) ne parvient pas à contacter le point de terminaison du jeton du fournisseur d'identité lors de l'échange de backend.

Cause

Le workflow de provisionnement automatisé pour la sortie contrôlée échoue parfois à créer la route réseau Secure Web Proxy (looker-swp-route) nécessaire dans le projet locataire Looker (Google Cloud Core).

Lorsque cette route est manquante, les requêtes de backend de Looker (Google Cloud Core) vers le point de terminaison du jeton du fournisseur d'identité expirent, car l'instance ne peut pas acheminer le trafic sortant vers l'Internet public via le Secure Web Proxy.

Solution

Pour résoudre ce problème, suivez ces étapes afin de réinitialiser la configuration de sortie contrôlée et forcer le système à recréer la route réseau manquante :

  1. Dans la console Google Cloud , accédez à la page Looker :

    Accéder à Looker

  2. Cliquez sur le nom de l'instance que vous souhaitez mettre à jour.

  3. Cliquez sur Modifier.

  4. Développez la section Connexions, puis accédez à la section Configurer les connexions sortantes.

  5. Enregistrez tous les noms de domaine complets (FQDN) existants listés dans la section FQDN global (tels que les points de terminaison de votre fournisseur d'identité).

  6. Supprimez tous les FQDN listés dans la section FQDN global.

  7. Décochez la case Autoriser Looker à se connecter à des services externes pour désactiver la sortie contrôlée.

  8. Cliquez sur Enregistrer.

  9. Attendez que la mise à jour de l'instance soit terminée et que les modifications de configuration soient effacées.

  10. Cliquez à nouveau sur Modifier.

  11. Développez la section Connexions, puis cochez la case Autoriser Looker à se connecter à des services externes.

  12. Dans la section Nom de domaine complet global, ajoutez de nouveau les noms de domaine complets requis pour votre fournisseur d'identité et tout autre service externe.

  13. Cliquez sur Enregistrer.

La réinitialisation de la sortie contrôlée déclenche le processus de provisionnement automatisé pour recréer la route réseau looker-swp-route manquante. Une fois la route créée, les requêtes de backend sortantes vers le fournisseur d'identité peuvent être effectuées.

Erreur 504 : expiration du délai de la requête en amont

Lors de l'authentification auprès d'un service ou d'un fournisseur d'identité externe sur une instance Looker (Google Cloud Core) avec sortie contrôlée activée, la requête peut échouer avec une erreur de délai avant expiration.

Symptômes

Vous recevez une erreur 504 Upstream Request Timeout dans votre navigateur après être revenu de la page de connexion d'un fournisseur d'identité ou lorsque vous vous connectez à un service externe.

Cause

Une erreur 504 Upstream Request Timeout indique que l'instance Looker (Google Cloud Core) ne peut pas accéder au domaine externe via le trafic sortant contrôlé. Contrairement aux erreurs de route manquante, une erreur 504 signifie généralement que le chemin réseau existe, mais qu'un domaine requis est manquant dans la liste d'autorisation FQDN global et est bloqué, ou que la requête expire au niveau de la passerelle.

Solution

Pour résoudre ce problème, procédez comme suit :

  1. Vérifiez les noms de domaine complets requis : dans la console Google Cloud , vérifiez que tous les domaines requis par votre service externe ou fournisseur d'identité sont ajoutés à la liste Nom de domaine complet global. Les flux d'authentification OIDC nécessitent souvent plusieurs points de terminaison (tels que les points de terminaison d'autorisation, de jeton et d'informations utilisateur) qui peuvent utiliser différents domaines.
  2. Capturez une trace réseau : si l'erreur persiste, capturez une trace réseau du navigateur (fichier HAR) tout en reproduisant le problème. Recherchez les codes d'état 504 ou les requêtes HTTP ayant échoué dans la trace pour identifier les domaines qui ont été contactés au cours du flux, mais qui ne figurent pas dans votre liste FQDN global.
  3. Réinitialiser la configuration : si les noms de domaine complets requis sont présents, mais que les requêtes continuent d'expirer, suivez les étapes de la section Résolution pour les échecs d'authentification OpenID Connect afin de réinitialiser la configuration de sortie contrôlée.

HttpClient:ConnectTimeoutError execution expired

Lorsque vous testez une connexion OpenID Connect ou d'autres connexions réseau externes dans le panneau d'administration de Looker, le test de connexion peut échouer en raison d'une erreur de délai d'attente.

Symptômes

Lorsque vous exécutez un test de connexion dans le panneau d'administration Looker (par exemple, sur la page Authentification OpenID Connect), Looker renvoie l'erreur suivante :

HttpClient:ConnectTimeoutError execution expired

Cause

Cette erreur indique que l'instance Looker (Google Cloud Core) ne dispose pas du chemin réseau nécessaire pour communiquer avec le service externe ou le fournisseur d'identité. Ce problème se produit généralement lorsque l'une des conditions suivantes est remplie :

  • Propagation de route manquante : Cloud Router utilise les paramètres par défaut et ne propage pas les routes du réseau VPC (telles que les routes annoncées personnalisées) à l'instance Looker (Google Cloud Core).
  • NEG Internet manquant : aucun groupe de points de terminaison du réseau (NEG) Internet n'est configuré dans votre réseau VPC pour acheminer le trafic vers le service externe.

Solution

Pour résoudre ce problème, procédez comme suit :

  1. Configurer la propagation des routes Cloud Router : vérifiez que Cloud Router est configuré pour propager les routes de réseau VPC nécessaires à votre instance Looker (Google Cloud Core) en configurant des routes annoncées personnalisées.
  2. Configurer un NEG Internet : configurez un NEG Internet dans votre réseau VPC pour permettre à l'instance Looker (Google Cloud Core) d'acheminer le trafic sortant vers le fournisseur ou le service d'identité externe.
  3. Vérifiez l'accès aux services privés : pour les instances qui utilisent l'accès aux services privés, assurez-vous que votre réseau VPC est correctement appairé aux services Google. Pour en savoir plus, consultez Accéder aux services externes à l'aide de l'accès aux services privés.

Problèmes de connexion Southbound Private Service Connect

Pour les instances Looker (Google Cloud Core) qui utilisent Private Service Connect pour les connexions sortantes aux backends de base de données ou aux services publiés, vous pouvez rencontrer des erreurs de connexion même lorsque l'état du point de terminaison est Accepted.

Voici quelques problèmes courants :

  • Erreurs de résolution de nom d'hôte : si Looker (Google Cloud Core) affiche une erreur Unknown host lors du test d'une connexion, vérifiez que le nom d'hôte configuré correspond à l'enregistrement DNS de votre réseau privé et que l'équilibreur de charge de backend est opérationnel.
  • Délai d'expiration des connexions : si les connexions expirent, vérifiez vos règles de pare-feu VPC pour vous assurer que le trafic entrant est autorisé depuis le sous-réseau NAT Private Service Connect vers les backends de votre équilibreur de charge.
  • État "En attente" ou "Fermé" : si l'état du rattachement de service est Pending ou Closed, vérifiez que le projet consommateur figure dans la liste d'autorisation du rattachement de service et que les vérifications d'état TCP obligatoires sont configurées.

Pour obtenir des workflows de diagnostic détaillés et un arbre de décision, consultez Résoudre les problèmes de connexions Private Service Connect southbound.

Problèmes de connectivité et d'itinéraire d'accès aux services privés

Pour les instances Looker (Google Cloud Core) qui utilisent l'accès aux services privés, la communication sortante vers les services externes nécessite une propagation des routes et une infrastructure réseau appropriées :

  • Propagation des routes : vérifiez que Cloud Router est configuré pour propager les routes de réseau VPC à l'instance Looker (Google Cloud Core), telles que les routes annoncées personnalisées.
  • Groupes de points de terminaison réseau Internet : si votre instance doit accéder à des points de terminaison externes via l'accès aux services privés, assurez-vous qu'un groupe de points de terminaison réseau Internet (NEG) est configuré dans votre réseau VPC.

Si ces routes ou groupes de points de terminaison sont manquants, les tests de connexion aux points de terminaison externes échouent et renvoient une erreur HttpClient:ConnectTimeoutError execution expired.

Pour en savoir plus, consultez Accéder aux services externes à l'aide de l'accès aux services privés.

Outils et journaux de diagnostic

Utilisez les outils et journaux suivants pour diagnostiquer les problèmes de réseau :

  • Cloud Logging : affichez les journaux au niveau de l'instance dans Cloud Logging pour identifier les échecs de connexion et les événements système. Pour en savoir plus, consultez Afficher les journaux d'instance.
  • Activité du système Looker : si vous pouvez vous connecter en tant qu'administrateur, consultez le tableau de bord Activité des utilisateurs dans l'activité du système. Ce tableau de bord affiche les échecs de connexion récents, la méthode d'authentification utilisée et les messages d'erreur. Pour en savoir plus, consultez Tableau de bord des activités de l'utilisateur.
  • Journaux de flux VPC : consultez les journaux de flux VPC pour déterminer si le trafic réseau de Looker (Google Cloud Core) atteint votre sous-réseau de destination ou s'il est bloqué par les règles de pare-feu.
  • Cloud Customer Care : si vous avez suivi la procédure de dépannage et que le problème persiste, contactez Cloud Customer Care pour obtenir de l'aide.