共用方式為


針對針對私人端點執行負載測試的問題進行疑難解答。

本文說明當您使用 Azure 負載測試對私人應用程式端點執行負載測試時可能發生的問題。 Azure 負載測試服務會插入在包含應用程式端點的虛擬網路中產生負載所需的 Azure 資源。 在此程式中,您可能會遇到一些與虛擬網路設定和角色型訪問控制 (RBAC) 許可權相關的問題。

Azure 負載測試服務需要從虛擬網路到下列目的地的輸出連線。

Destination 需要連線能力
*.azure.com 需要存取此目的地,Azure 負載測試服務才能與 Azure Batch 服務互動。
*.windows.net Azure 負載測試服務需要存取此目的地,才能與 Azure 服務匯流排、Azure 事件方格 和 Azure 儲存體 互動。 若要深入了解這些服務的防火牆設定,請參閱
  • Azure 服務匯流排 常見問題
  • Azure 事件中樞 防火牆規則
  • 設定 Azure 儲存體 防火牆和虛擬網路
  • *.azurecr.io 需要存取此目的地,Azure 負載測試服務才能與 Azure Container Registry 互動。 若要深入瞭解 Azure Container Registry 中的防火牆設定,請參閱
  • 防火牆存取規則 - Azure Container Registry
  • 選擇性地需要輸出連線至 *.maven.org 和 *.github.com,以下載測試元件中包含的任何外掛程式。

    注意

    針對 Azure Government 區域,請確定對 *.azure.us、*.usgovcloudapi.net 和 *.azurecr.us 的輸出連線。 如需 Azure Government 端點的詳細資訊,請參閱 開發人員指引。

    部署 Azure 虛擬機,以針對虛擬網路的連線進行疑難解答

    若要測試虛擬網路的連線能力:

    1. 在 Azure 負載測試的測試組態中,建立子網中具有公用 IP 的虛擬機。 此虛擬機僅用於診斷網路連線,而且可以在疑難解答之後刪除。 Azure 負載測試服務不會使用此虛擬機來產生負載。

      執行下列 Azure CLI 命令來建立虛擬機。

      az vm create --resource-group <your-resource-group> --name <your-virtual-machine-name> --image UbuntuLTS --generate-ssh-keys --subnet <your-subnet>
      

      虛擬機可以是任何類型。

    2. 使用 Azure Bastion 登入虛擬機。

    3. 測試從虛擬機到 azure.com 的輸出連線能力

      • 若要驗證功能變數名稱系統 (DNS) 查閱,請執行下列命令

        nslookup azure.com
        

        與 azure.com 相關聯的IP位址回應表示連線成功。

        顯示 DNS 驗證成功回應的螢幕快照。

      • 若要驗證與 『azure.com』 的連線,請執行下列命令

        curl azure.com -I
        

        HTTP 回應表示連線成功。

        顯示線上驗證成功回應的螢幕快照。

      1. 針對 『windows.net』 和 『azurecr.io』 重複步驟 3,以驗證這些目的地的 DNS 查閱和連線能力。

    您也可以使用任何其他方法來確保從子網聯機到 *.azure.com、*.windows.net 和 *.azurecr.io。

    執行連線測試時,您可能會因為原則限制或防火牆限制而遇到問題。 請遵循錯誤訊息採取任何必要的更正動作,然後重試連線測試。

    使用可採取動作的錯誤訊息對問題進行疑難解答

    建立或更新負載測試失敗,並且出現 Subscription not registered with Microsoft.Batch (ALTVNET001)

    當您在虛擬網路中設定負載測試時,必須向 Microsoft.Batch 註冊訂用帳戶。

    1. 嘗試在幾分鐘後再次建立或更新負載測試。

    2. 如果錯誤持續發生,請遵循下列步驟,以手動方式向 Microsoft.Batch 資源提供者註冊您的訂用帳戶

    建立或更新負載測試失敗,並且出現 Subnet is not in the Succeeded state (ALTVNET002)

    您用於負載測試的子網路未處於 Succeeded 狀態,尚未準備好將負載測試部署到其中。

    1. 確認子網路的狀態。

      若要確認狀態,請執行下列 Azure CLI 命令。 結果應為 Succeeded

      az network vnet subnet show -g MyResourceGroup -n MySubnet --vnet-name MyVNet
      
    2. 解決子網路的任何問題。 如果您剛建立子網路,請在幾分鐘後再次確認狀態。

    3. 或者,為負載測試選取另一個子網路。

    建立或更新負載測試失敗,並且出現 Subnet is delegated to other service (ALTVNET003)

    您用於部署負載測試的子網路無法委派給另一個 Azure 服務。 請移除現有的委派,或選取未委派給服務的另一個子網路。

    深入了解新增或移除子網路委派

    更新或建立負載測試失敗,並且出現 User doesn't have subnet/join/action permission on the virtual network (ALTVNET004)

    若要更新或啟動負載測試,您必須有足夠的權限,才能將 Azure 負載測試部署至虛擬網路。 您需要虛擬網路上的網路參與者角色或其父系角色。

    1. 請參閱檢查 Azure 資源的使用者存取權,以確認您的權限。

    2. 請遵循下列步驟,將網路參與者角色指派給您的帳戶。

    建立或更新負載測試失敗,並且出現 IPv6 enabled subnet not supported (ALTVNET005)

    Azure 負載測試不支援啟用 IPv6 的子網路。 請選取未啟用 IPv6 的另一個子網路。

    建立或更新負載測試失敗,並且出現 NSG attached to subnet is not in Succeeded state (ALTVNET006)

    連結至子網路的網路安全性群組 (NSG) 不是處於 Succeeded 狀態。

    1. 確認 NSG 的狀態。

      若要確認狀態,請執行下列 Azure CLI 命令。 結果應為 Succeeded

      az network nsg show -g MyResourceGroup -n MyNsg
      
    2. 解決 NSG 的任何問題。 如果您剛建立 NSG 或子網路,請在幾分鐘後再次確認狀態。

    3. 或者,選取另一個 NSG。

    建立或更新負載測試失敗,並且出現 Route Table attached to subnet is not in Succeeded state (ALTVNET007)

    連結至子網路的路由表未處於 Succeeded 狀態。

    1. 確認路由表的狀態。

      若要確認狀態,請執行下列 Azure CLI 命令。 結果應為 Succeeded

      az network route-table show -g MyResourceGroup -n MyRouteTable
      
    2. 解決路由表的任何問題。 如果您剛建立路由表或子網路,請在幾分鐘後再次確認狀態。

    3. 或者,選取另一個路由表。

    建立或更新負載測試失敗,並且出現 Subnet is in a different subscription than resource (ALTVNET011)

    虛擬網路不在與 Azure 負載測試資源相同的訂用帳戶和區域中。 將 Azure 虛擬網路或 Azure 負載測試資源移動或重新建立至相同的訂用帳戶和區域。

    佈建失敗,並出現 An azure policy is restricting engine deployment to your subscription (ALTVNET012)

    Azure 原則會將負載測試引擎部署限制在您的訂用帳戶。 請檢查原則限制,然後再試一次。 如果您有不得部署公用 IP 位址、Azure 負載平衡器或網路安全性群組的原則限制,則可以停用這些資源的部署。 請參閱設定負載測試

    佈建失敗,並出現 Engines could not be deployed due to an error in subnet configuration (ALTVNET013)

    無法部署負載測試引擎執行個體,因為子網路組態發生錯誤。 確認您的子網路設定。 如果問題持續發生,請提出支援票證,以及測試的回合識別碼。

    1. 確認子網路的狀態。

      若要確認狀態,請執行下列 Azure CLI 命令。 結果應為 Succeeded

      az network vnet subnet show -g MyResourceGroup -n MySubnet --vnet-name MyVNet
      
    2. 解決子網路的任何問題。 如果您剛建立子網路,請在幾分鐘後再次確認狀態。

    3. 如果問題持續發生,請建立線上客戶支援要求

      在支援要求內提供負載測試回合的識別碼。

    啟動負載測試失敗,並出現 Subnet has {0} free IPs, {1} more free IP(s) required to run {2} engine instance load test (ALTVNET014)

    您用於 Azure 負載測試的子網路必須有足夠的未指派 IP 位址,才能容納用於測試的負載測試引擎數目。

    請遵循下列步驟來更新子網路設定,並增加 IP 位址範圍。

    啟動負載測試失敗,並出現 Management Lock is enabled on Resource Group of VNET (ALTVNET015)

    如果資源群組上有包含虛擬網路的鎖定,服務就無法在虛擬網路中插入測試引擎虛擬機器。 請先移除管理鎖定,再執行負載測試。 了解如何在 Azure 入口網站中設定鎖定 (部分機器翻譯)。

    啟動負載測試失敗,並出現 Insufficient public IP address quota in VNET subscription (ALTVNET016)

    當您啟動負載測試時,Azure 負載測試會在包含應用程式端點的虛擬網路中插入下列 Azure 資源:

    • 測試引擎虛擬機器。 這些 VM 會在負載測試期間叫用您的應用程式端點。
    • 公用 IP 位址。
    • 網路安全性群組 (NSG)。
    • Azure Load Balancer。

    請確定您的訂用帳戶中有至少一個公用 IP 位址的配額可供在負載測試中使用。

    啟動負載測試失敗,並出現 Subnet with name "AzureFirewallSubnet" cannot be used for load testing (ALTVNET017)

    AzureFirewallSubnet 子網路已保留,您無法將其用於 Azure 負載測試。 請為負載測試選取另一個子網路。

    下一步