在 Azure 虛擬網路中使用 Cloud Shell
根據預設,Azure Cloud Shell 工作階段會在 Microsoft 網路的容器中執行,該容器與您的資源分開。 在容器內執行的命令無法存取私人虛擬網路中的資源。 例如,您無法使用 Secure Shell (SSH) 從 Cloud Shell 連線到只有私人 IP 位址的虛擬機,或使用 來 kubectl
連線到具有鎖定存取權的 Kubernetes 叢集。
若要提供對您的私人資源的存取權,您可以將 Cloud Shell 部署到您所控制的 Azure 虛擬網路。 這項技術稱為虛擬網路隔離。
使用 Cloud Shell 進行虛擬網路隔離的優點
在私人虛擬網路中部署 Cloud Shell 可提供下列優點:
- 您要管理的資源不需要有公用 IP 位址。
- 您可以使用 Cloud Shell 容器中的命令行工具、SSH 和 PowerShell 遠端來管理資源。
- Cloud Shell 所使用的儲存體帳戶不必可公開存取。
在虛擬網路中部署 Azure Cloud Shell 之前要考慮的事項
- 在虛擬網路中啟動 Cloud Shell 通常比標準 Cloud Shell 工作階段慢。
- 虛擬網路隔離需要您使用 Azure 轉送,這是一項付費服務。 在 Cloud Shell 情節中,管理員使用 Cloud Shell 時,每個管理員都會使用一個混合式連線。 連線會在 Cloud Shell 工作階段結束時自動關閉。
架構
下圖顯示您必須建置才能實現此場景的資源架構。
- 客戶用戶端網路:用戶端使用者可以位於網際網路上的任何位置,以安全地存取 Azure 入口網站並向其進行驗證,並使用 Cloud Shell 來管理客戶訂用帳戶中所包含的資源。 為了獲得更嚴格的安全性,您可以讓使用者只從您的訂用帳戶中所包含的虛擬網路開啟 Cloud Shell。
- Microsoft 網路:客戶會連線到 Microsoft 網路上的 Azure 入口網站,以驗證並開啟 Cloud Shell。
- 客戶虛擬網路:這是包含支援虛擬網路隔離的子網路的網路。 虛擬機器和服務等資源可以直接從 Cloud Shell 存取,而不需要指派公用 IP 位址。
- Azure 轉送:Azure 轉送可讓兩個無法直接連線的端點通訊。 在此案例中,這會用來允許管理員的瀏覽器與私人網路中的容器通訊。
- 檔案共用:Cloud Shell 需要可從虛擬網路存取的儲存體帳戶。 該儲存體帳戶會提供 Cloud Shell 使用者所使用的檔案共用。
定價
Cloud Shell 需要掛接新的或現有 Azure 檔案共用,才能跨工作階段保存檔案。 儲存體會產生一般成本。 當您在私人虛擬網路中部署 Azure Cloud Shell 時,需支付網路資源的費用。 如需定價資訊,請參閱 Azure Cloud Shell 的價格。
下一步
當您準備好部署自己的 Cloud Shell 實例時,請參閱 使用快速入門範本在虛擬網路中部署 Azure Cloud Shell。