使用快速入門範本在虛擬網路中部署 Cloud Shell

執行快速入門範本以在虛擬網路 (VNet) 中部署 Azure Cloud Shell 之前,有幾個必要條件需要完成。 您必須具有訂用帳戶的擁有者角色指派。 若要檢視和指派角色,請參閱訂用帳戶的擁有者清單 (部分機器翻譯)。

本文將逐步指引您透過下列步驟在虛擬網路中設定及部署 Cloud Shell:

  1. 註冊資源提供者。
  2. 收集所需的資訊。
  3. 使用 Azure Cloud Shell - VNet Azure Resource Manager 範本 (ARM 範本) 建立虛擬網路。
  4. 使用 Azure Cloud Shell - VNet 儲存體 ARM 範本建立虛擬網路儲存體帳戶。
  5. 在虛擬網路中設定及使用 Cloud Shell。

1.註冊資源提供者

Cloud Shell 需要存取權來特定資源。 您可透過資源提供者取得該存取權。 您的訂用帳戶必須註冊下列資源提供者:

  • Microsoft.CloudShell
  • Microsoft.ContainerInstance
  • Microsoft.Relay

視您的租用戶建立時間而定,其中一些提供者可能已經註冊。

若要查看所有資源提供者,以及您訂用帳戶的登錄狀態:

  1. 登入 Azure 入口網站
  2. 在 Azure 入口網站功能表上,搜尋訂用帳戶。 從可用的選項中進行選取。
  3. 選取您要檢視的訂用帳戶。
  4. 在左側功能表的 [設定] 下,選取 [資源提供者] 。
  5. 在搜尋方塊中,輸入 cloudshell 來搜尋資源提供者。
  6. 從提供者清單中選取 Microsoft.CloudShell 資源提供者。
  7. 選取 [註冊],將狀態從未註冊變更為已註冊
  8. 針對 Microsoft.ContainerInstanceMicrosoft.Relay 資源提供者重複上述步驟。

在 Azure 入口網站中選取資源提供者的螢幕擷取畫面。

2.收集所需的資訊

您必須先收集數個資訊,才能部署 Cloud Shell。

您可以使用預設 Cloud Shell 執行個體來收集必要資訊,並建立必要的資源。 您應該為 Cloud Shell 虛擬網路部署建立專用資源。 所有資源都必須位於相同的 Azure 區域和相同的資源群組中。

填寫下列值:

  • 訂用帳戶:您的訂用帳戶名稱,其中包含 Cloud Shell 虛擬網路部署的資源群組。
  • 資源群組:Cloud Shell 虛擬網路部署的資源群組名稱。
  • 區域:資源群組的位置。
  • 虛擬網路:Cloud Shell 虛擬網路的名稱。
  • 子網路位址範圍:此部署會建立三個子網路。 您需要規劃每個子網路的位址範圍。
    • 容器子網路:您需要足夠的 IP 位址,以支援您預期同時使用的工作階段數目。
    • 轉送子網路:您需要至少一個轉送子網路的 IP 位址。
    • 儲存體子網路名稱:您需要足夠的 IP 位址,以支援您預期同時使用的工作階段數目。
  • Azure 容器執行個體 OID:資源群組的 Azure 容器執行個體識別碼。
  • Azure 轉送命名空間:您想要指派給範本所建立之 Azure 轉送資源的名稱。

建立資源群組

您可以使用 Azure 入口網站、Azure CLI 或 Azure PowerShell 來建立資源群組。 如需詳細資訊,請參閱下列文章:

建立虛擬網路

您可以使用 Azure 入口網站、Azure CLI 或 Azure PowerShell 來建立虛擬網路。 如需詳細資訊,請參閱下列文章:

注意

當您設定 Cloud Shell 子網路的容器子網路位址前置詞時,請務必考慮您需要同時執行的 Cloud Shell 工作階段數量。 如果 Cloud Shell 會話數目超過容器子網路中的可用 IP 位址,這些會話的使用者就無法連線到 Cloud Shell。 增加容器子網路範圍,以符合您的特定需求。 如需更多資訊,請參閱新增、變更或刪除虛擬網路子網路中的「變更子網路設定」一節。

取得 Azure 容器執行個體識別碼

Azure 容器執行個體識別碼是每個租用戶的唯一值。 您可以在快速入門範本中使用此識別碼,來設定 Cloud Shell 的虛擬網路。 若要從命令列取得識別碼,請參閱取得 Azure 容器執行個體識別碼的替代方式 (部分機器翻譯)。

  1. 登入 Azure 入口網站。 從首頁中,選取 [Microsoft Entra ID]。 如果未顯示圖示,請在頂端搜尋列中輸入 Microsoft Entra ID

  2. 在左側功能表上,選取 [概觀]。 接著在搜尋列中輸入 azure container instance service

    螢幕擷取畫面:搜尋 Azure 容器執行個體服務。

  3. 在結果中,在 [企業應用程式] 下,選取 [Azure 容器執行個體服務]

  4. 在 [Azure 容器執行個體服務] 的 [概觀]頁面上,尋找列為屬性 [物件識別碼] 值。

    您可以在虛擬網路的快速入門範本中使用此識別碼。

    螢幕擷取畫面:Azure 容器執行個體服務詳細資料。

3.使用 ARM 範本建立必要的網路資源

使用 Azure Cloud Shell - VNet 範本,在虛擬網路中建立 Cloud Shell 資源。 範本會在您稍早建立的虛擬網路下建立三個子網路。 您可以選擇變更子網路提供的名稱,或使用預設值。

虛擬網路以及子網路需要有效的 IP 位址指派。 您需要至少一個轉接子網路的 IP 位址,以及容器子網路中足夠的 IP 位址,以支援您預期使用的並行工作階段數量。

ARM 範本需要您稍早建立之資源的特定資訊,以及新資源的命名資訊。 此資訊會連同表格中預先填入的資訊一起填寫。

樣本所需的資訊包括:

  • 訂用帳戶:您的訂用帳戶名稱,其中包含 Cloud Shell 虛擬網路的資源群組。
  • 資源群組:現有或新建立的資源群組名稱。
  • 區域:資源群組的位置。
  • 虛擬網路:Cloud Shell 虛擬網路的名稱。
  • 網路安全組:您想要指派給範本所建立網路安全組 (NSG) 的名稱。
  • Azure 容器執行個體 OID:資源群組的 Azure 容器執行個體識別碼。

在表單中填寫以下資訊:

專案詳細資料
訂用帳戶 設定目前的訂用帳戶環境。
本文中的範例使用 Contoso (carolb)
資源群組 從必要條件資訊輸入資源組名。
本文中的範例使用 rg-cloudshell-eastus
[執行個體詳細資料]
區域 預先填入您的預設區域。
本文中的範例使用 East US
現有的 VNET 名稱 從您收集的必要條件資訊填入值。
本文中的範例使用 vnet-cloudshell-eastus
轉送命名空間名稱 建立您想要指派給範本所建立之轉送資源的名稱。
本文中的範例使用 arn-cloudshell-eastus
NSG 名稱 輸入 NSG 的名稱。 部署會建立此 NSG,並指派存取規則。
Azure 容器執行個體 OID 從您收集的必要條件資訊填入值。
本文中的範例使用 8fe7fd25-33fe-4f89-ade3-0e705fcf4370
容器子網路名稱 預設為 cloudshellsubnet。 輸入容器的子網路名稱。
容器子網路位址前置詞 本文中的範例使用 10.0.1.0/24,其為 Cloud Shell 執行個體提供 254 個 IP 位址。
轉送子網路名稱 預設為 relaysubnet。 輸入包含轉送的子網路名稱。
轉送子網路位址前置詞 本文中的範例使用 10.0.2.0/24
儲存子網路名稱 預設為 storagesubnet。 輸入包含儲存體的子網路名稱。
儲存體子網路位址前置詞 本文中的範例使用 10.0.3.0/24
私人端點名稱 預設為 cloudshellRelayEndpoint。 輸入包含容器的子網路名稱。
標記名稱 預設為 {"Environment":"cloudshell"}。 保留不變或新增更多標籤。
地點 預設為 [resourceGroup().location]。 保持不變。

