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 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?
- Tinjau panduan GKE tentang Melakukan hardening pada keamanan cluster Anda.
- Tinjau Mengenkripsikan secret di lapisan aplikasi guna meningkatkan keamanan pada secret, seperti kredensial database dan kredensial OAuth.
- Tinjau Kondisi IAM untuk mempelajari cara memberikan kontrol yang lebih terperinci untuk akses pengguna ke Guacamole.
- Pahami lebih lanjut cara kerja integrasi IAP dengan meninjau penyedia autentikasi kustom di repositori GitHub.
- Untuk arsitektur referensi, diagram, dan praktik terbaik lainnya jelajahi Pusat Arsitektur Cloud.