Testování privátních koncových bodů nasazením zátěžového testování Azure ve virtuální síti Azure

V tomto článku se dozvíte, jak otestovat koncové body privátních aplikací pomocí zátěžového testování Azure. Vytvoříte prostředek azure Load Testing a povolíte ho generovat zatížení z vaší virtuální sítě (injektáž virtuální sítě).

Tato funkce umožňuje následující scénáře použití:

  • Vygenerujte zatížení do koncového bodu, který je nasazený ve virtuální síti Azure.
  • Vygenerujte zatížení do veřejného koncového bodu s omezeními přístupu, jako je omezení IP adres klientů.
  • Generování zatížení pro místní službu, která není veřejně přístupná, která je připojená k Azure přes ExpressRoute.

Přečtěte si další informace o scénářích nasazení zátěžového testování Azure ve vaší virtuální síti.

Následující diagram obsahuje technický přehled:

Diagram that shows the Azure Load Testing virtual network injection technical overview.

Když spustíte zátěžový test, služba Azure Load Testing vloží do virtuální sítě následující prostředky Azure, které obsahují koncový bod aplikace:

  • Virtuální počítače testovacího stroje. Tyto virtuální počítače během zátěžového testu vyvolávají koncový bod aplikace.
  • Veřejná IP adresa.
  • Skupina zabezpečení sítě (NSG).
  • An Azure Load Balancer.

Tyto prostředky jsou dočasné a existují pouze v době, kdy je zátěžový test spuštěný. Pokud máte omezení nasazení veřejné IP adresy, nástroje pro vyrovnávání zatížení Azure nebo skupiny zabezpečení sítě ve vaší podsíti, můžete nasazení těchto prostředků zakázat. Další informace najdete v tématu Konfigurace zátěžového testu.

Pokud omezíte přístup k virtuální síti, musíte nakonfigurovat virtuální síť tak, aby umožňovala komunikaci mezi těmito zátěžovými testy Azure a vložené virtuální počítače.

Požadavky

  • Váš účet Azure má ve virtuální síti roli Přispěvatel sítě nebo nadřazenou roli této role. Informace o ověření oprávnění najdete v tématu Kontrola přístupu uživatele k prostředkům Azure.
  • Podsíť, kterou používáte pro zátěžové testování Azure, musí mít dostatek nepřiřazených IP adres, aby vyhovovala počtu modulů zátěžových testů pro váš test. Přečtěte si další informace o konfiguraci testu pro vysoké zatížení.
  • Podsíť by neměla být delegována na žádnou jinou službu Azure. Nemělo by se například delegovat do služby Azure Container Instances (ACI). Další informace o delegování podsítě
  • Azure CLI verze 2.2.0 nebo novější (pokud používáte CI/CD). Spuštěním příkazu vyhledejte az --version verzi nainstalovanou v počítači. Pokud potřebujete nainstalovat nebo upgradovat Azure CLI, přečtěte si, jak nainstalovat Azure CLI.

Konfigurace virtuální sítě

K otestování privátních koncových bodů připojíte Azure Load Testing k virtuální síti Azure. Virtuální síť by měla mít aspoň jednu podsíť a povolit odchozí provoz do služby Azure Load Testing.

Pokud ještě virtuální síť nemáte, pomocí těchto kroků vytvořte virtuální síť Azure na webu Azure Portal.

Důležité

Virtuální síť musí být ve stejném předplatném a stejné oblasti jako prostředek zátěžového testování.

Vytvoření podsítě

Při nasazování služby Azure Load Testing ve virtuální síti se doporučuje použít samostatné podsítě pro zátěžové testování Azure a pro koncový bod aplikace. Tento přístup umožňuje nakonfigurovat zásady přístupu k síťovému provozu speciálně pro každý účel. Přečtěte si další informace o tom, jak přidat podsíť do virtuální sítě.

(Volitelné) Konfigurace pravidel provozu

Zátěžové testování Azure vyžaduje, aby vložené virtuální počítače ve vaší virtuální síti umožňovaly odchozí přístup ke službě Azure Load Testing. Při vytváření virtuální sítě je ve výchozím nastavení povolený odchozí přístup.

Pokud plánujete dál omezit přístup k virtuální síti pomocí skupiny zabezpečení sítě nebo pokud už máte skupinu zabezpečení sítě, musíte nakonfigurovat odchozí pravidlo zabezpečení tak, aby povolovalo provoz z virtuálních počítačů testovacího modulu do služby Azure Load Testing.

Konfigurace odchozího přístupu pro zátěžové testování Azure:

  1. Přihlaste se k portálu Azure.

  2. Přejděte do skupiny zabezpečení sítě.

    Pokud skupinu zabezpečení sítě ještě nemáte, vytvořte skupinu zabezpečení sítě pomocí následujícího postupu.

    Vytvořte skupinu zabezpečení sítě ve stejné oblasti jako virtuální síť a přidružte ji k podsíti.

  3. V levém navigačním panelu vyberte Odchozí pravidla zabezpečení.

    Screenshot that shows the network security group overview page in the Azure portal, highlighting Outbound security rules.

  4. Pokud chcete přidat nové odchozí pravidlo zabezpečení, vyberte + Přidat. Zadáním následujících informací vytvořte nové pravidlo.

    Pole Hodnota
    Source Jakýkoli
    Rozsahy zdrojových portů *
    Cíl Jakýkoli
    Rozsahy cílových portů *
    Název azure-load-testing-outbound
    Popis Používá se pro různé operace spojené s orchestrací zátěžových testů.
  5. Výběrem možnosti Přidat přidáte pravidlo odchozího zabezpečení do skupiny zabezpečení sítě.

Konfigurace skriptu zátěžového testu

Virtuální počítače testovacího modulu, na kterých běží skript JMeter, se vloží do virtuální sítě, která obsahuje koncový bod aplikace. Teď můžete odkazovat přímo na koncový bod v souboru JMX pomocí privátní IP adresy nebo pomocí překladu ip adres ve vaší síti.

Například koncový bod s IP adresou 10.179.0.7 ve virtuální síti s rozsahem podsítě 10.179.0.0/18 může mít soubor JMX tyto informace:

<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Internal service homepage" enabled="true">
  <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="Service homepage" enabled="true">
    <collectionProp name="Arguments.arguments"/>
  </elementProp>
  <stringProp name="HTTPSampler.domain">10.179.0.7</stringProp>
  <stringProp name="HTTPSampler.port">8081</stringProp>
  <stringProp name="HTTPSampler.protocol"></stringProp>
  <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  <stringProp name="HTTPSampler.path"></stringProp>
  <stringProp name="HTTPSampler.method">GET</stringProp>
</HTTPSamplerProxy>

Konfigurace zátěžového testu

Pokud chcete do zátěžového testu zahrnout privátní hostované koncové body, musíte nakonfigurovat nastavení virtuální sítě pro zátěžový test. Nastavení virtuální sítě můžete nakonfigurovat na webu Azure Portal nebo je zadat v konfiguračním souboru testu YAML pro kanály CI/CD.

Důležité

Když nasadíte Zátěžové testování Azure ve virtuální síti, budou se vám účtovat další poplatky. Azure Load Testing nasadí Azure Load Balancer a veřejnou IP adresu ve vašem předplatném a může to být náklady na vygenerovaný provoz. Další informace najdete v informacích o cenách služby Virtual Network.

Konfigurace virtuální sítě na webu Azure Portal

Nastavení konfigurace virtuální sítě můžete zadat v průvodci vytvořením nebo aktualizací zátěžového testu.

  1. Přihlaste se k webu Azure Portal pomocí přihlašovacích údajů pro vaše předplatné Azure.

  2. Přejděte k prostředku azure Load Testing a v levém podokně vyberte Testy .

  3. Otevřete průvodce vytvořením nebo aktualizací zátěžového testu jedním ze dvou způsobů:

    • Pokud chcete vytvořit nový test, vyberte + Vytvořit > nahrání skriptu JMeter.

      Screenshot that shows the Tests page, highlighting the button for creating a new test.

    • Ze seznamu vyberte existující test a pak vyberte Upravit.

      Screenshot that shows the Tests page, highlighting the button for editing a test.

  4. Na kartě Načtení vyberte režim privátního provozu a pak vyberte virtuální síť a podsíť.

    Pokud máte ve virtuální síti více podsítí, nezapomeňte vybrat podsíť, která bude hostovat virtuální počítače vloženého testovacího modulu.

    Screenshot that shows the Load tab for creating or updating a load test.

    Důležité

    Ujistěte se, že máte dostatečná oprávnění ke správě virtuálních sítí. Potřebujete roli Přispěvatel sítě.

  5. (Volitelné) Pokud nechcete nasadit veřejnou IP adresu, nástroj pro vyrovnávání zatížení a skupinu zabezpečení sítě ve vaší podsíti, zkontrolujte , jestli nechcete nasadit veřejné IP adresy.

    Když vyberete tuto možnost, ujistěte se, že existuje alternativní mechanismus, jako je Azure NAT Gateway, Azure Firewall nebo síťové virtuální zařízení (NVA), které umožňuje směrování odchozího provozu z podsítě.

  6. Zkontrolujte nebo vyplňte informace o zátěžovém testu. Pokud chcete vytvořit nebo spravovat test, postupujte podle těchto kroků.

  7. Vyberte Zkontrolovat a vytvořit a potom Vytvořit (nebo Použít při aktualizaci existujícího testu).

    Po spuštění zátěžového testu azure Load Testing vloží virtuální počítače testovacího stroje do vaší virtuální sítě a podsítě. Testovací skript teď může přistupovat ke koncovému bodu soukromě hostované aplikace ve vaší virtuální síti.

Konfigurace virtuální sítě pro kanály CI/CD

Pokud chcete nakonfigurovat zátěžový test s nastavením virtuální sítě, aktualizujte konfigurační soubor testu YAML.

  1. Otevřete terminál a pomocí Azure CLI se přihlaste k předplatnému Azure:

    az login
    az account set --subscription <your-Azure-Subscription-ID>
    
  2. Načtěte ID podsítě a zkopírujte výslednou hodnotu:

    az network vnet subnet show -g <your-resource-group> --vnet-name <your-vnet-name> --name <your-subnet-name> --query id
    
  3. V oblíbeném editoru otevřete konfigurační soubor testu YAML.

  4. subnetId Přidejte vlastnost do konfiguračního souboru a zadejte ID podsítě, které jste zkopírovali dříve:

    version: v0.1
    testName: SampleTest
    testPlan: SampleTest.jmx
    description: 'Load test the website home page'
    engineInstances: 1
    subnetId: <your-subnet-id>
    publicIPDisabled: False
    

    Volitelně můžete vlastnost nastavit na publicIPDisabledTruehodnotu . Další informace o konfiguraci YAML naleznete v referenčních informacích k YAML testovací konfigurace.

    Důležité

    Ujistěte se, že máte dostatečná oprávnění ke správě virtuálních sítí. Potřebujete roli Přispěvatel sítě.

  5. Uložte konfigurační soubor YAML a potvrďte změny do úložiště zdrojového kódu.

  6. Po aktivaci pracovního postupu CI/CD se spustí zátěžový test a teď má přístup ke koncovému bodu soukromě hostované aplikace ve vaší virtuální síti.

Řešení problému

Vytvoření nebo aktualizace zátěžového testu selže s chybou Subscription not registered with Microsoft.Batch (ALTVNET001)

Když nakonfigurujete zátěžový test ve virtuální síti, musí být předplatné zaregistrované ve Microsoft.Batchvirtuální síti .

  1. Zkuste znovu vytvořit nebo aktualizovat zátěžový test po několika minutách.

  2. Pokud chyba přetrvává, postupujte podle těchto kroků a zaregistrujte předplatné u Microsoft.Batch poskytovatele prostředků ručně.

Vytvoření nebo aktualizace zátěžového testu selže s chybou Subnet is not in the Succeeded state (ALTVNET002)

