Cloud Workstations 개요

Cloud Workstations는 기본 제공 보안과 사전 구성되었지만 사용자 지정이 가능한 개발 환경을 갖춘 Google Cloud의 관리형 개발 환경을 제공합니다. 개발자가 소프트웨어를 설치하고 설정 스크립트를 실행하도록 요구하는 대신, 재현 가능한 방식으로 환경을 지정하는 워크스테이션 구성을 만들 수 있습니다. 워크스테이션 구성에 대한 모든 업데이트는 다음에 워크스테이션을 시작할 때 자동으로 워크스테이션에 적용됩니다. 개발자는 여러 로컬 코드 편집기(예: VSCode 및 IntelliJ IDEA Ultimate, PyCharm Professional과 같은 JetBrains IDE) 또는 SSH를 통해 워크스테이션에 액세스합니다.

Cloud Workstations는 다음과 같은 Google Cloud 리소스를 사용하여 개발 환경을 관리합니다:

  • 워크스테이션 클러스터는 특정 리전의 워크스테이션 그룹 및 워크스테이션 그룹이 연결된 VPC 네트워크를 정의합니다. 워크스테이션 클러스터는 Google Kubernetes Engine(GKE) 클러스터와 관련이 없습니다.

  • 워크스테이션 구성은 워크스테이션을 위한 템플릿 역할을 합니다. 워크스테이션 구성은 워크스테이션 가상 머신(VM) 인스턴스 유형, 영구 스토리지, 컨테이너 이미지 정의 환경, 사용할 IDE 또는 코드 편집기 등의 세부정보를 정의합니다. 관리자와 플랫폼 팀은 Identity and Access Management(IAM) 규칙을 사용하여 팀 또는 개별 개발자에게 액세스 권한을 부여할 수도 있습니다.

  • 워크스테이션은 클라우드 IDE, 언어 도구, 라이브러리 등을 제공하는 사전 구성된 개발 환경입니다. 워크스테이션은 필요에 따라 시작하거나 중지할 수 있으며, 세션 간에 데이터를 저장하기 위해 영구 디스크가 연결된 프로젝트의 Compute Engine VM에서 실행할 수 있습니다.

관리자와 플랫폼 팀은 개발팀과 공유하는 워크스테이션 구성을 만듭니다. 각 개발자는 워크스테이션 구성에 따라 workstation을 만듭니다.

개념

그림 1. Cloud Workstations 개념

워크스테이션 수명 주기

워크스테이션은 임시 Compute Engine VM에서 실행되며, 필요에 따라 시작하거나 중지하여 비용을 절감할 수 있습니다. 또한 관리자와 플랫폼 팀은 비용을 절감하기 위해 워크스테이션을 더 이상 사용하지 않을 때 종료되도록 워크스테이션 구성에서 유휴 상태 제한 시간 또는 실행 제한 시간을 구성할 수 있습니다. 또한 각 워크스테이션이 다시 시작될 때 모든 워크스테이션이 해당 워크스테이션 구성에 적용되는 최신 변경사항과 동기화되도록 합니다.

영구 스토리지

워크스테이션이 중지되면 해당 임시 VM은 모든 워크스테이션 런타임 데이터와 함께 삭제됩니다. 관리자와 플랫폼 팀은 워크스테이션 구성에서 영구적인 홈 디렉터리를 선택적으로 구성할 수 있으므로 홈 디렉터리에 저장된 모든 데이터는 세션 간에 유지됩니다. 이 영구 스토리지는 세션이 시작될 때 워크스테이션 VM에 연결되고 세션이 종료되면 분리되는 영구 디스크로 구현됩니다.

워크스테이션 DNS 호스트 이름

모든 워크스테이션에는 고유한 호스트 이름이 지정됩니다. 워크스테이션 클러스터의 모든 워크스테이션은 공통의 클러스터별 도메인 이름을 공유하며, 워크스테이션 클러스터는 이 호스트 이름에 대한 요청을 실행 중인 워크스테이션으로 라우팅하는 작업을 처리합니다. 워크스테이션 호스트 이름은 브라우저를 통해 워크스테이션에 연결할 때 사용할 수 있습니다.

구성 업데이트

워크스테이션 구성 업데이트는 구성 업데이트 후 각 워크스테이션이 다시 시작될 때 워크스테이션에 자동으로 적용됩니다. 예를 들어, 워크스테이션 구성에서 머신 유형을 변경하면 다음에 각 워크스테이션이 다시 시작될 때 연결된 워크스테이션에서 사용하는 VM의 머신 유형이 변경됩니다. 관리자 및 플랫폼 팀은 워크스테이션 구성에서 유휴 상태 제한 시간 또는 실행 제한 시간을 구성하여 워크스테이션이 제한된 시간 내에 구성 업데이트와 동기화되도록 할 수 있습니다.

Gemini Code Assist

Gemini Code Assist는 Google Cloud의 AI 기반 공동작업자입니다. 워크스테이션 구성을 만들 때 Cloud Workstations 기본 편집기(Code OSS for Cloud Workstations)를 선택하면 Gemini가 기본 편집기에서 다음 작업을 도와줍니다.

  • 코드 문제를 해결하는 데 도움이 되는 안내를 제공합니다.

  • 프로젝트에서 사용할 코드 생성하기

  • 코딩하는 동안 인라인 추천을 받습니다.

Gemini는 라이선스 요구사항을 준수하는 데 도움이 되도록 추천이 출처로부터 직접 길게 인용할 경우 출처 인용을 제공합니다. Cloud Workstations에서 Gemini를 사용하는 방법에 대한 자세한 내용은 Gemini Code Assist를 사용한 코드 지원을 참조하세요.

Google Cloud를 위한 Gemini는 사용자의 프롬프트나 프롬프트에 대한 응답을 모델을 학습시키기 위한 데이터로 사용하지 않습니다. 자세한 내용은 Google Cloud를 위한 Gemini에서 데이터를 사용하는 방법을 참조하세요.

Software Delivery Shield

Cloud Workstations는 Software Delivery Shield 솔루션의 일부입니다. Software Delivery Shield는 개발자 워크플로 및 도구의 보안 상태, 소프트웨어 종속 항목, 소프트웨어 빌드 및 배포에 사용되는 CI/CD 시스템, Google Kubernetes Engine 및 Cloud Run과 같은 런타임 환경 개선하는 데 도움이 되는 완전 관리형의 엔드 투 엔드 소프트웨어 공급망 보안 솔루션입니다. Software Delivery Shield의 다른 구성요소와 함께 Cloud Workstations를 사용하여 소프트웨어 공급망의 보안 상태를 개선하는 방법은 Software Delivery Shield 개요를 참조하세요.