Cloud Shell 如何運作

Cloud Shell 會佈建執行以 Debian 為基礎的 Linux 作業系統的 Compute Engine 虛擬機器,供您暫時使用。這個虛擬機器人由 Google Cloud擁有及管理,因此不會顯示在任何 Google Cloud 專案中。

Cloud Shell 執行個體會依使用者和工作階段個別佈建。在 Cloud Shell 工作階段處於活動狀態時,執行個體會持續存在;閒置一小時後,工作階段會終止,而 VM 會遭到捨棄。如要進一步瞭解用量配額,請參閱限制指南

在預設的 Cloud Shell 體驗中,系統會為您分配預先設定的暫時性 VM,而您使用的環境則是在此 VM 上執行的 Docker 容器。您也可以在 VM 啟動時自動自訂環境,確保 Cloud Shell 執行個體包含您偏好的工具。

永久磁碟儲存空間

Cloud Shell 提供 5 GB 的免費永久磁碟儲存空間,在虛擬機器執行個體上掛接為您的 $HOME 目錄。每位使用者都能取得 5 GB 的免費儲存空間,並且可供所有專案使用。與執行個體本身不同,這類儲存空間並不會因為閒置而過期。即使換了工作階段,系統仍會保留您儲存在主目錄中的所有檔案,包括已安裝的軟體、指令碼以及 .bashrc.vimrc 等使用者設定檔案。只有您能使用自己的 $HOME 目錄,其他使用者均無法存取。

使用 Cloud Shell 時,您無法擴充永久磁碟儲存空間。如要進一步控管儲存空間持續性,並取得更多儲存空間,您可以使用 Cloud Workstations

Cloud Shell 也提供暫時模式,這是不含永久磁碟儲存空間的 Cloud Shell 體驗。使用暫時模式可加快啟動速度,但工作階段結束時,您在工作階段中建立的所有檔案都會遺失。

授權

初次透過 Cloud Shell 發出 Google Cloud API 呼叫,或使用需要憑證的指令列工具 (例如 Google Cloud CLI) 時,Cloud Shell 會提示您提供授權。按一下「Authorize」(授權),允許工具使用您的憑證撥打電話。

詳情請參閱「使用 Cloud Shell 授權」。

預先設定的環境變數

啟動 Cloud Shell 時,系統會將 Google Cloud 主控台內的現有專案套用至 Cloud Shell 中的 gcloud 設定,以便立即使用。GOOGLE_CLOUD_PROJECT 是 Application Default Credentials 程式庫支援的環境變數,可用於定義專案 ID,也設為指向 Google Cloud 主控台中的有效專案。環境變數 WEB_HOST 會指向 Cloud Shell VM 的主機名稱,您可以使用這個名稱向環境提出 HTTPS 要求。

可用區選項

Cloud Shell 會在全球多個Google Cloud 區域分散部署。首次連線至 Cloud Shell 時,系統會自動將您指派至最近的可用區域。您無法自行選取地區,如果 Cloud Shell 未選取最近的地區,Cloud Shell 會在 Cloud Shell VM 未使用時,嘗試將 Cloud Shell VM 遷移至較近的地區。

如要查看目前的地區,請在 Cloud Shell 工作階段中執行下列指令:

curl metadata/computeMetadata/v1/instance/zone

圖片推出

Cloud Shell 容器映像檔每週更新一次,以便保持預先封裝工具的最新狀態。也就是說,Cloud Shell 一律會提供最新版本的 gcloud CLI、Docker 和其他公用程式。

超級使用者

設定 Cloud Shell 工作階段時,您會取得一般 Unix 使用者帳戶,使用者名稱會根據您的電子郵件地址建立。有了這項存取權,您就能在已指派的 VM 上享有完整的根權限,甚至可視需要執行 sudo 指令。

可用的工具

Cloud Shell 虛擬機器執行個體有以下預先安裝的工具:

類型 工具
Linux 殼層解譯器 bash
sh
Linux 公用程式 標準 Debian 系統公用程式
gcloud CLI 和工具 App Engine SDK
Google Cloud CLI,包括 gcloud CLI
gsutil 適用於 Cloud Storage
文字編輯器 Emacs
Vim
Nano
建構與封包工具 Gradle
Helm
Make
Maven
Bazel
npm
nvm
pip
Composer
原始碼控管工具 Git
Mercurial
其他工具 Docker
iPython
MySQL 用戶端
gRPC 編譯器
TensorFlow
Terraform

您可以在虛擬機器執行個體上安裝其他軟體套件,但除非您在 $HOME 目錄中安裝軟體,或建立自訂環境,否則執行個體終止後,安裝作業就不會保留。

語言支援

Cloud Shell 虛擬機器執行個體提供下列預先安裝的語言支援:

語言 版本
Java JRE/JDK 17 (OpenJDK)
Go 最新
Python 3.12
Node.js LTS
Ruby 3.2
PHP 8.3
.NET Core SDK 6.0、7.0 和 8.0

Java 環境的預設版本為 17。如要將目前的 Cloud Shell 工作階段改為使用 JRE 和 JDK 1.11 版,請在 Cloud Shell 指令提示中輸入下列指令碼:

sudo update-java-alternatives -s java-1.11.0-openjdk-amd64 && export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

如要變更為 21:

sudo update-java-alternatives -s java-1.21.0-openjdk-amd64 && export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64

如要改回 17 版:

sudo update-java-alternatives -s java-1.17.0-openjdk-amd64 && export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/jre

安全模式

如果 .bashrc.tmux.conf 檔案有問題,Cloud Shell 會在連線後立即關閉。安全模式會重新啟動 Cloud Shell 執行個體,並以根使用者的身分登入,讓您修正檔案中的任何問題。

如要以安全模式開啟 Cloud Shell,請按照下列步驟操作:

  • cloudshellsafemode=true 附加至網址。
  • 在 Cloud Shell 中,依序按一下 安全模式和「重新啟動」。

如要永久刪除主目錄中的所有檔案,並將 Cloud Shell 主目錄還原為乾淨狀態,您可以重設 Cloud Shell VM