Podsíť, kterou používáte pro zátěžový test, není ve Succeeded stavu a není připravená k nasazení zátěžového testu.

  1. Ověřte stav podsítě.

    Spuštěním následujícího příkazu Azure CLI ověřte stav. Výsledek by měl být Succeeded.

    az network vnet subnet show -g MyResourceGroup -n MySubnet --vnet-name MyVNet
    
  2. Vyřešte všechny problémy s podsítí. Pokud jste právě vytvořili podsíť, ověřte stav znovu po několika minutách.

  3. Případně vyberte jinou podsíť pro zátěžový test.

Vytvoření nebo aktualizace zátěžového testu selže s chybou Subnet is delegated to other service (ALTVNET003)

Podsíť, kterou používáte k nasazení zátěžového testu, není možné delegovat na jinou službu Azure. Buď odeberte existující delegování, nebo vyberte jinou podsíť, která není delegovaná do služby.

Přečtěte si další informace o přidání nebo odebrání delegování podsítě.

Aktualizace nebo spuštění zátěžového testu selže s chybou User doesn't have subnet/join/action permission on the virtual network (ALTVNET004)

Pokud chcete aktualizovat nebo spustit zátěžový test, musíte mít dostatečná oprávnění k nasazení služby Azure Load Testing do virtuální sítě. Ve virtuální síti vyžadujete roli Přispěvatel sítě nebo nadřazenou roli této role.

  1. Informace o ověření oprávnění najdete v tématu Kontrola přístupu uživatele k prostředkům Azure.

  2. Podle těchto kroků přiřaďte roli Přispěvatel sítě k vašemu účtu.

Vytvoření nebo aktualizace zátěžového testu selže s chybou IPv6 enabled subnet not supported (ALTVNET005)

Zátěžové testování Azure nepodporuje podsítě s podporou protokolu IPv6. Vyberte jinou podsíť, pro kterou není povolený protokol IPv6.

Vytvoření nebo aktualizace zátěžového testu selže s chybou NSG attached to subnet is not in Succeeded state (ALTVNET006)

Skupina zabezpečení sítě (NSG), která je připojená k podsíti, není ve Succeeded stavu.

  1. Ověřte stav skupiny zabezpečení sítě.

    Spuštěním následujícího příkazu Azure CLI ověřte stav. Výsledek by měl být Succeeded.

    az network nsg show -g MyResourceGroup -n MyNsg
    
  2. Vyřešte všechny problémy se skupinou zabezpečení sítě. Pokud jste právě vytvořili skupinu zabezpečení sítě nebo podsíť, ověřte stav znovu po několika minutách.

  3. Případně vyberte jinou skupinu zabezpečení sítě.

Vytvoření nebo aktualizace zátěžového testu selže s chybou Route Table attached to subnet is not in Succeeded state (ALTVNET007)

Směrovací tabulka připojená k podsíti není ve Succeeded stavu.

  1. Ověřte stav směrovací tabulky.

    Spuštěním následujícího příkazu Azure CLI ověřte stav. Výsledek by měl být Succeeded.

    az network route-table show -g MyResourceGroup -n MyRouteTable
    
  2. Vyřešte všechny problémy se směrovací tabulkou. Pokud jste právě vytvořili směrovací tabulku nebo podsíť, ověřte stav znovu po několika minutách.

  3. Případně vyberte jinou směrovací tabulku.

Vytvoření nebo aktualizace zátěžového testu selže s chybou Inbound not allowed from AzureLoadTestingInstanceManagement service tag (ALTVNET008)

Příchozí přístup ze značky AzureLoadTestingInstanceManagement služby do virtuální sítě není povolený.

Pokud chcete povolit přístup k provozu pro AzureLoadTestingInstanceManagement značku služby, postupujte podle těchto kroků.

Vytvoření nebo aktualizace zátěžového testu selže s chybou Inbound not allowed from BatchNodeManagement service tag (ALTVNET009)

Příchozí přístup ze značky BatchNodeManagement služby do virtuální sítě není povolený.

Následujícím postupem povolíte příchozí přístup pro BatchNodeManagement značku služby.

Vytvoření nebo aktualizace zátěžového testu selže s chybou Route Table has next hop set for address prefix 0.0.0.0/0

Směrovací tabulka podsítě má typ dalšího segmentu směrování nastavený na virtuální zařízení pro trasu 0.0.0.0/0. Tato konfigurace by způsobovala asymetrické směrování síťových paketů při zřizování virtuálních počítačů v podsíti.

