Privé-eindpunten testen door Azure Load Testing te implementeren in een virtueel Azure-netwerk

In dit artikel leert u hoe u privétoepassingseindpunten test met Azure Load Testing. U maakt een Azure Load Testing-resource en stelt deze in staat om belasting te genereren vanuit uw virtuele netwerk (virtuele netwerkinjectie).

Deze functionaliteit maakt de volgende gebruiksscenario's mogelijk:

  • Genereer belasting naar een eindpunt dat is geïmplementeerd in een virtueel Azure-netwerk.
  • Genereer belasting naar een openbaar eindpunt met toegangsbeperkingen, zoals het beperken van IP-adressen van clients.
  • Genereer belasting voor een on-premises service, niet openbaar toegankelijk, die is verbonden met Azure via ExpressRoute.

Meer informatie over de scenario's voor het implementeren van Azure Load Testing in uw virtuele netwerk.

Het volgende diagram biedt een technisch overzicht:

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

Wanneer u de belastingstest start, injecteert de Azure Load Testing-service de volgende Azure-resources in het virtuele netwerk dat het toepassingseindpunt bevat:

  • De virtuele machines van de testengine. Deze VM's roepen uw toepassingseindpunt aan tijdens de belastingstest.
  • Een openbaar IP-adres.
  • Een netwerkbeveiligingsgroep (NSG).
  • Een Azure Load Balancer.

Deze resources zijn kortstondig en bestaan alleen terwijl de belastingstest wordt uitgevoerd. Als u beperkingen hebt voor de implementatie van een openbaar IP-adres, Azure Load Balancer of netwerkbeveiligingsgroep in uw subnet, kunt u de implementatie van deze resources uitschakelen. Zie Uw belastingtest configureren voor meer informatie.

Als u de toegang tot uw virtuele netwerk beperkt, moet u uw virtuele netwerk configureren om communicatie mogelijk te maken tussen deze Azure Load Testing en de geïnjecteerde VM's.

Vereisten

  • Uw Azure-account heeft de rol Inzender voor netwerken of een bovenliggende rol in het virtuele netwerk. Zie Toegang controleren voor een gebruiker naar Azure-resources om uw machtigingen te verifiëren.
  • Het subnet dat u voor Azure Load Testing gebruikt, moet voldoende niet-toegewezen IP-adressen hebben om tegemoet te komen aan het aantal load test-engines voor uw test. Meer informatie over het configureren van uw test voor grootschalige belasting.
  • Het subnet mag niet worden gedelegeerd aan een andere Azure-service. Het mag bijvoorbeeld niet worden gedelegeerd aan Azure Container Instances (ACI). Meer informatie over subnetdelegering.
  • Azure CLI versie 2.2.0 of hoger (als u CI/CD gebruikt). Voer deze az --version opdracht uit om de versie te vinden die op uw computer is geïnstalleerd. Als u de Azure CLI wilt installeren of upgraden, raadpleegt u De Azure CLI installeren.

Virtueel netwerk configureren

Als u privé-eindpunten wilt testen, verbindt u Azure Load Testing met een virtueel Azure-netwerk. Het virtuele netwerk moet ten minste één subnet hebben en uitgaand verkeer naar de Azure Load Testing-service toestaan.

Als u nog geen virtueel netwerk hebt, volgt u deze stappen om een virtueel Azure-netwerk te maken in Azure Portal.

Belangrijk

Het virtuele netwerk moet zich in hetzelfde abonnement en dezelfde regio bevinden als de resource voor het testen van belasting.

Een subnet maken

Wanneer u Azure Load Testing implementeert in uw virtuele netwerk, is het raadzaam afzonderlijke subnetten te gebruiken voor Azure Load Testing en voor het toepassingseindpunt. Met deze aanpak kunt u beleidsregels voor netwerkverkeerstoegang specifiek configureren voor elk doel. Meer informatie over het toevoegen van een subnet aan een virtueel netwerk.

(Optioneel) Verkeersregels configureren

Azure Load Testing vereist dat de geïnjecteerde VM's in uw virtuele netwerk uitgaande toegang hebben tot de Azure Load Testing-service. Wanneer u een virtueel netwerk maakt, is uitgaande toegang standaard al toegestaan.

Als u de toegang tot uw virtuele netwerk verder wilt beperken met een netwerkbeveiligingsgroep of als u al een netwerkbeveiligingsgroep hebt, moet u een uitgaande beveiligingsregel configureren om verkeer van de vm's van de test-engine naar de Azure Load Testing-service toe te staan.

Uitgaande toegang configureren voor Azure Load Testing:

  1. Meld u aan bij de Azure-portal.

  2. Ga naar uw netwerkbeveiligingsgroep.

    Als u nog geen NSG hebt, volgt u deze stappen om een netwerkbeveiligingsgroep te maken.

    Maak de NSG in dezelfde regio als uw virtuele netwerk en koppel deze vervolgens aan uw subnet.

  3. Selecteer uitgaande beveiligingsregels in het linkernavigatievenster.

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

  4. Selecteer + Toevoegen om een nieuwe uitgaande beveiligingsregel toe te voegen. Voer de volgende gegevens in om een nieuwe regel te maken.

    Veld Waarde
    Source Alle
    Bronpoortbereiken *
    Bestemming Alle
    Poortbereiken van doel *
    Naam azure-load-testing-outbound
    Beschrijving Wordt gebruikt voor verschillende bewerkingen die betrokken zijn bij het organiseren van belastingstests.
  5. Selecteer Toevoegen om de uitgaande beveiligingsregel toe te voegen aan de netwerkbeveiligingsgroep.

Uw testscript voor belasting configureren

De vm's van de test-engine, waarop het JMeter-script wordt uitgevoerd, worden geïnjecteerd in het virtuele netwerk dat het toepassingseindpunt bevat. U kunt nu rechtstreeks naar het eindpunt in het JMX-bestand verwijzen met behulp van het privé-IP-adres of de naamomzetting in uw netwerk gebruiken.

Voor een eindpunt met IP-adres 10.179.0.7, in een virtueel netwerk met subnetbereik 10.179.0.0/18, kan het JMX-bestand deze informatie bevatten:

<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>

Uw belastingstest configureren

Als u privé-gehoste eindpunten in uw belastingstest wilt opnemen, moet u de instellingen voor het virtuele netwerk voor de belastingtest configureren. U kunt de instellingen voor het virtuele netwerk configureren in Azure Portal of deze opgeven in het YAML-testconfiguratiebestand voor CI/CD-pijplijnen.

Belangrijk

Wanneer u Azure Load Testing implementeert in een virtueel netwerk, worden er extra kosten in rekening gebracht. Azure Load Testing implementeert een Azure Load Balancer en een openbaar IP-adres in uw abonnement en er zijn mogelijk kosten voor gegenereerd verkeer. Zie de prijsinformatie voor Virtual Network voor meer informatie.

Het virtuele netwerk configureren in Azure Portal

U kunt de configuratie-instellingen voor het virtuele netwerk opgeven in de wizard voor het maken/bijwerken van de belastingtest.

  1. Meld u aan bij de Azure-portal met behulp van de referenties van uw Azure-abonnement.

  2. Ga naar uw Azure Load Testing-resource en selecteer Tests in het linkerdeelvenster.

  3. Open de wizard voor het maken/bijwerken van de belastingtest op twee manieren:

    • Selecteer + Een > JMeter-script uploaden als u een nieuwe test wilt maken.

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

    • Selecteer een bestaande test in de lijst en selecteer Vervolgens Bewerken.

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

  4. Selecteer op het tabblad Laden de modus Privéverkeer en selecteer vervolgens uw virtuele netwerk en subnet.

    Als u meerdere subnetten in uw virtuele netwerk hebt, moet u ervoor zorgen dat u het subnet selecteert dat als host fungeert voor de geïnjecteerde test-engine-VM's.

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

    Belangrijk

    Zorg ervoor dat u over voldoende machtigingen beschikt voor het beheren van virtuele netwerken. U hebt de rol Inzender voor het netwerk nodig.

  5. (Optioneel) Schakel openbare IP-implementatie uit als u geen openbaar IP-adres, load balancer en netwerkbeveiligingsgroep in uw subnet wilt implementeren.

    Wanneer u deze optie selecteert, moet u ervoor zorgen dat er een alternatief mechanisme is, zoals Azure NAT Gateway, Azure Firewall of een virtueel netwerkapparaat (NVA), om uitgaande verkeersroutering vanuit het subnet mogelijk te maken.

  6. Controleer of vul de gegevens van de belastingtest in. Volg deze stappen om een test te maken of te beheren.

  7. Selecteer Beoordelen en maken en vervolgens Maken (of Toepassen, bij het bijwerken van een bestaande test).

    Wanneer de belastingstest wordt gestart, injecteert Azure Load Testing de vm's van de test-engine in uw virtuele netwerk en subnet. Het testscript heeft nu toegang tot het privé-gehoste toepassingseindpunt in uw virtuele netwerk.

Het virtuele netwerk configureren voor CI/CD-pijplijnen

Werk het YAML-testconfiguratiebestand bij om de belastingtest te configureren met de instellingen van uw virtuele netwerk.

  1. Open een terminal en gebruik de Azure CLI om u aan te melden bij uw Azure-abonnement:

    az login
    az account set --subscription <your-Azure-Subscription-ID>
    
  2. Haal de subnet-id op en kopieer de resulterende waarde:

    az network vnet subnet show -g <your-resource-group> --vnet-name <your-vnet-name> --name <your-subnet-name> --query id
    
  3. Open uw YAML-testconfiguratiebestand in uw favoriete editor.

  4. Voeg de subnetId eigenschap toe aan het configuratiebestand en geef de subnet-id op die u eerder hebt gekopieerd:

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

    U kunt de publicIPDisabled eigenschap desgewenst instellen op True. Zie de YAML-referentie voor testconfiguratie voor meer informatie over de YAML-configuratie.

    Belangrijk

    Zorg ervoor dat u over voldoende machtigingen beschikt voor het beheren van virtuele netwerken. U hebt de rol Inzender voor het netwerk nodig.

  5. Sla het YAML-configuratiebestand op en voer uw wijzigingen door in de opslagplaats voor broncode.

  6. Nadat de CI/CD-werkstroom is geactiveerd, wordt de belastingstest gestart en hebt u nu toegang tot het privé-gehoste toepassingseindpunt in uw virtuele netwerk.

Problemen oplossen

Het maken of bijwerken van de belastingstest mislukt met Subscription not registered with Microsoft.Batch (ALTVNET001)

Wanneer u een belastingstest in een virtueel netwerk configureert, moet het abonnement worden geregistreerd bij Microsoft.Batch.

  1. Probeer de belastingtest na enkele minuten opnieuw te maken of bij te werken.

  2. Als de fout zich blijft voordoen, volgt u deze stappen om uw abonnement handmatig bij de Microsoft.Batch resourceprovider te registreren.

Het maken of bijwerken van de belastingstest mislukt met Subnet is not in the Succeeded state (ALTVNET002)

Het subnet dat u voor de belastingtest gebruikt, heeft niet de Succeeded status en is niet klaar om uw belastingstest erin te implementeren.

  1. Controleer de status van het subnet.

    Voer de volgende Azure CLI-opdracht uit om de status te controleren. Het resultaat moet zijn Succeeded.

    az network vnet subnet show -g MyResourceGroup -n MySubnet --vnet-name MyVNet
    
  2. Los eventuele problemen met het subnet op. Als u het subnet zojuist hebt gemaakt, controleert u de status na enkele minuten opnieuw.

  3. U kunt ook een ander subnet voor de belastingstest selecteren.

Het maken of bijwerken van de belastingstest mislukt met Subnet is delegated to other service (ALTVNET003)

Het subnet dat u gebruikt voor het implementeren van de belastingstest, kan niet worden gedelegeerd aan een andere Azure-service. Verwijder de bestaande delegering of selecteer een ander subnet dat niet is gedelegeerd aan een service.

Meer informatie over het toevoegen of verwijderen van een subnetdelegering.

Het bijwerken of starten van de belastingstest mislukt met User doesn't have subnet/join/action permission on the virtual network (ALTVNET004)

Als u een belastingstest wilt bijwerken of starten, moet u over voldoende machtigingen beschikken om Azure Load Testing te implementeren in het virtuele netwerk. U hebt de rol Netwerkbijdrager of een bovenliggende rol van deze rol in het virtuele netwerk nodig.

  1. Zie Toegang controleren voor een gebruiker naar Azure-resources om uw machtigingen te verifiëren.

  2. Volg deze stappen om de rol Inzender voor het netwerk toe te wijzen aan uw account.

Het maken of bijwerken van de belastingstest mislukt met IPv6 enabled subnet not supported (ALTVNET005)

Azure Load Testing biedt geen ondersteuning voor subnetten waarvoor IPv6 is ingeschakeld. Selecteer een ander subnet waarvoor IPv6 niet is ingeschakeld.

Het maken of bijwerken van de belastingstest mislukt met NSG attached to subnet is not in Succeeded state (ALTVNET006)

De netwerkbeveiligingsgroep (NSG) die aan het subnet is gekoppeld, heeft niet de Succeeded status.

  1. Controleer de status van de NSG.

    Voer de volgende Azure CLI-opdracht uit om de status te controleren. Het resultaat moet zijn Succeeded.

    az network nsg show -g MyResourceGroup -n MyNsg
    
  2. Los eventuele problemen met de NSG op. Als u zojuist de NSG of het subnet hebt gemaakt, controleert u de status na een paar minuten opnieuw.

  3. U kunt ook een andere NSG selecteren.

Het maken of bijwerken van de belastingstest mislukt met Route Table attached to subnet is not in Succeeded state (ALTVNET007)

De routetabel die aan het subnet is gekoppeld, heeft niet de Succeeded status.

  1. Controleer de status van de routetabel.

    Voer de volgende Azure CLI-opdracht uit om de status te controleren. Het resultaat moet zijn Succeeded.

    az network route-table show -g MyResourceGroup -n MyRouteTable
    
  2. Los eventuele problemen met de routetabel op. Als u zojuist de routetabel of het subnet hebt gemaakt, controleert u de status na enkele minuten opnieuw.

  3. U kunt ook een andere routetabel selecteren.

Het maken of bijwerken van de belastingstest mislukt met Inbound not allowed from AzureLoadTestingInstanceManagement service tag (ALTVNET008)

Binnenkomende toegang van de AzureLoadTestingInstanceManagement servicetag naar het virtuele netwerk is niet toegestaan.

Volg deze stappen om toegang tot verkeer in te schakelen voor de AzureLoadTestingInstanceManagement servicetag.

Het maken of bijwerken van de belastingstest mislukt met Inbound not allowed from BatchNodeManagement service tag (ALTVNET009)

Binnenkomende toegang van de BatchNodeManagement servicetag naar het virtuele netwerk is niet toegestaan.

Volg deze stappen om binnenkomende toegang in te schakelen voor de BatchNodeManagement servicetag.

Het maken of bijwerken van de belastingstest mislukt met Route Table has next hop set for address prefix 0.0.0.0/0

Voor de routetabel van het subnet is het type volgende hopset ingesteld op virtueel apparaat voor route 0.0.0.0/0. Deze configuratie veroorzaakt asymmetrische routering voor netwerkpakketten tijdens het inrichten van de virtuele machines in het subnet.

Voer een van de twee acties uit om deze fout op te lossen:

  • Gebruik een ander subnet, dat geen aangepaste routes heeft.
  • Wijzig de routetabel van het subnet en stel het volgende hoptype voor route 0.0.0.0/0 in op internet.

Meer informatie over routering van verkeer van virtuele netwerken.

Het maken of bijwerken van de belastingstest mislukt met Subnet is in a different subscription than resource (ALTVNET011)

Het virtuele netwerk bevindt zich niet in hetzelfde abonnement en dezelfde regio als uw Azure Load Testing-resource. Verplaats of maak het virtuele Azure-netwerk of de Azure Load Testing-resource naar hetzelfde abonnement en dezelfde regio.

Inrichten mislukt met An azure policy is restricting engine deployment to your subscription (ALTVNET012)

Een Azure-beleid beperkt de implementatie van de load test-engine tot uw abonnement. Controleer uw beleidsbeperkingen en probeer het opnieuw. Als u beleidsbeperkingen hebt voor de implementatie van het openbare IP-adres, de Azure Load Balancer of de netwerkbeveiligingsgroep, kunt u de implementatie van deze resources uitschakelen. Zie Uw belastingstest configureren.

Inrichten mislukt met Engines could not be deployed due to an error in subnet configuration (ALTVNET013)

De exemplaren van de loadtest-engine kunnen niet worden geïmplementeerd vanwege een fout in de subnetconfiguratie. Controleer de configuratie van uw subnet. Als het probleem zich blijft voordoen, dient u een ticket met ondersteuning in, samen met de uitvoerings-id van de test.

  1. Controleer de status van het subnet.

    Voer de volgende Azure CLI-opdracht uit om de status te controleren. Het resultaat moet zijn Succeeded.

    az network vnet subnet show -g MyResourceGroup -n MySubnet --vnet-name MyVNet
    
  2. Los eventuele problemen met het subnet op. Als u het subnet zojuist hebt gemaakt, controleert u de status na enkele minuten opnieuw.

  3. Als het probleem zich blijft voordoen, opent u een onlineaanvraag voor klantenondersteuning.

    Geef de uitvoerings-id van de belastingtest op in de ondersteuningsaanvraag.

Het starten van de belastingstest mislukt met Subnet has {0} free IPs, {1} more free IP(s) required to run {2} engine instance load test (ALTVNET014)

Het subnet dat u voor Azure Load Testing gebruikt, moet voldoende niet-toegewezen IP-adressen hebben om tegemoet te komen aan het aantal load test-engines voor uw test.

Volg deze stappen om de subnetinstellingen bij te werken en het IP-adresbereik te verhogen.

Het starten van de belastingstest mislukt met Management Lock is enabled on Resource Group of VNET (ALTVNET015)

Als er een vergrendeling is op de resourcegroep die het virtuele netwerk bevat, kan de service de virtuele machines van de test-engine niet in uw virtuele netwerk injecteren. Verwijder de beheervergrendeling voordat u de belastingtest uitvoert. Meer informatie over het configureren van vergrendelingen in Azure Portal.

Het starten van de belastingstest mislukt met Insufficient public IP address quota in VNET subscription (ALTVNET016)

Wanneer u de belastingstest start, injecteert Azure Load Testing de volgende Azure-resources in het virtuele netwerk dat het toepassingseindpunt bevat:

  • De virtuele machines van de testengine. Deze VM's roepen uw toepassingseindpunt aan tijdens de belastingstest.
  • Een openbaar IP-adres.
  • Een netwerkbeveiligingsgroep (NSG).
  • Een Azure Load Balancer.

Zorg ervoor dat u een quotum hebt voor ten minste één openbaar IP-adres dat beschikbaar is in uw abonnement voor gebruik in de belastingstest.

Het starten van de belastingstest mislukt met Subnet with name "AzureFirewallSubnet" cannot be used for load testing (ALTVNET017)

Het subnet AzureFirewallSubnet is gereserveerd en u kunt het niet gebruiken voor Azure Load Testing. Selecteer een ander subnet voor uw belastingstest.

Volgende stappen