Apache Guacamole sur GKE et Cloud SQL

Last reviewed 2023-11-15 UTC

Apache Guacamole propose un moyen d'accéder aux bureaux à distance entièrement basé sur navigateur via le protocole RDP (Remote Desktop Protocol), le protocole VNC (Virtual Network Computing) et le protocole SSH (Secure Shell) sur les machines virtuelles (VM) Compute Engine. Identity-Aware Proxy (IAP) permet un accès à Guacamole avec une sécurité renforcée.

Ce document d'architecture de référence est destiné aux ingénieurs et administrateurs de serveur qui souhaitent héberger Apache Guacamole sur Google Kubernetes Engine (GKE) et Cloud SQL. Dans ce document, nous partons du principe que vous maîtrisez le déploiement de charges de travail sur Kubernetes et Cloud SQL pour MySQL. Nous partons également du principe que vous connaissez bien Identity and Access Management et Google Compute Engine.

Architecture

Le schéma suivant montre comment un équilibreur de charge Google Cloud est configuré avec IAP pour protéger une instance du client Guacamole s'exécutant dans GKE :

Architecture de l'équilibreur de charge Google Cloud configuré avec IAP.

Cette architecture comprend les composants suivants :

  • Équilibreur de charge Google Cloud : distribue le trafic sur plusieurs instances, ce qui réduit le risque de problèmes de performances.
  • IAP : fournit une sécurité renforcée via une extension d'authentification personnalisée.
  • Client Guacamole : s'exécute dans GKE et se connecte au service de backend guacd.
  • Service de backend guacd : service Broker pour les connexions de bureau à distance à une ou plusieurs VM Compute Engine.
  • Base de données Guacamole dans Cloud SQL : gère les données de configuration pour Guacamole.
  • Instances Compute Engine : VM hébergées sur l'infrastructure Google.

Considérations de conception

Les consignes suivantes peuvent vous aider à développer une architecture répondant aux exigences de votre organisation en termes de sécurité, de coût et de performances.

Sécurité et conformité

Cette architecture intègre IAP pour aider à protéger l'accès au service Guacamole. Les utilisateurs autorisés se connectent à l'instance Guacamole via une extension d'authentification IAP personnalisée. Pour en savoir plus, consultez la documentation de référence sur l'extension personnalisée dans GitHub.

Lorsque vous ajoutez des utilisateurs (via l'interface utilisateur Guacamole), ces utilisateurs supplémentaires doivent disposer d'autorisations via IAM dotées du rôle IAP-secured Web App User.

La configuration OAuth créée par ce déploiement est définie sur interne. En raison de ce paramètre, vous devez utiliser un compte Google dans la même organisation que celle utilisée pour déployer Guacamole. Si vous utilisez un compte Google en dehors de l'organisation, vous recevez une erreur HTTP/403 org_internal.

Performances

L'équilibreur de charge Google Cloud et GKE distribue le trafic sur plusieurs instances, ce qui permet de réduire le risque de problèmes de performances.

Déploiement

Pour déployer cette architecture, consultez la section Déployer Apache Guacamole sur GKE et Cloud SQL.

Étape suivante