Apache Guacamole di GKE dan Cloud SQL

Last reviewed 2023-11-15 UTC

Apache Guacamole menawarkan cara yang sepenuhnya berbasis browser untuk mengakses desktop jarak jauh melalui Remote Desktop Protocol (RDP), Virtual Network Computing (VNC), dan Secure Shell Protocol (SSH) pada Compute Engine Virtual machines (VMs). Identity-Aware Proxy (IAP) memberikan akses ke Guacamole dengan keamanan yang lebih baik.

Dokumen arsitektur referensi ini ditujukan untuk administrator server dan engineer yang ingin menghosting Apache Guacamole di Google Kubernetes Engine (GKE) dan Cloud SQL. Dokumen ini mengasumsikan bahwa Anda telah memahami penerapan beban kerja ke Kubernetes dan Cloud SQL untuk MySQL. Dokumen ini juga mengasumsikan bahwa Anda memahami Identity and Access Management dan Google Compute Engine.

Arsitektur

Diagram berikut menunjukkan cara load balancer Google Cloud dikonfigurasi dengan IAP, untuk melindungi instance klien Guacamole yang berjalan di GKE:

Arsitektur untuk load balancer Google Cloud yang dikonfigurasi dengan IAP.

Arsitektur ini mencakup komponen berikut:

  • Load balancer Google Cloud: Mendistribusikan traffic ke beberapa instance, sehingga mengurangi risiko masalah performa.
  • IAP: Memberikan sekuritas yang lebih baik melalui ekstensi autentikasi khusus.
  • Klien Guacamole: Beroperasi di GKE dan terhubung dengan layanan backend guacd.
  • Layanan backend Guacd: Broker koneksi desktop pada satu atau beberapa VMs Compute Engine.
  • Database Guacamole dalam Cloud SQL: Mengelola data konfigurasi untuk Guacamole.
  • Instance Compute Engine: VM yang dihosting pada infrastruktur Google.

Pertimbangan desain

Panduan berikut dapat membantu Anda untuk mengembangkan arsitektur yang memenuhi kriteria organisasi Anda dalam hal keamanan, biaya, dan performa.

Keamanan dan kepatuhan

Arsitektur ini menggunakan IAP untuk membantu melindungi akses ke layanan Guacamole. Pengguna yang diizinkan login ke instance Guacamole melalui ekstensi autentikasi IAP kustom. Untuk mengetahui secara detail, lihat pada ekstensi kustom di GitHub.

Saat Anda menambahkan pengguna lain (melalui antarmuka pengguna Guacamole), pengguna tambahan ini harus memiliki izin melalui IAM, dengan IAP-secured Web App User peran.

Konfigurasi OAuth yang dibuat oleh deployment ini disetel ke internal. Dengan adanya setelan ini, Anda harus menggunakan akun Google di organisasi yang sama dengan yang Anda gunakan untuk men-deploy Guacamole. Jika Anda menggunakan akun Google dari luar organisasi, Anda akan menjumpaiHTTP/403 org_internal error.

Performa

Load balancer Google Cloud dan GKE mendistribusikan traffic ke berbagai instance, sehingga membantu mengurangi risiko masalah performa.

Deployment

Untuk men-deploy arsitektur ini, lihat Men-deploy Apache Guacamole di GKE dan Cloud SQL.

Apa Langkah Selanjutnya?