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) 규칙을 사용하여 팀 또는 개별 개발자에게 액세스 권한을 부여할 수도 있습니다.

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

관리자 및 플랫폼팀이 개발팀과 공유하는 워크스테이션 구성을 만듭니다. 각 개발자는 워크스테이션 구성을 기반으로 워크스테이션을 만듭니다.

개념

그림 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를 사용한 코드 지원을 참조하세요.

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 개요를 참조하세요.