Apache Guamole en GKE y Cloud SQL

Last reviewed 2023-11-15 UTC

Apache Guamole ofrece una forma completamente basada en navegador para acceder a escritorios remotos a través del protocolo de escritorio remoto (RDP), la computación de red virtual (VNC) y el protocolo de shell seguro (SSH) en máquinas virtuales (VMs) de Compute Engine. . Identity-Aware Proxy (IAP) proporciona acceso a Guacamole con mayor seguridad.

Este documento de arquitectura de referencia está dirigido a ingenieros y administradores de servidores que desean alojar Apache Gacamole en Google Kubernetes Engine (GKE) y Cloud SQL. En este documento, se supone que estás familiarizado con la implementación de cargas de trabajo en Kubernetes y Cloud SQL para MySQL. En este documento, también se supone que estás familiarizado con Identity and Access Management y Google Compute Engine.

Arquitectura

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

Arquitectura para el balanceador de cargas de Google Cloud configurado con IAP.

Esta arquitectura incluye los siguientes componentes:

  • Balanceador de cargas de Google Cloud: Distribuye el tráfico en varias instancias, lo que reduce el riesgo de problemas de rendimiento.
  • IAP: Proporciona una seguridad mejorada a través de una extensión de autenticación personalizada.
  • Cliente Guacamole: Se ejecuta en GKE y se conecta al servicio de backend de guacd.
  • Servicio de backend de Gitac: Agentes de conexiones remotas de escritorio a una o más VMs de Compute Engine.
  • Base de datos Guacamole en Cloud SQL: Administra los datos de configuración de Guacamole.
  • Instancias de Compute Engine: VMs alojadas en la infraestructura de Google.

Consideraciones del diseño

Los siguientes lineamientos pueden ayudarte a desarrollar una arquitectura que cumpla con los requisitos de seguridad, costo y rendimiento de tu organización.

Seguridad y cumplimiento

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

Cuando agregas usuarios adicionales (a través de la interfaz de usuario de Guacamole), estos deben tener permisos a través de IAM, con la función IAP-secured Web App User.

La configuración de OAuth que crea esta implementación se establece como interna. Debido a este parámetro de configuración, debes usar una Cuenta de Google en la misma organización que usas para implementar Guacamole. Si usas una Cuenta de Google fuera de la organización, recibirás un error HTTP/403 org_internal.

Rendimiento

El balanceador de cargas de Google Cloud y GKE distribuyen el tráfico entre varias instancias, lo que ayuda a reducir el riesgo de problemas de rendimiento.

Deployment

Para implementar esta arquitectura, consulta Implementa Apache Guamole en GKE y Cloud SQL.

Próximos pasos