功能簡介

Google Cloud Shell 是 Google Cloud Platform 專用的互動式殼層環境。您不需要在自有系統中安裝 Google Cloud SDK 和其他工具,也能輕鬆透過這個環境管理專案和資源。有了 Cloud Shell,您隨時可以使用 Cloud SDK gcloud 指令列工具和其他您需要的公用程式。

Cloud Shell 工作階段

Cloud Shell 提供下列資源與功能:

虛擬機器執行個體

Cloud Shell 啟動時,系統會為您佈建執行 Debian 版本 Linux 作業系統的 g1-small Google Compute Engine 虛擬機器,並依據使用者和工作階段佈建不同的 Cloud Shell 執行個體。在 Cloud Shell 工作階段執行期間,執行個體會持續存在,工作階段閒置一小時後,執行個體即會遭到終止。

指令列使用權限

您可以在 Cloud Shell 中使用指令列,透過在 Google Cloud Platform 主控台中開啟的終端機視窗存取虛擬機器執行個體,也可以同時開啟多個連至相同執行個體的殼層連線。切換工作階段時,仍會保留執行個體。您不僅可以透過指令列存取 Cloud SDK gcloud 指令列工具和其他公用程式,也能使用 cloudshell 指令來啟動教學課程、開啟程式碼編輯器和下載檔案。如想瞭解相關詳情,請執行 cloudshell help

程式碼編輯器

您現在可以使用執行 Theia 的 Cloud Shell 程式碼編輯器測試版。

您可以使用程式碼編輯器來瀏覽檔案目錄,以及查看和編輯檔案,而且還可以繼續使用 Cloud Shell。根據預設,每個 Cloud Shell 執行個體都可以使用程式碼編輯器。

只要點選鉛筆圖示,您就能透過工具列使用程式碼編輯器。

Cloud Shell 和編輯器工作階段

或者,您也可以在 Cloud Console 中執行 cloudshell 指令,透過程式碼編輯器開啟現有的檔案 (例如上述環境中的 README-cloudshell.txt 檔案),指令碼如下:

cloudshell edit README-cloudshell.txt

永久磁碟儲存空間

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

可用的工具

Cloud Shell 虛擬機器執行個體提供下列預先安裝的工具:

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

您可以在虛擬機器執行個體上安裝其他軟體套件。不過請注意,您必須將所需軟體安裝在 $HOME 目錄中,系統才會在執行個體終止後予以保留。

語言支援

Cloud Shell 虛擬機器執行個體提供預先安裝的語言支援,適用項目如下:

語言 版本
Java JRE/JDK 1.8 和 1.11
Go 1.11
Python 2.7.13
Node.js v10.14.2
Ruby 2.6.0
PHP 7.0.33
.NET Core SDK 2.0.0 和 2.1.502
Core 執行階段 2.0.0 和 2.1.6

Java 環境的預設版本為 1.8。如要將目前的 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

如要改回 1.8.0 版:

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

您可以忽略無法變更部分二進位檔版本的所有相關錯誤訊息。系統會保留此版本變更設定,直到 Cloud Shell 虛擬機器執行個體遭到終止。如要永久切換至 Java 1.11,請將上方的第一個指令新增至 .bashrc 檔案。

網頁預覽

Cloud Shell 提供網頁預覽功能,可讓您透過 GCP 主控台在虛擬機器執行個體上執行網路應用程式並加以預覽。網路應用程式必須在位於允許範圍 (介於 2000 至 65000 之間) 內的通訊埠上聽取 HTTP 要求。這些通訊埠僅供安全的 Cloud Shell Proxy 服務使用,因此只有在您的使用者帳戶透過 HTTPS 連線時才可存取。

如要連結在執行個體上運作的網路應用程式,請按一下 GCP 主控台 Cloud Shell 終端機視窗上方的 [Web Preview] (網頁預覽) 按鈕 網頁預覽按鈕。接著從顯示的選單中選取通訊埠編號,即可在新的瀏覽器視窗中,在 Cloud Shell Proxy 服務上開啟預覽網址。

增強模式

增強模式可暫時提升 Cloud Shell VM 的運作效能:從預設的 g1-small 機器類型變成 n1-standard-1 VM 執行個體。如果您想要持續使用 Cloud Shell,且在相對較短的期間內需要更多 CPU 或記憶體資源,這項功能就會非常實用。

如想啟用增強模式,請前往「更多」選單 (Cloud Shell 畫面右上方的三點圖示),並點選其下的 [啟用增強模式] 選項。增強模式啟用之後,所有工作階段的運作效能在接下來的 24 小時內都會提升。在您啟用增強模式時,系統會重新啟動 Cloud Shell 並立即終止您的工作階段。接著,系統會為您佈建新的 VM。不過請注意,這項程序可能需要幾分鐘的時間才能完成。另外,系統會保留主目錄中的資料,但所有執行中的程序進度都會遺失。

