Apache Guacamole in GKE und Cloud SQL

Last reviewed 2023-11-15 UTC

Apache Guacamole bietet eine vollständig browserbasierte Möglichkeit, auf Remote Desktops über Remote Desktop Protocol (RDP), Virtual Network Computing (VNC) und Secure Shell Protocol (SSH) auf Compute Engine-VMs zuzugreifen. Identity-Aware Proxy (IAP) bietet Zugriff auf Guacamole mit verbesserter Sicherheit.

Dieses Referenzarchitekturdokument richtet sich an Serveradministratoren und Entwickler, die Apache Guacamole in Google Kubernetes Engine (GKE) und Cloud SQL hosten möchten. In diesem Dokument wird davon ausgegangen, dass Sie mit dem Bereitstellen von Arbeitslasten in Kubernetes und Cloud SQL for MySQL vertraut sind. In diesem Dokument wird auch davon ausgegangen, dass Sie mit Identity and Access Management und Google Compute Engine vertraut sind.

Architektur

Das folgende Diagramm zeigt, wie ein Google Cloud-Load-Balancer mit IAP konfiguriert wird, um eine in GKE ausgeführte Instanz des Guacamole-Clients zu schützen:

Architektur für Google Cloud-Load-Balancer, der mit IAP konfiguriert ist.

Diese Architektur umfasst die folgenden Komponenten:

  • Google Cloud-Load-Balancer: Verteilt den Traffic auf mehrere Instanzen, wodurch das Risiko von Leistungsproblemen reduziert wird.
  • IAP: Bietet eine höhere Sicherheit durch eine benutzerdefinierte Authentifizierungserweiterung.
  • Guacamole-Client: Wird in GKE ausgeführt und stellt eine Verbindung zum gesicherten Backend-Dienst her.
  • Guacd-Backend-Dienst: Broker Remote Desktop-Verbindungen zu einer oder mehreren Compute Engine-VMs.
  • Guacamole-Datenbank in Cloud SQL: Verwaltet Konfigurationsdaten für Guacamole.
  • Compute Engine-Instanzen: VMs, die in der Google-Infrastruktur gehostet werden.

Überlegungen zum Design

Die folgenden Richtlinien können Ihnen bei der Entwicklung einer Architektur helfen, die den Anforderungen Ihrer Organisation hinsichtlich Sicherheit, Kosten und Leistung entspricht.

Sicherheit und Compliance

Diese Architektur verwendet IAP, um den Zugriff auf den Guacamole-Dienst zu schützen. Autorisierte Nutzer melden sich über eine benutzerdefinierte IAP-Authentifizierungserweiterung bei der Guacamole-Instanz an. Weitere Informationen finden Sie in der benutzerdefinierten Erweiterung in GitHub.

Wenn Sie zusätzliche Nutzer (über die Guacamole-Benutzeroberfläche) hinzufügen, muss diesen zusätzlichen Nutzer Berechtigungen über IAM mit der Rolle IAP-secured Web App User gewährt werden.

Die OAuth-Konfiguration, die von diesem Deployment erstellt wird, ist auf internal gesetzt. Aufgrund dieser Einstellung müssen Sie ein Google-Konto in derselben Organisation wie das Projekt verwenden, mit dem Sie Guacamole bereitstellen. Wenn Sie ein Google-Konto außerhalb der Organisation verwenden, erhalten Sie die Fehlermeldung HTTP/403 org_internal.

Leistung

Der Google Cloud-Load-Balancer und GKE verteilen den Traffic auf mehrere Instanzen, wodurch das Risiko von Leistungsproblemen reduziert wird.

Bereitstellung

Informationen zum Bereitstellen dieser Architektur finden Sie unter Apache Guacamole in GKE und Cloud SQL bereitstellen.

Nächste Schritte