Soluciona problemas de redes de Looker (Google Cloud Core)

Autenticación de OIDC, errores de tiempo de espera, Private Service Connect y acceso privado a servicios.

Si tu instancia de Looker (Google Cloud Core) no se conecta a servicios externos, proveedores de identidad o back-ends de bases de datos, usa esta guía para diagnosticar y resolver problemas comunes de redes. Puedes solucionar problemas de fallas en la autenticación de OpenID Connect (OIDC), tiempos de espera de 504 y HttpClient:ConnectTimeoutError, y errores de propagación de rutas para Private Service Connect (PSC) y el acceso privado a servicios.

Falla en la autenticación de OpenID Connect con salida controlada

Cuando configuras la autenticación de OpenID Connect en una instancia de Looker (Google Cloud Core) configurada con Private Service Connect y con la salida controlada habilitada, es posible que la autenticación falle.

Síntomas

Si falló la autenticación, es posible que experimentes alguno de los siguientes síntomas:

  • El extremo /openidconnect de Looker se bloquea durante aproximadamente 60 segundos en el navegador antes de mostrar un error o agotar el tiempo de espera con un error 504 Upstream Request Timeout o 504 Gateway Timeout.
  • Tu proveedor de identidad muestra un mensaje de error que indica que el URI de redireccionamiento no coincide, como el siguiente:

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

    Este mensaje de error es engañoso porque el URI de redireccionamiento que configuraste en tu proveedor de identidad podría ser correcto. La falla real se produce cuando Looker (Google Cloud Core) no puede comunicarse con el extremo del token del proveedor de identidad durante el intercambio de backend.

Causa

En ocasiones, el flujo de trabajo de aprovisionamiento automatizado para la salida controlada no puede crear la ruta de red de Secure Web Proxy (looker-swp-route) necesaria en el proyecto de usuario de Looker (Google Cloud Core).

Cuando falta esta ruta, se agota el tiempo de espera de las solicitudes de backend de Looker (Google Cloud Core) al endpoint de token del proveedor de identidad porque la instancia no puede enrutar el tráfico saliente a Internet pública a través del Secure Web Proxy.

Solución

Para resolver este problema, sigue estos pasos para restablecer la configuración de salida controlada y forzar al sistema a volver a crear la ruta de red faltante:

  1. En la consola de Google Cloud , ve a la página Looker:

    Ir a Looker

  2. Haz clic en el nombre de la instancia que deseas actualizar.

  3. Haz clic en Editar.

  4. Expande la sección Conexiones y ve a la sección Configurar conexiones salientes.

  5. Registra todos los nombres de dominio completamente calificados (FQDN) existentes que se enumeran en la sección FQDN global (como los extremos de tu proveedor de identidad).

  6. Borra todos los FQDN que se enumeran en la sección FQDN global.

  7. Desmarca la casilla de verificación Habilitar Looker para conectarse a servicios externos para inhabilitar la salida controlada.

  8. Haz clic en Guardar.

  9. Espera a que finalice la actualización de la instancia y a que se borren los cambios de configuración.

  10. Haz clic de nuevo en Editar.

  11. Expande la sección Conexiones y selecciona la casilla de verificación Habilitar Looker para conectarse a servicios externos.

  12. En la sección FQDN global, vuelve a agregar los FQDN necesarios para tu proveedor de identidad y cualquier otro servicio externo.

  13. Haz clic en Guardar.

El restablecimiento de la salida controlada activa el proceso de aprovisionamiento automatizado para volver a crear la ruta de red looker-swp-route faltante. Una vez que se crea la ruta, se pueden completar las solicitudes de backend salientes al proveedor de identidad.

Error 504 de tiempo de espera de solicitud ascendente

Cuando se realiza la autenticación con un servicio externo o un proveedor de identidad en una instancia de Looker (Google Cloud Core) con la salida controlada habilitada, es posible que la solicitud falle con un error de tiempo de espera.

Síntomas

Recibes un error 504 Upstream Request Timeout en tu navegador después de volver de la página de acceso de un proveedor de identidad o cuando te conectas a un servicio externo.

Causa

Un error 504 Upstream Request Timeout indica que la instancia de Looker (Google Cloud Core) no puede acceder al dominio externo a través de la salida controlada. A diferencia de los errores de ruta faltante, un error 504 suele significar que la ruta de red existe, pero falta un dominio requerido en la lista de entidades permitidas del FQDN global y se está bloqueando, o bien la solicitud está agotando el tiempo de espera en la puerta de enlace.

Solución

Para resolver el problema, sigue estos pasos:

  1. Verifica los FQDNs requeridos: En la consola de Google Cloud , verifica que todos los dominios que requiere tu servicio externo o proveedor de identidad se hayan agregado a la lista de FQDN global. Los flujos de autenticación de OIDC a menudo requieren varios extremos (como los extremos de autorización, token y de información del usuario) que pueden usar diferentes dominios.
  2. Captura un registro de red: Si el error persiste, captura un registro de red del navegador (archivo HAR) mientras reproduces el problema. Busca en el registro códigos de estado 504 o solicitudes HTTP fallidas para identificar los dominios con los que se estableció contacto durante el flujo, pero que no se incluyen en tu lista de FQDN globales.
  3. Restablecer la configuración: Si los FQDN requeridos están presentes, pero las solicitudes siguen agotando el tiempo de espera, sigue los pasos de la Resolución para los errores de autenticación de OpenID Connect y restablece la configuración de salida controlada.

