本頁面提供疑難排解資訊,協助您解決 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).
如果無法提取這些映像檔,您可能就無法啟動工作站。以下是一些建議:
- 設定 Cloud NAT 或啟用 Private Google Access。
- 確認 API 已啟用且可透過 VPC 存取。
- 更新防火牆規則,允許 TCP 輸出。
- 檢查 Compute Engine VM 啟動記錄,找出可能發生的錯誤。
- 在專案中啟用訪客屬性。
佈建 VM 時逾時
使用工作站設定建立工作站時,Cloud Workstations 會建立 Compute Engine 來支援工作站。如果 VM 佈建作業發生錯誤,系統會顯示類似下列內容的錯誤訊息:
Workstations using this configuration cannot be provisioned due to an unknown error.
以下是一些建議:
設定 Cloud NAT 或啟用 Private Google Access
如果您在設定中停用了公開 IP 位址,請使用下列其中一個選項:
設定 Cloud NAT,允許 Cloud Workstations 將映像檔提取到工作站 VM。
在子網路中啟用Private Google Access。如果您使用
private.googleapis.com或restricted.googleapis.com網域名稱,請建立 DNS 記錄,將流量導向與這些網域相關聯的 IP 位址。具體來說,您需要確保啟用 Artifact Registry 和 Container Registry 網域的存取權,分別對應至*.pkg.dev和*.gcr.io。
詳情請參閱「設定私人 Google 存取權」>「 進階網路設定」。
確認已啟用 API,且可透過 VPC 存取
如果專案位於 VPC Service Controls 範圍內,請確認 Cloud Storage API、Container Registry API 和 Artifact Registry API 可透過虛擬私有雲 (VPC) 存取服務範圍。
更新防火牆規則,允許 TCP 輸出
請確保您允許網路在通訊埠 80 和 443 上輸出 TCP,讓 Cloud Workstations 將映像檔提取到工作站。
檢查 Compute Engine VM 啟動記錄,找出可能發生的錯誤
Cloud Workstations 建立的 VM 會在啟動時,將偵錯記錄輸出至序列主控台。
如果服務在建立 VM 時逾時,這些記錄會很有幫助。為工作站建立的 VM 名稱開頭為 workstations-,後面接著專屬 ID。
在記錄檔探索工具中使用下列篩選器篩選記錄:
SEARCH("workstations-")
sourceLocation.function="main.setupAndRunScript"
如果使用這個篩選條件後沒有看到任何記錄,請確認您已在專案中啟用序列埠記錄功能。如果您在工作站設定中指定服務帳戶,請確認該服務帳戶在專案中具有 logging.logEntries.create 權限,才能將記錄寫入 Cloud Logging。啟用序列埠記錄功能並新增必要權限後,請嘗試再次啟動工作站,確保 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 Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) 角色。如果 Compute Engine 服務代理沒有存取金鑰的必要權限,Compute Engine 會自動關閉基礎 VM。詳情請參閱「使用 CMEK 加密工作站資源」。