在 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 的價格。