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:
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:
Melden Sie sich beim Azure-Portal an.
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.
Klicken Sie in der linken Navigationsleiste auf Sicherheitsregeln für ausgehenden Datenverkehr.
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 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.
Melden Sie sich mit den Anmeldeinformationen für Ihr Azure-Abonnement beim Azure-Portal an.
Navigieren Sie zu Ihrer Azure Load Testing-Ressource, und wählen Sie im linken Bereich Tests aus.
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.
Wählen Sie einen vorhandenen Test in der Liste aus, und wählen Sie dann Bearbeiten aus.
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.
Wichtig
Stellen Sie sicher, dass Sie über ausreichende Berechtigungen zum Verwalten virtueller Netzwerke verfügen. Wählen Sie die Rolle Netzwerkmitwirkender aus.
(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.
Ü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.
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.
Ö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>
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
Öffnen Sie Ihre YAML-Testkonfigurationsdatei in Ihrem bevorzugten Editor.
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 aufTrue
. 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.
Speichern Sie die YAML-Konfigurationsdatei, und committen Sie Ihre Änderungen an das Quellcoderepository.
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.
Versuchen Sie, den Auslastungstest nach einigen Minuten erneut zu erstellen oder zu aktualisieren.
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.
Ü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
Beheben Sie alle Probleme mit dem Subnetz. Wenn Sie gerade das Subnetz erstellt haben, überprüfen Sie den Zustand nach ein paar Minuten erneut.
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.
Weitere Informationen zum Überprüfen Ihrer Berechtigungen finden Sie unter Überprüfen des Zugriffs von Benutzer*innen auf Azure-Ressourcen.
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
.
Ü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
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.
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
.
Ü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
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.
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:
- Verwenden Sie ein anderes Subnetz, das keine benutzerdefinierten Routen aufweist.
- Ändern Sie die Routingtabelle des Subnetzes, und legen Sie den Nächsten Hoptyp für die Route 0.0.0.0/0 auf Internet fest.
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.
Ü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
Beheben Sie alle Probleme mit dem Subnetz. Wenn Sie gerade das Subnetz erstellt haben, überprüfen Sie den Zustand nach ein paar Minuten erneut.
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
- Unter dem folgenden Link finden Sie weitere Informationen über die Szenarios zum Bereitstellen von Azure Load Testing in einem virtuellen Netzwerk.
- Weitere Informationen zum Überwachen von serverseitigen Anwendungsmetriken.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Feedback senden und anzeigen für