HttpClient:Se agotó el tiempo de espera de ConnectTimeoutError

Cuando se prueba una conexión de OpenID Connect o cualquier otra conexión de red externa en el panel de administración de Looker, es posible que la prueba de conexión falle con un error de tiempo de espera.

Síntomas

Cuando ejecutas una prueba de conexión en el panel de administrador de Looker (por ejemplo, en la página OpenID Connect Authentication), Looker devuelve el siguiente error:

HttpClient:ConnectTimeoutError execution expired

Causa

Este error indica que la instancia de Looker (Google Cloud Core) no tiene la ruta de red necesaria para comunicarse con el servicio externo o el proveedor de identidad. Por lo general, este problema se produce cuando se cumple alguna de las siguientes condiciones:

  • Falta la propagación de rutas: Cloud Router usa la configuración predeterminada y no propaga las rutas de la red de VPC (como las rutas anunciadas personalizadas) a la instancia de Looker (Google Cloud Core).
  • Falta el NEG de Internet: No se configuró un grupo de extremos de red (NEG) de Internet en tu red de VPC para enrutar el tráfico al servicio externo.

Solución

Para resolver el problema, sigue estos pasos:

  1. Configura la propagación de rutas de Cloud Router: Verifica que Cloud Router esté configurado para propagar las rutas de red de VPC necesarias a tu instancia de Looker (Google Cloud Core) configurando rutas anunciadas personalizadas.
  2. Configura un NEG de Internet: Configura un NEG de Internet en tu red de VPC para permitir que la instancia de Looker (Google Cloud Core) enrute el tráfico de salida al proveedor o servicio de identidad externo.
  3. Verifica el acceso privado a servicios: En el caso de las instancias que usan acceso privado a servicios, asegúrate de que tu red de VPC esté correctamente interconectada con los servicios de Google. Para obtener más información, consulta Cómo acceder a servicios externos con acceso privado a servicios.

Problemas de conexión de Private Service Connect descendente

En el caso de las instancias de Looker (Google Cloud Core) que usan Private Service Connect para las conexiones salientes a los back-ends de bases de datos o los servicios publicados, es posible que encuentres errores de conexión incluso cuando el estado del extremo sea Accepted.

Estos son algunos problemas habituales:

  • Errores de resolución de nombres de host: Si Looker (Google Cloud Core) muestra un error Unknown host cuando se prueba una conexión, verifica que el nombre de host configurado coincida con el registro DNS de tu red privada y que el balanceador de cargas de backend esté en buen estado.
  • Agota el tiempo de espera de la conexión: Si se agota el tiempo de espera de las conexiones, verifica las reglas de firewall de tu VPC para confirmar que se permita el tráfico de entrada desde la subred de NAT de Private Service Connect a los servidores de backend de tu balanceador de cargas.
  • Estado pendiente o cerrado: Si el estado del adjunto de servicio es Pending o Closed, verifica que el proyecto del consumidor esté en la lista de entidades permitidas del adjunto de servicio y que se hayan configurado las verificaciones de estado de TCP obligatorias.

Para ver flujos de trabajo de diagnóstico detallados y un árbol de decisión, consulta Solución de problemas de conexiones de Private Service Connect de salida.

Problemas de conectividad y ruta de acceso privado a servicios

En el caso de las instancias de Looker (Google Cloud Core) que usan el acceso privado a servicios, la comunicación saliente a servicios externos requiere una propagación de rutas y una infraestructura de red adecuadas:

  • Propagación de rutas: Verifica que Cloud Router esté configurado para propagar rutas de la red de VPC a la instancia de Looker (Google Cloud Core), como rutas anunciadas personalizadas.
  • Grupos de extremos de red de Internet: Si tu instancia necesita llegar a extremos externos a través del acceso privado a servicios, asegúrate de que haya un grupo de extremos de red (NEG) de Internet configurado en tu red de VPC.

Si faltan estas rutas o grupos de extremos, las pruebas de conexión a extremos externos fallarán con un error de HttpClient:ConnectTimeoutError execution expired.

Para obtener más información, consulta Cómo acceder a servicios externos con acceso privado a servicios.

Registros y herramientas de diagnóstico

Usa las siguientes herramientas y registros para diagnosticar problemas de redes:

  • Cloud Logging: Consulta los registros a nivel de la instancia en Cloud Logging para identificar fallas de conexión y eventos del sistema. Para obtener más información, consulta Visualiza los registros de la instancia.
  • Actividad del sistema de Looker: Si puedes acceder como administrador, revisa el panel Actividad del usuario en Actividad del sistema. En este panel, se muestran los errores de acceso recientes, el método de autenticación que se usó y los mensajes de error. Para obtener más información, consulta el panel de actividad del usuario.
  • Registros de flujo de VPC: Marca Registros de flujo de VPC para determinar si el tráfico de red de Looker (Google Cloud Core) llega a tu subred de destino o si las reglas de firewall lo bloquean.
  • Atención al cliente de Cloud: Si completaste los pasos para solucionar problemas y el problema persiste, comunícate con Atención al cliente de Cloud para obtener ayuda.