在 Azure 虛擬網路中使用 Cloud Shell

根據預設,Azure Cloud Shell 會話會在 Microsoft 網路中與資源分開的容器中執行。 在容器內執行的命令無法存取專用虛擬網路中的資源。 例如,您無法使用安全殼層 (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 會話結束時,會自動關閉連線。

架構

下圖顯示您必須建置的資源架構,才能啟用此案例。

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