表單完成之後,請選取 [檢閱 + 建立],並將網路 ARM 範本部署至您的訂用帳戶。

4.使用 ARM 範本來建立虛擬網路儲存體

使用 Azure Cloud Shell - VNet 儲存體範本,在虛擬網路中建立 Cloud Shell 資源。 範本會建立儲存體帳戶,並指派給專用虛擬網路。

ARM 範本需要您稍早建立之資源的特定資訊,以及新資源的命名資訊。

樣本所需的資訊包括:

  • 訂用帳戶:訂用帳戶名稱,其中包含 Cloud Shell 虛擬網路的資源群組。
  • 資源群組:現有或新建立的資源群組名稱。
  • 區域:資源群組的位置。
  • 現有虛擬網路名稱:選取您稍早建立的虛擬網路名稱。
  • 現有的儲存體子網路名稱:使用網路快速入門範本建立的儲存體子網路名稱。
  • 現有的容器子網路名稱:使用網路快速入門範本建立的容器子網路名稱。

在表單中填寫以下資訊:

專案詳細資料
訂用帳戶 設定目前的訂用帳戶環境。
本文中的範例使用 Contoso (carolb)
資源群組 從必要條件資訊輸入資源組名。
本文中的範例使用 rg-cloudshell-eastus
[執行個體詳細資料]
區域 預先填入您的預設區域。
本文中的範例使用 East US
現有的 VNET 名稱 本文中的範例使用 vnet-cloudshell-eastus
現有儲存子網路名稱 填入網路範本建立的資源名稱。
現有容器子網路名稱 填入網路範本建立的資源名稱。
儲存體帳戶名稱 寄練新儲存體帳戶的名稱。
本文中的範例使用 myvnetstorage1138
檔案共用名稱 預設為 acsshare。 輸入要建立之檔案共用的名稱。
資源標籤 預設為 {"Environment":"cloudshell"}。 保留不變或新增更多標籤。
地點 預設為 [resourceGroup().location]。 保持不變。

表單完成之後,請選取 [檢閱 + 建立],並將網路 ARM 範本部署至您的訂用帳戶。

5.設定 Cloud Shell 以使用虛擬網路

部署私人 Cloud Shell 執行個體之後,每個 Cloud Shell 使用者都必須變更其設定,才能使用新的私人執行個體。

如果您在部署私人執行個體之前使用預設的 Cloud Shell 執行個體,則必須重設使用者設定:

  1. 開啟 Cloud Shell。
  2. 從功能表列選取 [Cloud Shell 設定] (齒輪圖示)。
  3. 選取 [重設使用者設定],然後選取 [重設]

重設使用者設定會在您下次啟動 Cloud Shell 時觸發第一次使用者體驗。

螢幕擷取畫面:Cloud Shell 儲存體對話方塊。

  1. 選擇您慣用的殼層體驗 (Bash 或 PowerShell)。

  2. 選取 [顯示進階設定]

  3. 選取 [顯示 VNET 隔離設定] 核取方塊。

  4. 選擇包含您私人 Cloud Shell 執行個體的訂用帳戶。

  5. 選擇包含您私人 Cloud Shell 執行個體區域。

  6. 針對資源群組,選取包含您私人 Cloud Shell 執行個體的資源群組。

    如果您選取正確的資源群組、虛擬網路網路設定檔轉送會自動填入正確的值。

  7. 針對檔案共用,輸入您使用儲存體範本建立的檔案共用名稱。

  8. 選取 [建立儲存體]

取得 Azure 容器執行個體識別碼的替代方式

如果您已安裝 Azure PowerShell,您可以使用下列命令來取得 Azure 容器執行個體識別碼。

(Get-AzADServicePrincipal -DisplayNameBeginsWith 'Azure Container Instance').Id
d5f227bb-ffa6-4463-a696-7234626df63f

如果您已安裝 Azure CLI,可以使用下列命令來取得 Azure 容器執行個體識別碼。

az ad sp list --display-name 'Azure Container Instance' --query "[].id"
[
  "d5f227bb-ffa6-4463-a696-7234626df63f"
]

下一步

您必須為需要使用新私人 Cloud Shell 執行個體的每個使用者完成 Cloud Shell 設定步驟。