Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come testare gli endpoint dell'applicazione privata con Test di carico di Azure. Si crea una risorsa di Test di carico di Azure e la si abilita a generare carico dall'interno della rete virtuale (iniezione della rete virtuale).
Questa funzionalità consente gli scenari di utilizzo seguenti:
- Generazione del carico in un endpoint distribuito in una rete virtuale di Azure.
- Generazione del carico in un endpoint pubblico con restrizioni di accesso, ad esempio la limitazione degli indirizzi IP client.
- Generazione del carico in un servizio locale, non accessibile pubblicamente, connesso ad Azure tramite ExpressRoute.
Altre informazioni sugli scenari per la distribuzione di Test di carico di Azure nella rete virtuale.
Il diagramma seguente offre una panoramica tecnica:
Quando si avvia il test di carico, il servizio Test di carico di Azure inserisce le risorse di Azure seguenti nella rete virtuale che contiene l'endpoint dell'applicazione:
- Macchine virtuali per il motore di test. Queste macchine virtuali richiamano l'endpoint dell'applicazione durante il test di carico.
- Un indirizzo IP pubblico.
- Un gruppo di sicurezza di rete (NSG).
- Un servizio di bilanciamento del carico di Azure.
Queste risorse sono temporanee ed esistono solo durante l'esecuzione del test di carico. Se sono presenti restrizioni per la distribuzione di un indirizzo IP pubblico, un servizio di bilanciamento del carico di Azure o un gruppo di sicurezza di rete nella subnet, è possibile disabilitare la distribuzione di queste risorse. Per altre informazioni, vedere Configurare il test di carico.
Se si limita l'accesso alla rete virtuale, è necessario configurare la rete virtuale per abilitare la comunicazione tra questi test di carico di Azure e le macchine virtuali inserite.
Prerequisiti
- Il tuo account Azure dispone del ruolo Collaboratore rete o di un ruolo padre sulla rete virtuale. Vedere Controllare l'accesso per un utente alle risorse di Azure per verificare le autorizzazioni.
- La subnet che usi per Test di carico di Azure deve avere un numero sufficiente di indirizzi IP non assegnati per contenere il numero di motori di carico necessari per il tuo test. Scopri di più su come configurare il test per carichi su larga scala.
- La subnet non deve essere delegata ad altri servizi di Azure. Ad esempio, non deve essere delegato ad Istanze di Azure Container (ACI). Altre informazioni sulla delega della subnet.
- La subnet non deve avere IPv6 abilitato. Test di carico di Azure non supporta le subnet abilitate per IPv6. Altre informazioni su IPv6 per Azure Rete virtuale
- Interfaccia della riga di comando di Azure versione 2.2.0 o successiva (se si usa CI/CD). Eseguire
az --versionper trovare la versione installata nel computer locale. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Come installare l'interfaccia della riga di comando di Azure.
Configurare la rete virtuale
Per testare gli endpoint privati, è necessario connettere Test di carico di Azure a una rete virtuale di Azure. La rete virtuale deve avere almeno una subnet e consentire il traffico in uscita al servizio Test carico di Azure.
Se non si ha ancora una rete virtuale, seguire questa procedura per creare una rete virtuale di Azure nel portale di Azure.
Importante
La rete virtuale deve trovarsi nella stessa sottoscrizione e nella stessa area della risorsa di test di carico.
Crea una subnet
Quando si distribuisce Test di carico di Azure nella rete virtuale, è consigliabile usare subnet separate per test di carico di Azure e per l'endpoint dell'applicazione. Questo approccio consente di configurare i criteri di accesso al traffico di rete in modo specifico per ogni scopo. Altre informazioni su come aggiungere una subnet a una rete virtuale.
(Facoltativo) Configurare le regole del traffico
Test di carico di Azure richiede che le macchine virtuali inserite nella rete virtuale siano autorizzate all'accesso in uscita al servizio Test carico di Azure. Per impostazione predefinita, quando si crea una rete virtuale, l'accesso in uscita è già consentito.
Se si prevede di limitare ulteriormente l'accesso alla rete virtuale con un gruppo di sicurezza di rete o se si dispone già di un gruppo di sicurezza di rete, è necessario configurare una regola di sicurezza in uscita per consentire il traffico dalle macchine virtuali del motore di test al servizio Test di carico di Azure.
Per configurare l'accesso in uscita per Test di carico di Azure:
Accedi al portale di Azure.
Vai al gruppo di sicurezza di rete.
Se non si ha ancora un gruppo di sicurezza di rete, seguire questa procedura per creare un gruppo di sicurezza di rete.
Crea il gruppo di sicurezza di rete nella stessa area geografica della tua rete virtuale e quindi associalo alla subnet.
Selezionare Regole di sicurezza in uscita nella barra di navigazione a sinistra.
Selezionare + Aggiungi per aggiungere una nuova regola di sicurezza in uscita. Immettere le informazioni seguenti per creare una nuova regola.
Campo Valore Fonte Qualunque Intervalli delle porte di origine * Destinazione Qualunque Intervalli di porte di destinazione * Nome azure-load-testing-outbound Descrizione Usato per varie operazioni coinvolte nell'orchestrazione di un test di carico. Selezionare Aggiungi per aggiungere la regola di sicurezza in uscita al gruppo di sicurezza di rete.
Configurare lo script di test di carico
Le macchine virtuali del motore di test, che eseguono lo script di test, vengono inserite nella rete virtuale che contiene l'endpoint dell'applicazione. È ora possibile fare riferimento direttamente all'endpoint nello script di test usando l'indirizzo IP privato o usare la risoluzione dei nomi nella rete.
Ad esempio, per un endpoint con indirizzo IP 10.179.0.7, in una rete virtuale con intervallo di subnet 10.179.0.0/18, il file JMX potrebbe avere queste informazioni:
<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>
Configurare il test di carico
Per includere endpoint ospitati privatamente nel test di carico, è necessario configurare le impostazioni della rete virtuale per il test di carico. È possibile configurare le impostazioni della rete virtuale nella portale di Azure o specificarle nel file di configurazione del test YAML per le pipeline CI/CD.
Importante
Quando si distribuisce Test di carico di Azure in una rete virtuale, verranno addebitati costi aggiuntivi. Test di carico di Azure crea un Azure Load Balancer e un indirizzo IP pubblico nella sottoscrizione e il traffico generato potrebbe comportare un costo. Per altre informazioni, vedere le informazioni sui prezzi di Rete virtuale.
Configurare la rete virtuale nel portale di Azure
È possibile specificare le impostazioni di configurazione della rete virtuale nella creazione/aggiornamento guidato del test di carico.
Accedere al portale di Azure usando le credenziali della sottoscrizione di Azure.
Passare alla risorsa Test di carico di Azure e selezionare Test nel riquadro sinistro.
Apri la procedura guidata di creazione/aggiornamento del test di carico in uno dei due modi seguenti:
Selezionare + Crea > carica uno script, se si vuole creare un nuovo test.
Selezionare un test esistente nell'elenco e quindi selezionare Modifica.
Nella scheda Carica selezionare Modalità traffico privato e quindi selezionare la rete virtuale e la subnet.
Se nella rete virtuale sono presenti più subnet, assicurarsi di selezionare la subnet che ospiterà le macchine virtuali del motore di test inserite.
Importante
Assicurarsi di disporre di autorizzazioni sufficienti per la gestione delle reti virtuali. È richiesto il ruolo Collaboratore di rete.
(Facoltativo) Seleziona Disabilita distribuzione di un IP pubblico se non vuoi distribuire un indirizzo IP pubblico, un servizio di bilanciamento del carico e un gruppo di sicurezza di rete nella subnet.
Quando si seleziona questa opzione, assicurarsi che sia disponibile un meccanismo alternativo come Gateway NAT di Azure, Firewall di Azure o un'appliance virtuale di rete (NVA) per consentire l'instradamento del traffico in uscita dalla subnet.
Esaminare o compilare le informazioni sul test di carico. Seguire questa procedura per creare o gestire un test.
Selezionare Rivedi e crea e quindi Crea (o Applica, durante l'aggiornamento di un test esistente).
All'avvio del test di carico, Test di carico di Azure distribuisce le VM del motore di testing nella rete virtuale e nella subnet. Lo script di test può ora accedere all'endpoint dell'applicazione ospitata privatamente nella rete virtuale.
Configurare la rete virtuale per le pipeline CI/CD
Per configurare il test di carico con le impostazioni della rete virtuale, aggiornare il file di configurazione del test YAML.
Aprire un terminale e usare l'interfaccia della riga di comando di Azure per accedere alla sottoscrizione di Azure:
az login az account set --subscription <your-Azure-Subscription-ID>Recuperare l'ID subnet e copiare il valore risultante:
az network vnet subnet show -g <your-resource-group> --vnet-name <your-vnet-name> --name <your-subnet-name> --query idAprire il file di configurazione del test YAML nell'editor preferito.
Aggiungere la
subnetIdproprietà al file di configurazione e specificare l'ID subnet copiato in precedenza:version: v0.1 testName: SampleTest testPlan: SampleTest.jmx description: 'Load test the website home page' engineInstances: 1 subnetId: <your-subnet-id> publicIPDisabled: FalseFacoltativamente, è possibile impostare la
publicIPDisabledproprietà suTrue. Per altre informazioni sulla configurazione YAML, vedere il riferimento YAML della configurazione di test.Importante
Assicurarsi di disporre di autorizzazioni sufficienti per la gestione delle reti virtuali. È necessario disporre del ruolo Collaboratore di rete.
Salvare il file di configurazione YAML ed eseguire il commit delle modifiche nel repository del codice sorgente.
Dopo l'attivazione del workflow CI/CD, il test di carico si avvia e può accedere all'endpoint privato dell'applicazione nella rete virtuale.
Risoluzione dei problemi
Per risolvere i problemi relativi alla creazione e all'esecuzione di test di carico su endpoint privati, vedere come risolvere i problemi relativi ai test degli endpoint privati.
Passaggi successivi
- Scopri di più sugli scenari per distribuire Test di carico di Azure in una rete virtuale.
- Informazioni su come risolvere i problemi relativi ai test degli endpoint privati.