Testen privater Endpunkte durch Bereitstellen von Azure Load Testing in einem virtuellen Azure-Netzwerk

In diesem Artikel erfahren Sie, wie Sie private Anwendungsendpunkte mit Azure Load Testing testen. Sie erstellen eine Azure Load Testing-Ressource und ermöglichen es, Last aus Ihrem virtuellen Netzwerk zu generieren (virtuelle Netzwerkeinfügung).

Diese Funktionalität ermöglicht folgende Nutzungsszenarios:

  • Generieren von Last auf einen Endpunkt, der in einem virtuellen Azure-Netzwerk bereitgestellt wurde
  • Generieren von Last auf einen öffentlichen Endpunkt mit Zugriffsbeschränkungen, z. B. eingeschränkten Client-IP-Adressen
  • Generieren von Last auf einen lokalen Dienst, der nicht öffentlich zugänglich und über ExpressRoute mit Azure verbunden ist

Unter dem folgenden Link finden Sie weitere Informationen über die Szenarios zum Bereitstellen von Azure Load Testing in einem virtuellen Netzwerk.

Das folgende Diagramm zeigt eine technische Übersicht:

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

Wenn Sie den Auslastungstest starten, injiziert der Azure Load Testing-Dienst die folgenden Azure-Ressourcen in das virtuelle Netzwerk, das den Anwendungsendpunkt enthält:

  • Die Test-Engine-VMs. Diese virtuellen Computer rufen ihren Anwendungsendpunkt während des Auslastungstests auf.
  • Eine öffentliche IP-Adresse
  • Eine Netzwerksicherheitsgruppe (NSG)
  • Eine Azure Load Balancer-Instanz

Diese Ressourcen sind kurzlebig und sind nur vorhanden, während der Auslastungstest ausgeführt wird. Wenn Sie Einschränkungen für die Bereitstellung einer öffentlichen IP-Adresse, eines Azure-Lastenausgleichs oder einer Netzwerksicherheitsgruppe in Ihrem Subnetz haben, können Sie die Bereitstellung dieser Ressourcen deaktivieren. Weitere Informationen finden Sie unter Konfigurieren des Auslastungstests.

Wenn Sie den Zugriff auf Ihr virtuelles Netzwerk einschränken, müssen Sie Ihr virtuelles Netzwerk so konfigurieren, dass diese Azure Load Testing-VMs und die injizierten VMs miteinander kommunizieren können.

Voraussetzungen

  • Ihr Azure-Konto hat die Rolle "Netzwerkmitwirkender" oder ein übergeordnetes Element dieser Rolle im virtuellen Netzwerk. Weitere Informationen zum Überprüfen Ihrer Berechtigungen finden Sie unter Überprüfen des Zugriffs von Benutzer*innen auf Azure-Ressourcen.
  • Das Subnetz, das Sie für Azure Load Testing verwenden, muss über genügend nicht zugewiesene IP-Adressen verfügen, um die Auslastungstest-Engines für Ihren Test unterzubringen. Weitere Informationen finden Sie unter Konfigurieren Ihres Tests für hohe Lasten.
  • Das Subnetz darf nicht an einen anderen Azure-Dienst delegiert werden. Es darf beispielsweise nicht an Azure Container Instances (ACI) delegiert werden. Weitere Informationen finden Sie unter Subnetzdelegierung.
  • Azure CLI-Version 2.2.0 oder höher (wenn Sie CI/CD verwenden). Führen Sie az --version aus, um die Version zu ermitteln, die auf Ihrem Computer installiert ist. Wenn Sie die Azure CLI installieren oder aktualisieren müssen, finden Sie weitere Informationen unter Installieren der Azure CLI.

Konfigurieren eines virtuellen Netzwerks

Um private Endpunkte zu testen, verbinden Sie Azure Load Testing mit einem virtuellen Azure-Netzwerk. Das virtuelle Netzwerk sollte mindestens ein Subnetz aufweisen und ausgehenden Datenverkehr an den Azure Load Testing-Dienst zulassen.

