Cloud Workstations 문제 해결

이 페이지에는 Cloud Workstations 문제를 해결하는 데 도움이 되는 문제 해결 정보가 포함되어 있습니다.

VM으로 시스템 이미지 가져오기

워크스테이션 구성을 사용하여 워크스테이션을 만들면 Cloud Workstations에서 Artifact Registry (또는 Container Registry)의 시스템 이미지를 가상 머신(VM) 인스턴스로 가져옵니다. 표시되는 오류 메시지는 다음과 비슷합니다.

System images cannot be pulled onto workstation VMs using this configuration.
Ensure that you have set up Cloud NAT or enabled Private Google Access for
Artifact Registry (and Container Registry).

이러한 이미지를 가져오지 못하면 워크스테이션을 시작할 수 없습니다. 다음 사항을 권장합니다.

VM 프로비저닝 시간 초과

워크스테이션 구성을 사용하여 워크스테이션을 만들면 Cloud Workstations에서 워크스테이션을 지원하는 Compute Engine을 만듭니다. VM 프로비저닝에 오류가 있는 경우 표시되는 오류 메시지는 다음과 비슷합니다.

Workstations using this configuration cannot be provisioned due to an unknown error.

다음 사항을 권장합니다.

Cloud NAT 설정 또는 비공개 Google 액세스 사용 설정

구성에서 공개 IP 주소를 사용 중지한 경우 다음 옵션 중 하나를 사용합니다.

  • Cloud Workstations가 이미지를 워크스테이션 VM으로 가져올 수 있도록 Cloud NAT를 설정합니다.

  • 서브넷에서 비공개 Google 액세스를 사용 설정합니다. private.googleapis.com 또는 restricted.googleapis.com 도메인 이름을 사용하는 경우 트래픽을 해당 도메인과 연결된 IP 주소로 전달하는 DNS 레코드를 만듭니다. 특히 각각 *.pkg.dev*.gcr.io에 해당하는 Artifact Registry 및 Container Registry 도메인에 대한 액세스를 사용 설정해야 합니다.

자세한 내용은 비공개 Google 액세스 구성 > 고급 네트워크 구성을 참조하세요.

API가 사용 설정되어 있고 VPC에 액세스할 수 있는지 확인

프로젝트가 VPC 서비스 제어 경계 내에 있으면 Cloud Storage API, Container Registry API, Artifact Registry API가 서비스 경계 내에서 Virtual Private Cloud(VPC)에 액세스할 수 있는지 확인합니다.

TCP 이그레스를 허용하도록 방화벽 규칙 업데이트

Cloud Workstations가 워크스테이션으로 이미지를 가져오도록 포트 80 및 443의 네트워크에서 TCP 이그레스를 허용해야 합니다.

Compute Engine VM 시작 로그에서 발생 가능한 오류 검사

Cloud Workstations에서 만든 VM은 시작 시 직렬 콘솔에 디버그 로그를 출력합니다. 이러한 로그는 서비스에서 VM을 만드는 시간이 초과될 때 유용할 수 있습니다. 워크스테이션용으로 만든 VM 이름은 workstations-로 시작하고 고유 식별자가 뒤에 옵니다. 로그 탐색기에서 다음 필터를 사용하여 로그를 필터링합니다.

SEARCH("workstations-")
sourceLocation.function="main.setupAndRunScript"

이 필터로 로그가 표시되지 않으면 프로젝트에 직렬 포트 로깅이 사용 설정되었는지 확인합니다. 워크스테이션 구성에서 서비스 계정을 지정했으면 Cloud Logging에 로그를 쓸 수 있도록 서비스 계정에 프로젝트에 대한 logging.logEntries.create 권한이 있는지 확인합니다. 직렬 포트 로깅을 사용 설정하고 Compute Engine VM 시작 스크립트를 다시 실행해서 로그를 생성할 수 있도록 필요한 권한을 추가한 후 워크스테이션을 다시 시작해 봅니다.

Compute Engine API 로그에서 발생 가능한 오류 검사

다음 필터를 Stackdriver 로그에 사용합니다.

protoPayload.serviceName="compute.googleapis.com"
severity>=ERROR

Compute Engine API 오류로 인해 워크스테이션 VM 생성이 차단될 수 있습니다.

프로젝트에서 게스트 속성 사용 설정

문제 해결 프로세스를 지원하려면 프로젝트의 게스트 속성을 사용 중지하지 않았는지 확인하세요. Cloud Workstations는 이러한 속성을 사용하여 워크스테이션을 시작할 때 특정 문제를 감지하고 워크스테이션 구성에 이러한 문제를 특정 디버그 메시지로 보고합니다.

중지된 워크스테이션 디버그

워크스테이션이 예기치 않게 중지되면 플랫폼 로그 또는 컨테이너 출력 로그를 확인하여 원인을 파악합니다. 이러한 로그는 워크스테이션 시작 실패, 갑작스러운 종료 또는 일반적인 오류를 식별하는 데 도움이 될 수 있습니다.

CMEK를 사용할 때 워크스테이션이 동시에 종료됨

모든 워크스테이션이 한 번에 종료되고 워크스테이션 구성에서 고객 관리 암호화 키 (CMEK)를 사용하는 경우 CMEK에 올바른 권한을 구성했는지 확인합니다.

특히 Compute Engine 서비스 에이전트(service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com)에 CMEK에 대한 Cloud Key Management Service CryptoKey 암호화/복호화(roles/cloudkms.cryptoKeyEncrypterDecrypter) 역할이 있는지 확인합니다. Compute Engine 서비스 에이전트에 키에 액세스하는 데 필요한 권한이 없으면 Compute Engine에서 기본 VM을 자동으로 종료합니다. 자세한 내용은 CMEK를 사용하여 워크스테이션 리소스 암호화를 참조하세요.