Cloud Shell 如何運作

Cloud Shell 可讓您直接在瀏覽器中管理 Google Cloud 資源及開發應用程式,不必安裝本機工具。啟動工作階段時,Cloud Shell 會佈建一個暫時性的 Compute Engine 虛擬機器,執行以 Debian 為基礎的 Linux。由於Google Cloud 擁有並管理這個虛擬機器,因此該虛擬機器不會顯示在您的 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 會提示您提供授權。點選「授權」,允許工具使用憑證發出呼叫。

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

預先設定的環境變數

Cloud Shell 啟動時,系統會將 Google Cloud 控制台中的現有專案套用至 Cloud Shell 中的 gcloud 設定,以便立即使用。GOOGLE_CLOUD_PROJECT 是應用程式預設憑證程式庫支援用來定義專案 ID 的環境變數,也會設為指向 Google Cloud 控制台中的有效專案。環境變數 WEB_HOST 指向 Cloud Shell VM 的主機名稱,可用來向環境發出 HTTPS 要求。

選取可用區

Cloud Shell 分布於全球多個Google Cloud 區域。首次連線至 Cloud Shell 時,系統會自動將您指派至最近的可用區域。您無法自行選擇區域,如果 Cloud Shell 未選擇最近的區域,則會在 Cloud Shell VM 閒置時,嘗試將 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 和工具 Google Cloud CLI,包括 gcloud CLI
文字編輯器 Emacs
Vim
Nano
建構與封包工具 Gradle
Helm
Make
Maven
Bazel
npm
nvm
pip
uv
Composer
原始碼控管工具 Git
Mercurial
其他工具 Docker
iPython
MySQL 用戶端
gRPC 編譯器
TensorFlow

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

語言支援

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

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

Java 環境的預設版本為 17。如要將目前的 Cloud Shell 工作階段變更為使用 1.11 版的 JRE 和 JDK,請在 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 執行個體,並以 root 身分登入,讓您修正檔案中的任何問題。

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

  • 將 cloudshellsafemode=true 附加至網址。
  • 在 Cloud Shell 中,依序點選 、「Safe Mode」(安全模式) 和「Restart」(重新啟動)。

如要永久刪除主目錄中的所有檔案,並將 Cloud Shell 主目錄還原至初始狀態,可以重設 Cloud Shell VM。