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:
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:
Meld u aan bij de Azure-portal.
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.
Selecteer uitgaande beveiligingsregels in het linkernavigatievenster.
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. 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.
Meld u aan bij de Azure-portal met behulp van de referenties van uw Azure-abonnement.
Ga naar uw Azure Load Testing-resource en selecteer Tests in het linkerdeelvenster.
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.
Selecteer een bestaande test in de lijst en selecteer Vervolgens Bewerken.
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.
Belangrijk
Zorg ervoor dat u over voldoende machtigingen beschikt voor het beheren van virtuele netwerken. U hebt de rol Inzender voor het netwerk nodig.
(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.
Controleer of vul de gegevens van de belastingtest in. Volg deze stappen om een test te maken of te beheren.
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.
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>
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
Open uw YAML-testconfiguratiebestand in uw favoriete editor.
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 opTrue
. 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.
Sla het YAML-configuratiebestand op en voer uw wijzigingen door in de opslagplaats voor broncode.
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
.
Probeer de belastingtest na enkele minuten opnieuw te maken of bij te werken.
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.
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
Los eventuele problemen met het subnet op. Als u het subnet zojuist hebt gemaakt, controleert u de status na enkele minuten opnieuw.
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.
Zie Toegang controleren voor een gebruiker naar Azure-resources om uw machtigingen te verifiëren.
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.
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
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.
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.
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
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.
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.
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
Los eventuele problemen met het subnet op. Als u het subnet zojuist hebt gemaakt, controleert u de status na enkele minuten opnieuw.
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
- Meer informatie over de scenario's voor het implementeren van Azure Load Testing in een virtueel netwerk.
- Meer informatie over het bewaken van metrische gegevens van toepassingen aan de serverzijde.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor