Apache Guacamole en GKE y Cloud SQL

Last reviewed 2025-01-09 UTC

Apache Guacamole ofrece una forma totalmente basada en navegador de acceder a escritorios remotos a través de los protocolos de escritorio remoto (RDP), Virtual Network Computing (VNC) y Secure Shell (SSH) en máquinas virtuales (VMs) de Compute Engine. Identity-Aware Proxy (IAP) proporciona acceso a Guacamole con una seguridad mejorada.

Este documento de arquitectura de referencia está dirigido a administradores e ingenieros de servidores que quieran alojar Apache Guacamole en Google Kubernetes Engine (GKE) y Cloud SQL. En este documento se da por hecho que sabes cómo implementar cargas de trabajo en Kubernetes y Cloud SQL para MySQL. En este documento también se presupone que tienes conocimientos sobre Gestión de Identidades y Accesos y Google Compute Engine.

Arquitectura

En el siguiente diagrama se muestra cómo se configura un balanceador de carga con IAP para proteger una instancia del cliente de Guacamole que se ejecuta en GKE: Google Cloud

Arquitectura de un balanceador de carga Google Cloud configurado con IAP.

Esta arquitectura incluye los siguientes componentes:

  • Google Cloud Balanceador de carga: distribuye el tráfico entre varias instancias, lo que reduce el riesgo de que se produzcan problemas de rendimiento.
  • IAP: proporciona una seguridad mejorada a través de una extensión de autenticación personalizada.
  • Cliente de Guacamole: se ejecuta en GKE y se conecta al servicio backend guacd.
  • Servicio backend de guacd: intermedia las conexiones de escritorio remoto a una o varias VMs de Compute Engine.
  • Base de datos de Guacamole en Cloud SQL: gestiona los datos de configuración de Guacamole.
  • Instancias de Compute Engine: máquinas virtuales alojadas en la infraestructura de Google.

Factores del diseño

Las siguientes directrices pueden ayudarte a desarrollar una arquitectura que cumpla los requisitos de seguridad, coste y rendimiento de tu organización.

Seguridad y cumplimiento

Esta arquitectura usa IAP para proteger el acceso al servicio Guacamole. Los usuarios autorizados inician sesión en la instancia de Guacamole a través de una extensión de autenticación de IAP personalizada. Para obtener más información, consulta la extensión personalizada en GitHub.

Cuando añadas usuarios adicionales (a través de la interfaz de usuario de Guacamole), estos usuarios deben tener permisos a través de gestión de identidades y accesos, con el rol IAP-secured Web App User.

La configuración de OAuth que crea este despliegue se establece como interna. Debido a este ajuste, debes usar una cuenta de Google de la misma organización que la que usas para implementar Guacamole. Si usas una cuenta de Google que no pertenece a la organización, recibirás un error HTTP/403 org_internal.

Rendimiento

Google Cloud balanceador de carga y GKE distribuye el tráfico entre varias instancias, lo que ayuda a reducir el riesgo de que se produzcan problemas de rendimiento.

Implementación

Para desplegar esta arquitectura, consulta Desplegar Apache Guacamole en GKE y Cloud SQL.

¿Qué debo hacer ahora?

Colaboradores

Autor: Richard Grime | Arquitecto principal de la administración pública del Reino Unido

Otros colaboradores: