GKE 및 Cloud SQL 기반의 Apache Guacamole

Last reviewed 2023-11-15 UTC

Apache Guacamole는 Compute Engine 가상 머신(VM)에서 원격 데스크톱 프로토콜(RDP), 가상 네트워크 컴퓨팅(VNC), 보안 셸 프로토콜(SSH)을 통해 원격 데스크톱에 액세스하는 완전한 브라우저 기반 방법을 제공합니다. IAP(Identity-Aware Proxy)는 향상된 보안으로 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 사용자 인터페이스를 통해 사용자를 추가하면 이 추가 사용자는 IAP-secured Web App User 역할을 가진 IAM을 통해 권한이 있어야 합니다.

이 배포로 생성되는 OAuth 구성은 내부로 설정됩니다. 이 설정으로 인해 Guacamole을 배포하는 데 사용한 조직과 동일한 조직의 Google 계정을 사용해야 합니다. 조직 외부에서 Google 계정을 사용하는 경우 HTTP/403 org_internal 오류가 발생합니다.

성능

Google Cloud 부하 분산기와 GKE는 여러 인스턴스에 트래픽을 분산하므로 성능 문제 위험을 줄일 수 있습니다.

배포

이 아키텍처를 배포하려면 GKE 및 Cloud SQL에 Apache Guacamole 배포하기를 참조하세요.

다음 단계