Azure Cloud Shell 的運作方式為何?

已完成

作為 Contoso Corporation 的 IT 系統管理員,您經常需要待命,以執行管理工作以及解決貴組織 Azure 訂閱中資源的工作負載中斷情況。 當您在待命的週末前往探望家人時,您收到了開發小組的通知,表示在針對 VM 上執行的應用程式升級進行排程維護期間,Azure VM 沒有回應。 因為開發人員並未獲得 Azure 虛擬機器裝載基礎結構的存取權,並且僅能在 VM 正常運作時從遠端進行存取,所以您被叫來診斷及補救問題。

您正在探望家人,因而無法存取系統管理工作站及診斷指令碼。 不過您可以取得具備網際網路瀏覽器的膝上型電腦。 您利用膝上型電腦,瀏覽至 Azure 入口網站、對貴組織的 Azure 訂閱進行驗證、開啟 Azure Cloud Shell、裝載 Azure 檔案共用、存取診斷指令碼,然後診斷 VM 的問題並加以補救,讓 VM 恢復運作。

存取 Cloud Shell

您可以使用不同的選項來存取 Azure Cloud Shell:

  • 透過直接連結:https://shell.azure.com

    A screenshot of Cloud Shell accessed directly from a link.

  • 從 Azure 入口網站

    A screenshot of Cloud Shell accessed from Azure portal.

  • 從存取 Microsoft Learn 時的程式碼片段:

    A screenshot of Cloud Shell accessed from code snippets.

當您開啟 Cloud Shell 工作階段時,暫存主機會配置到您的工作階段。 此 VM 已使用最新版本的 PowerShell 和 Bash 預先進行設定。 您可以接著選取要使用的命令列體驗:

A screenshot of how to choose a command-line experience in a Cloud Shell session.

選取要使用的殼層體驗之後,您就可以開始管理 Azure 資源:

A screenshot of how to use Cloud Shell to manage Azure resources.

Cloud Shell 工作階段會在閒置 20 分鐘後終止。 工作階段終止時,CloudDrive 上的檔案仍會保存,但您必須啟動新的工作階段才能存取 Cloud Shell 環境。

存取您自己的指令碼和檔案

使用 Cloud Shell 時,您可能也會需要執行指令碼,或針對不同的動作使用檔案。 您可以使用 Azure CloudDrive 保存 Cloud Shell 上的檔案:

A screenshot of how to access CloudDrive in a Cloud Shell session.

上傳檔案之後,您可以透過在一般 PowerShell 或 Bash 工作階段上的互動方式,與檔案互動:

A screenshot of how to manage files in CloudDrive.

現在您的檔案已位於 CloudDrive,您可以關閉工作階段,然後在不同的裝置上開啟另一個工作階段,且仍可存取相同的檔案。 Cloud Shell 也可讓您對應繫結至特定區域的 Azure 儲存體檔案共用。 Azure 檔案共用的存取權可讓您透過 Cloud Shell 使用該共用的內容。

若您需要編輯裝載於 CloudDrive 或檔案共用的指令碼,可以使用 Cloud Shell 編輯器。 選取瀏覽器上的大括弧 {} 圖示,然後開啟您要編輯的檔案,或使用 code 命令並指定檔名;例如:

code temp.txt

A screenshot of how to access the Cloud Shell editor mode.

Cloud Shell 工具

如果您需要在 Cloud Shell 中管理資源 (例如 Docker 容器或 Kubernetes 叢集),或想使用第三方工具 (例如 Ansible 和 Terraform),Cloud Shell 工作階段隨附了這些已預先設定的附加元件。

下列是您在 Cloud Shell 工作階段中可使用的所有附加元件清單:

類別 名稱
Linux 工具 bash
zsh
sh
tmux
dig
Azure 工具 Azure CLI 和 Azure 傳統 CLI
AzCopy
Azure Functions CLI
Service Fabric CLI
Batch Shipyard
blobxfer
文字編輯器 code (Cloud Shell 編輯器)
vim
nano
emacs
原始檔控制 git
建置工具 make
maven
npm \(英文\)
pip
容器 Docker 機器
Kubectl
Helm
DC/OS CLI
資料庫 MySQL 用戶端
PostgreSql 用戶端
sqlcmd 公用程式
mssql-scripter
其他 iPython 用戶端
Cloud Foundry CLI
Terraform
Ansible
Chef InSpec
Puppet Bolt
HashiCorp Packer
Office 365 CLI