GKE 和 Cloud SQL 上的 Apache Guacamole

Last reviewed 2023-11-15 UTC

Apache Guaamole 提供了一种完全基于浏览器的方法,可在 Compute Engine 虚拟机 (VM) 上通过远程桌面协议 (RDP)、虚拟网络计算 (VNC) 和 Secure Shell Protocol (SSH) 访问远程桌面。Identity-Aware Proxy (IAP) 提供对 Guamamole 的访问权限,并且安全性更高。

本参考架构文档适用于希望在 Google Kubernetes Engine (GKE) 和 Cloud SQL 上托管 Apache Guacamole 的服务器管理员和工程师。本文档假定您熟悉如何将工作负载部署到 Kubernetes 和 Cloud SQL for MySQL。本文档还假定您熟悉 Identity and Access Management 和 Google Compute Engine。

架构

下图展示了如何使用 IAP 配置 Google Cloud 负载均衡器,以保护在 GKE 中运行的 Guacamole 客户端实例:

使用 IAP 配置的 Google Cloud 负载均衡器的架构。

此架构包括以下组件:

  • Google Cloud 负载均衡器:将流量分配到多个实例,从而减少性能问题。
  • IAP:通过自定义身份验证扩展程序提供更高的安全性。
  • Guamamole 客户端:在 GKE 中运行并连接到 Guucd 后端服务。
  • Guacd 后端服务:代理与一个或多个 Compute Engine 虚拟机建立远程桌面连接。
  • Cloud SQL 中的 Guacamole 数据库:管理 Guacamole 的配置数据。
  • Compute Engine 实例:托管在 Google 基础架构上的虚拟机。

设计考虑事项

以下指南可帮助您开发满足组织的安全性、费用和性能要求的架构。

安全与法规遵从

此架构使用 IAP,有助于访问 Guamamole 服务。授权用户通过自定义 IAP 身份验证扩展程序登录 Guacamole 实例。如需了解详情,请参阅 GitHub 中的自定义扩展程序

当您通过 Guamamole 界面添加其他用户时,这些额外的用户必须通过 IAM 拥有 IAP-secured Web App User 角色的权限。

此部署创建的 OAuth 配置设置为内部。由于此设置,您必须使用同一组织中与部署 Guamamole 相同的 Google 账号。如果您使用的是组织外部的 Google 账号,则会收到 HTTP/403 org_internal 错误。

性能

Google Cloud 负载均衡器和 GKE 在多个实例之间分配流量,这有助于减少发生性能问题的风险。

部署

如需部署此架构,请参阅在 GKE 和 Cloud SQL 上部署 Apache Guacamole

后续步骤