使用增強模式時,您必須遵守一般使用限制。這項功能目前仍在實驗階段,日後可能會設下更多限制。

驗證

Cloud Shell 提供內建驗證機制,讓您可以輕鬆存取 Google Cloud Platform 中託管的專案和資源。您不需要進行額外的驗證步驟,就能使用 Cloud SDK gcloud 指令列工具來存取平台資源。

tmux 支援

根據預設,Cloud Shell 會使用 tmux 來提升瀏覽器分頁工作階段的保留效力。舉例來說,即便您在分頁中重新整理 GCP 主控台,或是從不同的機器連結至 Cloud Shell,您也不會遺失這個工作階段的進度。

Cloud Shell 支援預設的 tmux 按鍵繫結。舉例來說,假設您依序按下 Ctrl+b%tmux 會將目前的工作階段視窗分割為左右兩個窗格,這項功能在除錯時相當實用。

如要在 Cloud Shell 中停用 tmux,請按一下 [Settings] (設定) 按鈕 設定按鈕 並選取 [Tmux Settings] (Tmux 設定),接著取消選取 [Enable Tmux Integration] (啟用 Tmux 整合功能) 選項。

終端機使用統計資料

系統會針對 Cloud Shell 終端機內執行的指令,收集經過匿名處理的使用統計資料。使用統計資料的收集範圍僅限預先安裝於 Cloud Shell 的指令,我們不會收集與個人識別資訊有關的任何指標資料 (例如傳送至這些指令的引數)。這些指標資料不會與您的帳戶相連結,因此請您放心。如要停用統計資料收集功能,請點選 Cloud Shell「設定」選單 (使用三點選單圖示) 中的 [使用統計資料]。

附註:終端機使用統計資料與 gcloud 使用統計資料不同,後者在 Cloud Shell 中預設為啟用。

安全模式

如果您的 .bashrc.tmux.conf 檔案發生問題,Cloud Shell 會在建立連線後立即關閉。如要解決這個問題,請將 cloudshellsafemode=true 附加至網址,藉此以安全模式開啟 Cloud Shell。接著,系統會重新啟動 Cloud Shell,並讓您以根使用者的身分登入,方便您修正檔案中的任何錯誤。

鍵盤

您可以在 Cloud Shell 中變更傳送至終端機的按鍵。在 [終端機設定] 選單中依序選取 [終端機偏好設定] > [鍵盤],即可看見下列選項:

  • 將 Alt 切換為 Meta - 選擇是否將 Alt 鍵設為 Meta 鍵,或是用作獨立的 Alt 鍵。
  • Alt Gr 模式 - 選擇 Alt Gr 偵測偏好

自訂 Cloud Shell 環境

Cloud Shell 環境是一個 Docker 容器,內含自訂的環境功能 (現為測試版),您可以透過編輯 Dockerfile 來修改此容器,藉此將自訂工具安裝至可在工作階段間持續存在的 Cloud Shell 環境。環境設定頁面請參閱此頁

點選設定畫面上的 [Create custom image] (建立自訂映像檔) 將會啟動一個教學課程;此課程將逐步引導您完成建立自訂 Docker 映像檔做為 Cloud Shell 環境使用的流程。然後,您可以編輯 Cloud Shell 環境,使其參照這個新建立的的映像檔。

此教學課程會自動建立四個資源:

  • 一個含有 Dockerfile 的 Cloud Source Repositories 存放區。
  • 兩個 Cloud Build 版本觸發條件,一個在 Cloud Source Repositories 存放區有任何更新時觸發,另一個在 Cloud Shell 基本映像檔變更時觸發。
  • 在 Google Container Registry 中託管的新建 Docker 映像檔。

如果您想要在教學課程結束之後進行清除作業,您必須從 Cloud Source Repositories、Cloud Build 和 Container Registry 刪除這些資源。

自訂環境限制

  • 自訂映像檔必須以預設的 Cloud Shell 映像檔為基礎:gcr.io/cloudshell-images/cloudshell。
  • 在 Dockerfile 中由 ENV 指定的變數不會套用至 SSH 工作階段。如要將其套用至 SSH 工作階段,請在 /etc/environment 檔案中設定這些變數: RUN echo "$MY_VAR=$DESIRED_VALUE" >> /etc/environment
  • 您無法覆寫 Dockerfile ENTRYPOINT。
  • 您必須將要在工作階段啟動時執行的指令碼放在 /google/devshell/bashrc.google.d/ 下方,要在工作階段結束時執行的指令碼則需放在 /google/devshell/bash_exit.google.d/ 下方。

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Shell