在 GKE 和 Cloud SQL 上安裝 Apache Guacamole

Last reviewed 2025-01-09 UTC

Apache Guacamole 提供全瀏覽器式方法,可透過遠端桌面通訊協定 (RDP)、虛擬網路運算 (VNC) 和安全殼層通訊協定 (SSH),存取 Compute Engine 虛擬機器 (VM) 上的遠端桌面。Identity-Aware Proxy (IAP) 可提供 Guacamole 存取權,並提升安全性。

本參考架構文件適用於想在 Google Kubernetes Engine (GKE) 和 Cloud SQL 上代管 Apache Guacamole 的伺服器管理員和工程師。本文假設您熟悉如何將工作負載部署至 Kubernetes 和 MySQL 適用的 Cloud SQL。此外,本文也假設您熟悉 Identity and Access Management 和 Google Compute Engine。

架構

下圖顯示如何使用 IAP 設定負載平衡器,保護在 GKE 中執行的 Guacamole 用戶端執行個體: Google Cloud

已設定 IAP 的 Google Cloud 負載平衡器架構。

這個架構包含下列元件:

  • Google Cloud 負載平衡器:將流量分配到多個執行個體,降低發生效能問題的風險。
  • IAP:透過自訂驗證擴充功能,提供更完善的安全性。
  • Guacamole 用戶端:在 GKE 中執行,並連線至 guacd 後端服務。
  • Guacd 後端服務:仲介與一或多個 Compute Engine VM 的遠端桌面連線。
  • Cloud SQL 中的 Guacamole 資料庫:管理 Guacamole 的設定資料。
  • Compute Engine 執行個體:在 Google 基礎架構上代管的 VM。

設計須知

下列指南可協助您開發符合貴機構安全性、成本和效能需求的架構。

安全性與法規遵循

這個架構會使用 IAP,協助保護 Guacamole 服務的存取權。授權使用者透過自訂 IAP 驗證擴充功能登入 Guacamole 執行個體。詳情請參閱 GitHub 中的自訂擴充功能

透過 Guacamole 使用者介面新增其他使用者時,這些使用者必須透過 IAM 取得權限,並具備 IAP-secured Web App User 角色。

這項部署作業建立的 OAuth 設定會設為「內部」。因此,您必須使用與部署 Guacamole 時相同的機構 Google 帳戶。如果使用機構外部的 Google 帳戶,系統會顯示 HTTP/403 org_internal 錯誤。

成效

Google Cloud 負載平衡器和 GKE 會將流量分配到多個執行個體,有助於降低發生效能問題的風險。

部署作業

如要部署這個架構,請參閱「在 GKE 和 Cloud SQL 上部署 Apache Guacamole」。

後續步驟

貢獻者

作者:Richard Grime | 英國公部門首席架構師

其他貢獻者: