Dela via


Testa privata slutpunkter genom att distribuera Azure Load Testing i ett virtuellt Azure-nätverk

I den här artikeln lär du dig hur du testar privata programslutpunkter med Azure Load Testing. Du skapar en Azure Load Testing-resurs och gör det möjligt att generera belastning inifrån ditt virtuella nätverk (inmatning av virtuellt nätverk).

Den här funktionen möjliggör följande användningsscenarier:

  • Generera belastning till en slutpunkt som distribueras i ett virtuellt Azure-nätverk.
  • Generera belastning till en offentlig slutpunkt med åtkomstbegränsningar, till exempel begränsningar för klient-IP-adresser.
  • Generera belastning till en lokal tjänst som inte är tillgänglig offentligt, men som är ansluten till Azure via ExpressRoute.

Läs mer om scenarier för distribution av Azure Load Testing i ditt virtuella nätverk.

Följande diagram innehåller en teknisk översikt:

Diagram som visar den tekniska översikten över inmatning av virtuella nätverk i Azure Load Testing.

När du startar belastningstestet matar Azure Load Testing-tjänsten in följande Azure-resurser i det virtuella nätverket som innehåller programslutpunkten:

  • De virtuella testmotordatorerna. De här virtuella datorerna anropar programslutpunkten under belastningstestet.
  • En offentlig IP-adress.
  • En nätverkssäkerhetsgrupp (NSG).
  • En Azure Load Balancer.

Dessa resurser är tillfälliga och finns bara när belastningstestet körs. Om du har begränsningar för distributionen av en offentlig IP-adress, En Azure-lastbalanserare eller en nätverkssäkerhetsgrupp i undernätet kan du inaktivera distributionen av dessa resurser. Mer information finns i Konfigurera belastningstestet.

Om du begränsar åtkomsten till ditt virtuella nätverk måste du konfigurera ditt virtuella nätverk för att aktivera kommunikation mellan dessa Azure Load Testing och de inmatade virtuella datorerna.

Förutsättningar

  • Ditt Azure-konto har rollen Nätverksdeltagare , eller en överordnad av den här rollen, i det virtuella nätverket. Se Kontrollera åtkomsten för en användare till Azure-resurser för att verifiera dina behörigheter.
  • Det undernät som du använder för Azure Load Testing måste ha tillräckligt med otilldelade IP-adresser för att hantera antalet belastningstestmotorer för testet. Läs mer om hur du konfigurerar testet för hög skalbar belastning.
  • Undernätet bör inte delegeras till någon annan Azure-tjänst. Den bör till exempel inte delegeras till Azure Container Instances (ACI). Läs mer om delegering av undernät.
  • I undernätet ska inte ha IPv6 aktiverat. Azure Load Testing stöder inte IPv6-aktiverade undernät. Läs mer om IPv6 för Azure Virtual Network
  • Azure CLI version 2.2.0 eller senare (om du använder CI/CD). Kör az --version för att hitta den version som är installerad på datorn. Om du behöver installera eller uppgradera Azure CLI kan du läsa Installera Azure CLI.

Konfigurera ett virtuellt nätverk

Om du vill testa privata slutpunkter ansluter du Azure Load Testing till ett virtuellt Azure-nätverk. Det virtuella nätverket bör ha minst ett undernät och tillåta utgående trafik till Azure Load Testing-tjänsten.

Om du inte har något virtuellt nätverk än följer du de här stegen för att skapa ett virtuellt Azure-nätverk i Azure Portal.

Viktigt!

Det virtuella nätverket måste finnas i samma prenumeration och i samma region som belastningstestningsresursen.

Skapa ett undernät

När du distribuerar Azure Load Testing i ditt virtuella nätverk rekommenderar vi att du använder separata undernät för Azure Load Testing och för programslutpunkten. Med den här metoden kan du konfigurera principer för åtkomst till nätverkstrafik specifikt för varje syfte. Läs mer om hur du lägger till ett undernät i ett virtuellt nätverk.

(Valfritt) Konfigurera trafikregler

Azure Load Testing kräver att de inmatade virtuella datorerna i det virtuella nätverket tillåts utgående åtkomst till Azure Load Testing-tjänsten. Som standard är utgående åtkomst redan tillåten när du skapar ett virtuellt nätverk.

Om du planerar att ytterligare begränsa åtkomsten till ditt virtuella nätverk med en nätverkssäkerhetsgrupp, eller om du redan har en nätverkssäkerhetsgrupp, måste du konfigurera en utgående säkerhetsregel för att tillåta trafik från de virtuella testmotordatorerna till Azure Load Testing-tjänsten.

Så här konfigurerar du utgående åtkomst för Azure Load Testing:

  1. Logga in på Azure-portalen.

  2. Gå till nätverkssäkerhetsgruppen.

    Om du inte har någon NSG ännu följer du de här stegen för att skapa en nätverkssäkerhetsgrupp.

    Skapa NSG:n i samma region som ditt virtuella nätverk och associera den sedan med ditt undernät.

  3. Välj Utgående säkerhetsregler i det vänstra navigeringsfältet.

    Skärmbild som visar översiktssidan för nätverkssäkerhetsgruppen i Azure Portal, med utgående säkerhetsregler markerade.

  4. Välj + Lägg till för att lägga till en ny utgående säkerhetsregel. Ange följande information för att skapa en ny regel.

    Fält Värde
    Source Alla
    Källportintervall *
    Mål Alla
    Målportintervall *
    Namn azure-load-testing-outbound
    Beskrivning Används för olika åtgärder som rör orkestrering av en belastningstest.
  5. Välj Lägg till för att lägga till den utgående säkerhetsregeln i nätverkssäkerhetsgruppen.

Konfigurera ditt belastningstestskript

De virtuella testmotordatorerna, som kör JMeter-skriptet, matas in i det virtuella nätverk som innehåller programslutpunkten. Nu kan du referera direkt till slutpunkten i JMX-filen med hjälp av den privata IP-adressen eller använda namnmatchning i nätverket.

För en slutpunkt med IP-adress 10.179.0.7 i ett virtuellt nätverk med undernätsintervallet 10.179.0.0/18 kan JMX-filen ha den här informationen:

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

Konfigurera belastningstestet

Om du vill inkludera privat värdbaserade slutpunkter i belastningstestet måste du konfigurera inställningarna för det virtuella nätverket för belastningstestet. Du kan konfigurera inställningarna för det virtuella nätverket i Azure Portal eller ange dem i YAML-testkonfigurationsfilen för CI/CD-pipelines.

Viktigt!

När du distribuerar Azure Load Testing i ett virtuellt nätverk debiteras du ytterligare avgifter. Azure Load Testing distribuerar en Azure Load Balancer och en offentlig IP-adress i din prenumeration och det kan finnas en kostnad för genererad trafik. Mer information finns i prisinformationen för virtuellt nätverk.

Konfigurera det virtuella nätverket i Azure Portal

Du kan ange konfigurationsinställningarna för virtuella nätverk i guiden skapa/uppdatera belastningstest.

  1. Logga in på Azure Portal med hjälp av autentiseringsuppgifterna för din Azure-prenumeration.

  2. Gå till din Azure Load Testing-resurs och välj Tester i den vänstra rutan.

  3. Öppna guiden för att skapa/uppdatera belastningstestet på något av två sätt:

    • Välj + Skapa > ladda upp ett JMeter-skript om du vill skapa ett nytt test.

      Skärmbild som visar sidan Tester och som markerar knappen för att skapa ett nytt test.

    • Välj ett befintligt test i listan och välj sedan Redigera.

      Skärmbild som visar sidan Tester och som markerar knappen för att redigera ett test.

  4. På fliken Läs in väljer du Privat trafikläge och sedan ditt virtuella nätverk och undernät.

    Om du har flera undernät i det virtuella nätverket måste du välja det undernät som ska vara värd för de inmatade virtuella testmotordatorerna.

    Skärmbild som visar fliken Läs in för att skapa eller uppdatera ett belastningstest.

    Viktigt!

    Kontrollera att du har tillräcklig behörighet för att hantera virtuella nätverk. Du behöver rollen Nätverksdeltagare .

  5. (Valfritt) Kontrollera Inaktivera offentlig IP-distribution om du inte vill distribuera en offentlig IP-adress, lastbalanserare och nätverkssäkerhetsgrupp i undernätet.

    När du väljer det här alternativet kontrollerar du att det finns en alternativ mekanism som Azure NAT Gateway, Azure Firewall eller en virtuell nätverksinstallation (NVA) för att aktivera utgående trafikroutning från undernätet.

  6. Granska eller fyll i information om belastningstestet. Följ de här stegen för att skapa eller hantera ett test.

  7. Välj Granska + skapa och sedan Skapa (eller Använd när du uppdaterar ett befintligt test).

    När belastningstestet startar matar Azure Load Testing in de virtuella testmotordatorerna i ditt virtuella nätverk och undernät. Testskriptet kan nu komma åt den privat värdbaserade programslutpunkten i ditt virtuella nätverk.

Konfigurera det virtuella nätverket för CI/CD-pipelines

Om du vill konfigurera belastningstestet med inställningarna för det virtuella nätverket uppdaterar du YAML-testkonfigurationsfilen.

  1. Öppna en terminal och använd Azure CLI för att logga in på din Azure-prenumeration:

    az login
    az account set --subscription <your-Azure-Subscription-ID>
    
  2. Hämta undernäts-ID:t och kopiera det resulterande värdet:

    az network vnet subnet show -g <your-resource-group> --vnet-name <your-vnet-name> --name <your-subnet-name> --query id
    
  3. Öppna YAML-testkonfigurationsfilen i din favoritredigerare.

  4. Lägg till egenskapen subnetId i konfigurationsfilen och ange det undernäts-ID som du kopierade tidigare:

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

    Du kan också ange egenskapen publicIPDisabled till True. Mer information om YAML-konfigurationen finns i YAML-referens för testkonfiguration.

    Viktigt!

    Kontrollera att du har tillräcklig behörighet för att hantera virtuella nätverk. Du behöver rollen Nätverksdeltagare .

  5. Spara YAML-konfigurationsfilen och checka in ändringarna till källkodslagringsplatsen.

  6. När CI/CD-arbetsflödet har utlösts startar belastningstestet och kan nu komma åt den privat värdbaserade programslutpunkten i det virtuella nätverket.

Felsökning

Information om hur du felsöker problem med att skapa och köra belastningstester mot privata slutpunkter finns i felsöka privata slutpunktstester.

Nästa steg