Pokud chcete tuto chybu vyřešit, proveďte jednu ze dvou akcí:

  • Použijte jinou podsíť, která nemá vlastní trasy.
  • Upravte směrovací tabulku podsítě a nastavte typ dalšího segmentu směrování pro trasu 0.0.0.0/0 na internet.

Přečtěte si další informace o směrování provozu virtuální sítě.

Vytvoření nebo aktualizace zátěžového testu selže s chybou Subnet is in a different subscription than resource (ALTVNET011)

Virtuální síť není ve stejném předplatném a oblasti jako prostředek zátěžového testování Azure. Přesuňte nebo znovu vytvořte virtuální síť Azure nebo prostředek zátěžového testování Azure do stejného předplatného a oblasti.

Zřizování selže s chybou An azure policy is restricting engine deployment to your subscription (ALTVNET012)

Zásady Azure omezují nasazení zátěžového testu do vašeho předplatného. Zkontrolujte omezení zásad a zkuste to znovu. Pokud máte omezení zásad nasazení veřejné IP adresy, nástroje pro vyrovnávání zatížení Azure nebo skupiny zabezpečení sítě, můžete nasazení těchto prostředků zakázat. Viz Konfigurace zátěžového testu.

Zřizování selže s chybou Engines could not be deployed due to an error in subnet configuration (ALTVNET013)

Instance zátěžového testu nešlo nasadit kvůli chybě v konfiguraci podsítě. Ověřte konfiguraci podsítě. Pokud problém přetrvává, vytvořte lístek podpory spolu s ID spuštění testu.

  1. Ověřte stav podsítě.

    Spuštěním následujícího příkazu Azure CLI ověřte stav. Výsledek by měl být Succeeded.

    az network vnet subnet show -g MyResourceGroup -n MySubnet --vnet-name MyVNet
    
  2. Vyřešte všechny problémy s podsítí. Pokud jste právě vytvořili podsíť, ověřte stav znovu po několika minutách.

  3. Pokud problém přetrvává, otevřete online žádost o zákaznickou podporu.

    Zadejte ID spuštění zátěžového testu v rámci žádosti o podporu.

Spuštění zátěžového testu selže s chybou Subnet has {0} free IPs, {1} more free IP(s) required to run {2} engine instance load test (ALTVNET014)

Podsíť, kterou používáte pro zátěžové testování Azure, musí mít dostatek nepřiřazených IP adres, aby vyhovovala počtu modulů zátěžových testů pro váš test.

Podle těchto kroků aktualizujte nastavení podsítě a zvyšte rozsah IP adres.

Spuštění zátěžového testu selže s chybou Management Lock is enabled on Resource Group of VNET (ALTVNET015)

Pokud je ve skupině prostředků, která obsahuje virtuální síť, zámek, nemůže služba vložit virtuální počítače testovacího modulu do vaší virtuální sítě. Před spuštěním zátěžového testu odeberte zámek správy. Zjistěte, jak nakonfigurovat zámky na webu Azure Portal.

Spuštění zátěžového testu selže s chybou Insufficient public IP address quota in VNET subscription (ALTVNET016)

Při spuštění zátěžového testu nástroj Azure Load Testing vloží do virtuální sítě následující prostředky Azure, které obsahují koncový bod aplikace:

  • Virtuální počítače testovacího stroje. Tyto virtuální počítače během zátěžového testu vyvolávají koncový bod aplikace.
  • Veřejná IP adresa.
  • Skupina zabezpečení sítě (NSG).
  • An Azure Load Balancer.

Ujistěte se, že máte kvótu alespoň pro jednu veřejnou IP adresu dostupnou ve vašem předplatném pro použití v zátěžovém testu.

Spuštění zátěžového testu selže s chybou Subnet with name "AzureFirewallSubnet" cannot be used for load testing (ALTVNET017)

Podsíť AzureFirewallSubnet je vyhrazená a nemůžete ji použít pro zátěžové testování Azure. Vyberte jinou podsíť pro zátěžový test.

Další kroky