在 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 設定 Google Cloud 負載平衡器,保護在 GKE 中執行的 Guacamole 用戶端執行個體:

設定 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 設定會設為「internal」。由於這項設定,您必須使用與部署 Guacamole 時相同的組織中的 Google 帳戶。如果您使用組織外部的 Google 帳戶,會收到 HTTP/403 org_internal 錯誤。

效能

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

部署作業

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

後續步驟

貢獻者

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

其他貢獻者: