Delen via


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:

  • Belasting genereren naar een eindpunt dat is geïmplementeerd in een virtueel Azure-netwerk.
  • Belasting genereren naar een openbaar eindpunt met toegangsbeperkingen, zoals beperkingen voor client-IP-adressen.
  • Belasting genereren voor een niet openbaar toegankelijke on-premises service 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 met het technische overzicht van virtuele netwerkinjecties van Azure Load Testing.

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.
  • Het subnet mag IPv6 niet hebben ingeschakeld. Azure Load Testing biedt geen ondersteuning voor subnetten waarvoor IPv6 is ingeschakeld. Meer informatie over IPv6 voor Azure Virtual Network
  • 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 het Azure-portaal.

  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.

    Schermopname van de overzichtspagina van de netwerkbeveiligingsgroep in Azure Portal, waarin uitgaande beveiligingsregels worden gemarkeerd.

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

    Veld Waarde
    Bron 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.

      Schermopname van de pagina Tests, waarin de knop voor het maken van een nieuwe test wordt gemarkeerd.

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

      Schermopname van de pagina Tests, waarin de knop voor het bewerken van een test wordt gemarkeerd.

  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.

    Schermopname van het tabblad Laden voor het maken of bijwerken van een belastingstest.

    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.

Probleemoplossing

Zie hoe u problemen met het maken en uitvoeren van belastingstests voor privé-eindpunten kunt oplossen.

Volgende stappen