GKE および Cloud SQL の Apache Guacamole

Last reviewed 2023-11-15 UTC

Apache Guacamole は、Compute Engine 仮想マシン(VM)上のリモート デスクトップ プロトコル(RDP)、仮想ネットワーク コンピューティング(VNC)、Secure Shell プロトコル(SSH)を介して、リモート デスクトップにアクセスする完全なブラウザベースの方法を提供します。Identity-Aware Proxy(IAP)を使用すると、セキュリティが強化された Guacamole にアクセスできます。

このリファレンス アーキテクチャのドキュメントは、Google Kubernetes Engine(GKE)と Cloud SQL で Apache Guacamole をホストするサーバー管理者とエンジニアを対象としています。このドキュメントは、読者が Kubernetes と Cloud SQL for MySQL へのワークロードのデプロイに精通していることを前提としています。また、Identity and Access Management と Google Compute Engine の知識があることも前提としています。

アーキテクチャ

次の図は、Google Cloud ロードバランサが IAP で構成され、これにより GKE で実行されている Guacamole クライアントのインスタンスが保護される仕組みを示しています。

IAP で構成された Google Cloud ロードバランサのアーキテクチャ。

このアーキテクチャには次のコンポーネントが含まれています。

  • Google Cloud ロードバランサ: トラフィックを複数のインスタンスに分散して、パフォーマンスの問題のリスクを軽減します。
  • IAP: カスタム認証拡張機能によりセキュリティを強化します。
  • Guacamole クライアント: GKE で実行され、guacd バックエンド サービスに接続します。
  • Guacd バックエンド サービス: 1 つ以上の Compute Engine VM へのブローカーのリモート デスクトップ接続を仲介します。
  • Cloud SQL の Guacamole データベース: Guacamole の構成データを管理します。
  • Compute Engine インスタンス: Google インフラストラクチャでホストされる VM。

設計上の考慮事項

次のガイドラインは、セキュリティ、費用、パフォーマンスに関する組織の要件を満たすアーキテクチャを開発するために役立ちます。

セキュリティとコンプライアンス

このアーキテクチャでは、IAP を使用して Guacamole サービスへのアクセスを保護します。承認済みのユーザーは、カスタム IAP 認証拡張機能を使用して Guacamole インスタンスにログインします。詳しくは、GitHub のカスタム拡張機能をご覧ください。

(Guacamole ユーザー インターフェースから)ユーザーを追加する場合、これらの追加ユーザーには、IAM による権限と IAP-secured Web App User ロールが必要です。

このデプロイにより作成される OAuth 構成は、内部に設定されます。この設定のため、Gacamole のデプロイに使用する組織と同じ組織で Google アカウントを使用する必要があります。組織外の Google アカウントを使用すると、HTTP/403 org_internal エラーが発生します。

パフォーマンス

Google Cloud ロードバランサと GKE は、トラフィックを複数インスタンスに分散します。これにより、パフォーマンスの問題のリスクを軽減できます。

デプロイ

このアーキテクチャをデプロイするには、GKE と Cloud SQL に Apache Guacamole をデプロイするをご覧ください。

次のステップ