Wenn Sie noch kein virtuelles Netzwerk haben, führen Sie die folgenden Schritte aus, um ein virtuelles Azure-Netzwerk im Azure-Portal zu erstellen.

Wichtig

Das virtuelle Netzwerk muss sich im selben Abonnement und in derselben Region wie die Auslastungstestressource befinden.

Erstellen eines Subnetzes

Wenn Sie Azure Load Testing in Ihrem virtuellen Netzwerk bereitstellen, empfiehlt es sich, für Azure Load Testing und den Anwendungsendpunkt separate Subnetze zu verwenden. Mit diesem Ansatz können Sie Zugriffsrichtlinien für Netzwerkdatenverkehr speziell für jeden Zweck konfigurieren. Weitere Informationen finden Sie unter Hinzufügen eines Subnetzes zu einem virtuellen Netzwerk.

(Optional) Konfigurieren von Datenverkehrsregeln

Azure Load Testing erfordert, dass die injizierten VMs in Ihrem virtuellen Netzwerk ausgehenden Zugriff auf den Azure Load Testing-Dienst zulässig sind. Wenn Sie ein virtuelles Netzwerk erstellen, ist standardmäßig bereits ausgehender Zugriff zulässig.

Wenn Sie den Zugriff auf Ihr virtuelles Netzwerk mit einer Netzwerksicherheitsgruppe weiter einschränken oder bereits über eine Netzwerksicherheitsgruppe verfügen, müssen Sie eine ausgehende Sicherheitsregel konfigurieren, um datenverkehrsbezogene VMs des Testmoduls mit dem Azure Load Testing-Dienst zuzulassen.

So konfigurieren Sie den ausgehenden Zugriff für Azure Load Testing:

  1. Melden Sie sich beim Azure-Portal an.

  2. Wechseln Sie zu Ihrer Netzwerksicherheitsgruppe.

    Wenn Sie noch keine NSG verwenden, führen Sie die folgenden Schritte aus, um eine Netzwerksicherheitsgruppe zu erstellen.

    Erstellen Sie die NSG in derselben Region wie Ihr virtuelles Netzwerk, und ordnen Sie sie dann Ihrem Subnetz zu.

  3. Klicken Sie in der linken Navigationsleiste auf Sicherheitsregeln für ausgehenden Datenverkehr.

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

  4. Klicken Sie auf +Hinzufügen, um eine neue Sicherheitsregel für ausgehenden Datenverkehr hinzuzufügen. Geben Sie die folgenden Informationen ein, um eine neue Regel zu erstellen.

    Feld Wert
    Quelle Beliebige
    Quellportbereiche *
    Ziel Beliebige
    Zielportbereiche *
    Name azure-load-testing-outbound
    Beschreibung Wird für verschiedene Vorgänge verwendet, die an der Orchestrierung eines Auslastungstests beteiligt sind
  5. Wählen Sie "Hinzufügen" aus, um der Netzwerksicherheitsgruppe die ausgehende Sicherheitsregel hinzuzufügen.

Konfigurieren des Skripts für den Auslastungstest

Die Test-Engine-VMs, die das JMeter-Skript ausführen, werden in das virtuelle Netzwerk injiziert, das den Anwendungsendpunkt enthält. Sie können in der JMX-Datei nun mithilfe der privaten IP-Adresse oder der Namensauflösung in Ihrem Netzwerk direkt auf den Endpunkt verweisen.

Die JMX-Datei kann beispielsweise für einen Endpunkt mit der IP-Adresse 10.179.0.7 in einem virtuellen Netzwerk mit Subnetzbereich 10.179.0.0/18 die folgenden Informationen enthalten:

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

So konfigurieren Sie den Auslastungstest

Um private gehostete Endpunkte in Ihren Auslastungstest einzuschließen, müssen Sie die Einstellungen des virtuellen Netzwerks für den Auslastungstest konfigurieren. Sie können die Einstellungen für virtuelle Netzwerke in der Azure-Portal konfigurieren oder in der YAML-Testkonfigurationsdatei für CI/CD-Pipelines angeben.

Wichtig

Wenn Sie Azure Load Testing in einem virtuellen Netzwerk bereitstellen, fallen zusätzliche Gebühren an. Azure Load Testing stellt eine Azure Load Balancer-Instanz und eine öffentliche IP-Adresse in Ihrem Abonnement bereit. Möglicherweise fallen für den generierten Datenverkehr Kosten an. Weitere Informationen finden Sie unter Preise für virtuelle Netzwerke.

Konfigurieren des virtuellen Netzwerks im Azure-Portal

Sie können die Konfigurationseinstellungen für virtuelle Netzwerke im Assistenten zum Erstellen/Aktualisieren des Lasttests angeben.

  1. Melden Sie sich mit den Anmeldeinformationen für Ihr Azure-Abonnement beim Azure-Portal an.

  2. Navigieren Sie zu Ihrer Azure Load Testing-Ressource, und wählen Sie im linken Bereich Tests aus.

  3. Sie haben zwei Möglichkeiten,den Assistenten zum Erstellen/Aktualisieren von Auslastungstests zu öffnen:

    • Wählen Sie + Erstellen > JMeter-Skript hochladen aus, wenn Sie einen neuen Test erstellen möchten.

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

    • Wählen Sie einen vorhandenen Test in der Liste aus, und wählen Sie dann Bearbeiten aus.

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

  4. Wählen Sie auf der Registerkarte Last den Datenverkehrsmodus Private aus, und wählen Sie dann Ihr virtuelles Netzwerk und Subnetz aus.

    Wenn Sie mehrere Subnetze in Ihrem virtuellen Netzwerk verwenden, stellen Sie sicher, dass das Subnetz ausgewählt wird, das die injizierten Testmodul-VMs hostet.

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

    Wichtig

    Stellen Sie sicher, dass Sie über ausreichende Berechtigungen zum Verwalten virtueller Netzwerke verfügen. Wählen Sie die Rolle Netzwerkmitwirkender aus.

  5. (Optional) Aktivieren Sie die Option "Öffentliche IP-Bereitstellung deaktivieren", wenn Sie keine öffentliche IP-Adresse, einen Lastenausgleich und eine Netzwerksicherheitsgruppe in Ihrem Subnetz bereitstellen möchten.

    Wenn Sie diese Option auswählen, stellen Sie sicher, dass ein alternativer Mechanismus wie Azure NAT-Gateway, Azure Firewall oder eine virtuelle Netzwerk-Anwendung (NVA) vorhanden ist, um ausgehendes Datenverkehrsrouting aus dem Subnetz zu ermöglichen.

  6. Überprüfen Sie die Auslastungstestinformationen, oder füllen Sie sie aus. Führen Sie folgende Schritte aus, um einen Test zu erstellen oder zu verwalten.

  7. Wählen Sie Überprüfen und erstellen und dann Erstellen aus (oder Anwenden, wenn Sie einen vorhandenen Test aktualisieren).

    Wenn der Auslastungstest gestartet wird, fügt Azure Load Testing die Testmodul-VMs in Ihr virtuelles Netzwerk und Subnetz ein. Das Testskript kann jetzt auf den privat gehosteten Anwendungsendpunkt in Ihrem virtuellen Netzwerk zugreifen.

Konfigurieren des virtuellen Netzwerks für CI/CD-Pipelines

Um den Auslastungstest mit den Einstellungen Ihres virtuellen Netzwerks zu konfigurieren, aktualisieren Sie die YAML-Testkonfigurationsdatei.

  1. Öffnen Sie ein Terminal, und verwenden Sie die Azure CLI, um sich bei Ihrem Azure-Abonnement anzumelden:

    az login
    az account set --subscription <your-Azure-Subscription-ID>
    
  2. Rufen Sie die Subnetz-ID ab, und kopieren Sie den abgerufenen Wert:

    az network vnet subnet show -g <your-resource-group> --vnet-name <your-vnet-name> --name <your-subnet-name> --query id
    
  3. Öffnen Sie Ihre YAML-Testkonfigurationsdatei in Ihrem bevorzugten Editor.

  4. Fügen Sie die subnetId-Eigenschaft zur Konfigurationsdatei hinzu, und geben Sie die Subnetz-ID an, die Sie zuvor kopiert haben:

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

    Optional können Sie die publicIPDisabled Eigenschaft auf True. Weitere Informationen zur YAML-Konfiguration finden Sie in der YAML-Referenz zur Testkonfiguration.

    Wichtig

    Stellen Sie sicher, dass Sie über ausreichende Berechtigungen zum Verwalten virtueller Netzwerke verfügen. Wählen Sie die Rolle Netzwerkmitwirkender aus.

  5. Speichern Sie die YAML-Konfigurationsdatei, und committen Sie Ihre Änderungen an das Quellcoderepository.

  6. Nachdem der CI/CD-Workflow ausgelöst wurde, wird der Auslastungstest gestartet und kann nun auf den privat gehosteten Anwendungsendpunkt in Ihrem virtuellen Netzwerk zugreifen.

Problembehandlung

Fehler beim Erstellen oder Aktualisieren des Auslastungstests mit Subscription not registered with Microsoft.Batch (ALTVNET001)

Wenn Sie einen Auslastungstest in einem virtuellen Netzwerk konfigurieren, muss das Abonnement bei Microsoft.Batch registriert sein.

  1. Versuchen Sie, den Auslastungstest nach einigen Minuten erneut zu erstellen oder zu aktualisieren.

  2. Wenn der Fehler weiterhin besteht, führen Sie die folgenden Schritte aus, um Ihr Abonnement manuell beim Microsoft.Batch-Ressourcenanbieter zu registrieren.

Fehler beim Erstellen oder Aktualisieren des Auslastungstests mit Subnet is not in the Succeeded state (ALTVNET002)

Das Subnetz, das Sie für den Auslastungstest verwenden, befindet sich nicht im Zustand Succeeded und ist nicht bereit, Ihren Auslastungstest darin bereitzustellen.

  1. Überprüfen Sie den Zustand des Subnetzes.

    Führen Sie den folgenden Azure CLI-Befehl aus, um den Status zu überprüfen. Das Ergebnis sollte Succeeded lauten.

    az network vnet subnet show -g MyResourceGroup -n MySubnet --vnet-name MyVNet
    
  2. Beheben Sie alle Probleme mit dem Subnetz. Wenn Sie gerade das Subnetz erstellt haben, überprüfen Sie den Zustand nach ein paar Minuten erneut.

  3. Wählen Sie alternativ ein anderes Subnetz für den Auslastungstest aus.

Fehler beim Erstellen oder Aktualisieren des Auslastungstests mit Subnet is delegated to other service (ALTVNET003)

Das Subnetz, das Sie für die Bereitstellung des Auslastungstests verwenden, kann nicht an einen anderen Azure-Dienst delegiert werden. Entfernen Sie entweder die vorhandene Delegierung, oder wählen Sie ein anderes Subnetz aus, das nicht an einen Dienst delegiert wird.

Erfahren Sie mehr über das Hinzufügen oder Entfernen einer Subnetzdelegierung.

Fehler beim Aktualisieren oder Starten des Ladetests mit User doesn't have subnet/join/action permission on the virtual network (ALTVNET004)

Um einen Auslastungstest zu aktualisieren oder zu starten, müssen Sie über ausreichende Berechtigungen zum Bereitstellen von Azure Load Testing im virtuellen Netzwerk verfügen. Sie benötigen die Rolle Netzwerkmitwirkender oder eine ihr übergeordnete Rolle im virtuellen Netzwerk.

  1. Weitere Informationen zum Überprüfen Ihrer Berechtigungen finden Sie unter Überprüfen des Zugriffs von Benutzer*innen auf Azure-Ressourcen.

  2. Führen Sie die folgenden Schritte aus, um Ihrem Konto die Rolle „Netzwerkmitwirkender“ zuzuweisen.

Fehler beim Erstellen oder Aktualisieren des Auslastungstests mit IPv6 enabled subnet not supported (ALTVNET005)

Azure Load Testing unterstützt keine IPv6-fähigen Subnetze. Wählen Sie ein anderes Subnetz aus, für das IPv6 nicht aktiviert ist.

Fehler beim Erstellen oder Aktualisieren des Auslastungstests mit NSG attached to subnet is not in Succeeded state (ALTVNET006)

Die Netzwerksicherheitsgruppe (NSG), die an das Subnetz angefügt ist, befindet sich nicht im Zustand Succeeded.

  1. Überprüfen Sie den Zustand der Netzwerksicherheitsgruppe.

    Führen Sie den folgenden Azure CLI-Befehl aus, um den Status zu überprüfen. Das Ergebnis sollte Succeeded lauten.

    az network nsg show -g MyResourceGroup -n MyNsg
    
  2. Beheben Sie alle Probleme mit der NSG. Wenn Sie die Netzwerksicherheitsgruppe oder das Subnetz gerade erstellt haben, überprüfen Sie den Zustand nach einigen Minuten erneut.

  3. Wählen Sie alternativ eine andere Netzwerksicherheitsgruppe aus.

Fehler beim Erstellen oder Aktualisieren des Auslastungstests mit Route Table attached to subnet is not in Succeeded state (ALTVNET007)

Die an das Subnetz angefügte Routingtabelle befindet sich nicht im Zustand Succeeded.

  1. Überprüfen Sie den Status der Routingtabelle.

    Führen Sie den folgenden Azure CLI-Befehl aus, um den Status zu überprüfen. Das Ergebnis sollte Succeeded lauten.

    az network route-table show -g MyResourceGroup -n MyRouteTable
    
  2. Beheben Sie alle Probleme mit der Routingtabelle. Wenn Sie gerade die Routentabelle oder das Subnetz erstellt haben, überprüfen Sie den Zustand nach ein paar Minuten erneut.

  3. Wählen Sie alternativ eine andere Routingtabelle aus.

Fehler beim Erstellen oder Aktualisieren des Auslastungstests mit Inbound not allowed from AzureLoadTestingInstanceManagement service tag (ALTVNET008)

Eingehender Zugriff vom AzureLoadTestingInstanceManagement-Diensttag auf das virtuelle Netzwerk ist nicht zulässig.

Führen Sie die folgenden Schritte aus, um den Datenverkehrszugriff für das AzureLoadTestingInstanceManagement-Diensttag zu aktivieren.

Fehler beim Erstellen oder Aktualisieren des Auslastungstests mit Inbound not allowed from BatchNodeManagement service tag (ALTVNET009)

Eingehender Zugriff vom BatchNodeManagement-Diensttag auf das virtuelle Netzwerk ist nicht zulässig.

Führen Sie die folgenden Schritte aus, um eingehenden Zugriff für das BatchNodeManagement-Diensttag zu aktivieren.

Fehler beim Erstellen oder Aktualisieren des Auslastungstests mit Route Table has next hop set for address prefix 0.0.0.0/0

Für die Routingtabelle Ihres Subnetzes ist der Typ des nächsten Hops auf Virtuelle Appliance für die Route 0.0.0.0/0 festgelegt. Diese Konfiguration würde bei der Bereitstellung der virtuellen Computer im Subnetz zu asymmetrischem Routing für Netzwerkpakete führen.

Führen Sie eine der zwei Aktionen aus, um diesen Fehler zu beheben:

Weitere Informationen zum Routing von Datenverkehr für virtuelle Netzwerke.

Fehler beim Erstellen oder Aktualisieren des Auslastungstests mit Subnet is in a different subscription than resource (ALTVNET011)

Das virtuelle Netzwerk befindet sich nicht im selben Abonnement und derselben Region wie Ihre Azure-Auslastungstestressource. Verschieben Sie das virtuelle Azure-Netzwerk oder die Azure-Auslastungstestressource in dasselbe Abonnement und dieselbe Region, oder erstellen Sie es bzw. sie neu.

Fehler bei der Bereitstellung mit An azure policy is restricting engine deployment to your subscription (ALTVNET012)

Eine Azure-Richtlinie beschränkt die Bereitstellung der Auslastungstest-Engine auf Ihr Abonnement. Überprüfen Sie Ihre Richtlinieneinschränkungen, und versuchen Sie es erneut. Wenn Sie Richtlinieneinschränkungen für die Bereitstellung der öffentlichen IP-Adresse, des Azure-Lastenausgleichs oder der Netzwerksicherheitsgruppe haben, können Sie die Bereitstellung dieser Ressourcen deaktivieren. Siehe Konfigurieren des Auslastungstests.

Fehler bei der Bereitstellung mit Engines could not be deployed due to an error in subnet configuration (ALTVNET013)

Die Instanzen der Auslastungstest-Engine konnten aufgrund eines Fehlers in der Subnetzkonfiguration nicht bereitgestellt werden. Überprüfen Sie Ihre Subnetzkonfiguration. Wenn das Problem weiterhin besteht, erstellen Sie ein Ticket für den Support unter Angabe der Ausführungs-ID des Tests.

  1. Überprüfen Sie den Zustand des Subnetzes.

    Führen Sie den folgenden Azure CLI-Befehl aus, um den Status zu überprüfen. Das Ergebnis sollte Succeeded lauten.

    az network vnet subnet show -g MyResourceGroup -n MySubnet --vnet-name MyVNet
    
  2. Beheben Sie alle Probleme mit dem Subnetz. Wenn Sie gerade das Subnetz erstellt haben, überprüfen Sie den Zustand nach ein paar Minuten erneut.

  3. Wenn das Problem weiterhin besteht, erstellen Sie eine Online-Kundensupportanfrage.

    Geben Sie die Auslastungstestausführungs-ID in der Supportanforderung an.

Fehler Subnet has {0} free IPs, {1} more free IP(s) required to run {2} engine instance load test (ALTVNET014) beim Starten des Auslastungstests

Das Subnetz, das Sie für Azure Load Testing verwenden, muss über genügend nicht zugewiesene IP-Adressen verfügen, um die Auslastungstest-Engines für Ihren Test unterzubringen.

Führen Sie die folgenden Schritte aus, um die Subnetzeinstellungen zu aktualisieren und den IP-Adressbereich zu erhöhen.

Fehler Management Lock is enabled on Resource Group of VNET (ALTVNET015) beim Starten des Auslastungstests

Wenn eine Sperre für die Ressourcengruppe vorhanden ist, die das virtuelle Netzwerk enthält, kann der Dienst die virtuellen Testmodulcomputer nicht in Ihr virtuelles Netzwerk einfügen. Entfernen Sie die Verwaltungssperre, bevor Sie den Ladetest ausführen. Erfahren Sie, wie Sie Sperren im Azure-Portal konfigurieren.

Fehler Insufficient public IP address quota in VNET subscription (ALTVNET016) beim Starten des Auslastungstests

Wenn Sie den Auslastungstest starten, fügt Azure Load Testing die folgenden Azure-Ressourcen in das virtuelle Netzwerk ein, das den Anwendungsendpunkt enthält:

  • Die Test-Engine-VMs. Diese virtuellen Computer rufen ihren Anwendungsendpunkt während des Auslastungstests auf.
  • Eine öffentliche IP-Adresse
  • Eine Netzwerksicherheitsgruppe (NSG)
  • Eine Azure Load Balancer-Instanz

Stellen Sie sicher, dass Sie über ein Kontingent für mindestens eine öffentliche IP-Adresse verfügen, die in Ihrem Abonnement im Auslastungstest verwendet werden kann.

Fehler Subnet with name "AzureFirewallSubnet" cannot be used for load testing (ALTVNET017) beim Starten des Auslastungstests

Das Subnetz AzureFirewallSubnet ist reserviert, und Sie können es nicht für Azure Load Testing verwenden. Wählen Sie ein anderes Subnetz für den Auslastungstest aus.

Nächste Schritte