Megosztás a következőn keresztül:


Privát végpontok tesztelése az Azure Load Testing azure-beli virtuális hálózaton való üzembe helyezésével

Ebből a cikkből megtudhatja, hogyan tesztelheti a privát alkalmazásvégpontokat az Azure Load Testing használatával. Létrehozhat egy Azure Load Testing-erőforrást, és engedélyezheti azt, hogy terhelést generáljon a virtuális hálózaton belülről (virtuális hálózat injektálása).

Ez a funkció az alábbi felhasználási forgatókönyveket teszi elérhetővé:

  • Terhelés generálása egy Azure-beli virtuális hálózaton üzembe helyezett végpontra.
  • Hozzon létre terhelést egy nyilvános végpontra hozzáférési korlátozásokkal, például az ügyfél IP-címeinek korlátozásával.
  • Terhelést generálhat egy olyan helyszíni szolgáltatásba, amely nem nyilvánosan érhető el, és amely expressRoute-on keresztül csatlakozik az Azure-hoz.

További információ az Azure Load Testing virtuális hálózaton való üzembe helyezésének forgatókönyveiről.

Az alábbi ábra technikai áttekintést nyújt:

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

A terhelésteszt indításakor az Azure Load Testing szolgáltatás az alábbi Azure-erőforrásokat injektálja az alkalmazásvégpontot tartalmazó virtuális hálózatba:

  • A tesztmotor virtuális gépei. Ezek a virtuális gépek meghívják az alkalmazásvégpontot a terhelési teszt során.
  • Nyilvános IP-cím.
  • Hálózati biztonsági csoport (NSG).
  • Egy Azure Load Balancer.

Ezek az erőforrások rövid élettartamúak, és csak a terhelési teszt futtatásakor léteznek. Ha korlátozásokkal rendelkezik egy nyilvános IP-cím, az Azure load balancer vagy a hálózati biztonsági csoport üzembe helyezésére az alhálózaton, letilthatja ezeknek az erőforrásoknak az üzembe helyezését. További információ: A terhelési teszt konfigurálása.

Ha korlátozza a virtuális hálózathoz való hozzáférést, konfigurálnia kell a virtuális hálózatot az Azure Load Testing és az injektált virtuális gépek közötti kommunikáció engedélyezéséhez.

Előfeltételek

  • Az Azure-fiók hálózati közreműködői szerepkörrel rendelkezik, vagy ennek a szerepkörnek a szülője a virtuális hálózaton. Az engedélyek ellenőrzéséhez tekintse meg a felhasználók Azure-erőforrásokhoz való hozzáférésének ellenőrzése című témakört.
  • Az Azure Load Testinghez használt alhálózatnak elegendő hozzárendeletlen IP-címmel kell rendelkeznie ahhoz, hogy a teszt terheléstesztelési motorjainak száma elférjen. További információ a teszt nagy léptékű terhelésre való konfigurálásáról.
  • Az alhálózatot nem szabad más Azure-szolgáltatáshoz delegálni. Például nem szabad delegálni az Azure Container Instancesbe (ACI). További információ az alhálózat-delegálásról.
  • Az Azure CLI 2.2.0-s vagy újabb verziója (CI/CD használata esetén). Futtassa az --version a számítógépre telepített verzió megkereséséhez. Ha telepítenie vagy frissítenie kell az Azure CLI-t, olvassa el az Azure CLI telepítésével kapcsolatos témakört.

Virtuális hálózat konfigurálása

A privát végpontok teszteléséhez csatlakoztatja az Azure Load Testinget egy Azure-beli virtuális hálózathoz. A virtuális hálózatnak legalább egy alhálózattal kell rendelkeznie, és engedélyeznie kell az Azure Load Testing szolgáltatás felé irányuló kimenő forgalmat.

Ha még nem rendelkezik virtuális hálózatokkal, az alábbi lépéseket követve hozzon létre egy Azure-beli virtuális hálózatot az Azure Portalon.

Fontos

A virtuális hálózatnak ugyanabban az előfizetésben és régióban kell lennie, mint a terheléstesztelési erőforrásnak.

Alhálózat létrehozása

Az Azure Load Testing virtuális hálózaton való üzembe helyezésekor ajánlott külön alhálózatokat használni az Azure Load Testinghez és az alkalmazásvégponthoz. Ez a megközelítés lehetővé teszi a hálózati forgalom hozzáférési szabályzatainak konfigurálását kifejezetten minden célra. További információ arról , hogyan adhat hozzá alhálózatot egy virtuális hálózathoz.

(Nem kötelező) Forgalmi szabályok konfigurálása

Az Azure Load Testing megköveteli, hogy a virtuális hálózatba injektált virtuális gépek kimenő hozzáférése engedélyezett legyen az Azure Load Testing szolgáltatáshoz. A virtuális hálózat létrehozásakor alapértelmezés szerint a kimenő hozzáférés már engedélyezett.

Ha egy hálózati biztonsági csoporttal szeretné tovább korlátozni a virtuális hálózathoz való hozzáférést, vagy ha már rendelkezik hálózati biztonsági csoporttal, konfigurálnia kell egy kimenő biztonsági szabályt, amely engedélyezi a tesztmotor virtuális gépeiből az Azure Load Testing szolgáltatásba irányuló forgalmat.

Kimenő hozzáférés konfigurálása az Azure Load Testinghez:

  1. Jelentkezzen be az Azure Portalra.

  2. Lépjen a hálózati biztonsági csoporthoz.

    Ha még nem rendelkezik NSG-vel, kövesse az alábbi lépéseket egy hálózati biztonsági csoport létrehozásához.

    Hozza létre az NSG-t a virtuális hálózattal azonos régióban, majd társítsa az alhálózathoz.

  3. Válassza ki a kimenő biztonsági szabályokat a bal oldali navigációs sávon.

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

  4. Válassza a + Hozzáadás lehetőséget egy új kimenő biztonsági szabály hozzáadásához. Új szabály létrehozásához adja meg a következő adatokat.

    Mező Érték
    Forrás Bármely
    Forrásporttartományok *
    Cél Bármely
    Célporttartományok *
    Név azure-load-testing-outbound
    Leírás A terheléses tesztek vezénylésében részt vevő különböző műveletekhez használatos.
  5. Válassza a Hozzáadás lehetőséget a kimenő biztonsági szabály hálózati biztonsági csoporthoz való hozzáadásához.

A terheléstesztelési szkript konfigurálása

A JMeter-szkriptet futtató tesztmotoros virtuális gépeket a rendszer az alkalmazásvégpontot tartalmazó virtuális hálózatba injektálja. Mostantól közvetlenül a JMX-fájl végpontjához is hivatkozhat a privát IP-cím használatával, vagy használhatja a hálózat névfeloldási funkcióját.

Egy 10.179.0.7 IP-címmel rendelkező végpont esetében például egy 10.179.0.0/18 alhálózati tartományú virtuális hálózatban a JMX-fájl az alábbi információkkal rendelkezhet:

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

A terhelési teszt konfigurálása

Ha magánhálózati végpontokat szeretne belefoglalni a terheléstesztbe, konfigurálnia kell a virtuális hálózati beállításokat a terhelésteszthez. A virtuális hálózati beállításokat az Azure Portalon konfigurálhatja, vagy megadhatja őket a CI/CD-folyamatok YAML-tesztkonfigurációs fájljában .

Fontos

Az Azure Load Testing virtuális hálózaton való üzembe helyezésekor további díjakat kell fizetnie. Az Azure Load Testing üzembe helyez egy Azure Load Balancert és egy nyilvános IP-címet az előfizetésében, és a generált forgalom költsége is felmerülhet. További információt a virtuális hálózat díjszabási információiban talál.

A virtuális hálózat konfigurálása az Azure Portalon

A virtuális hálózat konfigurációs beállításait a terhelésteszt létrehozása/frissítése varázslóban adhatja meg.

  1. Jelentkezzen be az Azure Portalra az Azure-előfizetés hitelesítő adataival.

  2. Nyissa meg az Azure Load Testing-erőforrást, és válassza a tesztek lehetőséget a bal oldali panelen.

  3. Nyissa meg a terhelésteszt-létrehozási/frissítési varázslót kétféleképpen:

    • Ha új tesztet szeretne létrehozni, válassza a + > JMeter-szkript feltöltése lehetőséget.

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

    • Válasszon ki egy meglévő tesztet a listából, majd válassza a Szerkesztés lehetőséget.

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

  4. A Betöltés lapon válassza a Privát forgalom módot, majd válassza ki a virtuális hálózatot és az alhálózatot.

    Ha több alhálózattal rendelkezik a virtuális hálózatban, jelölje ki azt az alhálózatot, amely az injektált tesztmotor virtuális gépeit fogja üzemeltetni.

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

    Fontos

    Győződjön meg arról, hogy rendelkezik a virtuális hálózatok kezeléséhez szükséges engedélyekkel. A hálózati közreműködői szerepkörre van szükség.

  5. (Nem kötelező) Ha nem szeretne nyilvános IP-címet, terheléselosztót és hálózati biztonsági csoportot üzembe helyezni az alhálózaton, ellenőrizze a nyilvános IP-cím telepítésének letiltását.

    Ha ezt a lehetőséget választja, győződjön meg arról, hogy van egy alternatív mechanizmus, például az Azure NAT Gateway, az Azure Firewall vagy egy hálózati virtuális berendezés (NVA) a kimenő forgalom alhálózatról történő útválasztásának engedélyezéséhez.

  6. Tekintse át vagy töltse ki a terhelésteszt adatait. Teszt létrehozásához vagy kezeléséhez kövesse az alábbi lépéseket.

  7. Válassza a Véleményezés + létrehozás , majd a Létrehozás (vagy Alkalmazás) lehetőséget egy meglévő teszt frissítésekor.

    A terhelésteszt indításakor az Azure Load Testing a tesztmotor virtuális gépeit injektálja a virtuális hálózatba és az alhálózatba. A tesztszkript mostantól hozzáférhet a magánhálózaton üzemeltetett alkalmazásvégponthoz.

A ci/CD-folyamatok virtuális hálózatának konfigurálása

Ha a terhelési tesztet a virtuális hálózati beállításokkal szeretné konfigurálni, frissítse a YAML-teszt konfigurációs fájlját.

  1. Nyisson meg egy terminált, és az Azure CLI használatával jelentkezzen be az Azure-előfizetésbe:

    az login
    az account set --subscription <your-Azure-Subscription-ID>
    
  2. Kérje le az alhálózat azonosítóját, és másolja ki az eredményül kapott értéket:

    az network vnet subnet show -g <your-resource-group> --vnet-name <your-vnet-name> --name <your-subnet-name> --query id
    
  3. Nyissa meg a YAML-tesztkonfigurációs fájlt a kedvenc szerkesztőjében.

  4. Adja hozzá a subnetId tulajdonságot a konfigurációs fájlhoz, és adja meg a korábban másolt alhálózat-azonosítót:

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

    Igény szerint beállíthatja a publicIPDisabled tulajdonságot a következőre True: . A YAML-konfigurációval kapcsolatos további információkért lásd a tesztkonfiguráció YAML-referenciaját.

    Fontos

    Győződjön meg arról, hogy rendelkezik a virtuális hálózatok kezeléséhez szükséges engedélyekkel. A hálózati közreműködői szerepkörre van szükség.

  5. Mentse a YAML-konfigurációs fájlt, és véglegesítse a módosításokat a forráskódtárban.

  6. A CI/CD-munkafolyamat eseményindítói után elindul a terhelési teszt, és most már hozzáférhet a magánhálózaton üzemeltetett alkalmazásvégponthoz.

Hibaelhárítás

A terhelési teszt létrehozása vagy frissítése meghiúsul a következővel: Subscription not registered with Microsoft.Batch (ALTVNET001)

Ha terheléstesztet konfigurál egy virtuális hálózaton, az előfizetést regisztrálnia kell.Microsoft.Batch

  1. Néhány perc múlva próbálja meg újra létrehozni vagy frissíteni a terhelési tesztet.

  2. Ha a hiba továbbra is fennáll, kövesse az alábbi lépéseket az előfizetés manuális regisztrálásához az Microsoft.Batch erőforrás-szolgáltatónál.

A terhelési teszt létrehozása vagy frissítése meghiúsul a következővel: Subnet is not in the Succeeded state (ALTVNET002)

A terhelésteszthez használt alhálózat nincs állapotban Succeeded , és nem áll készen a terhelési teszt üzembe helyezésére.

  1. Ellenőrizze az alhálózat állapotát.

    Az állapot ellenőrzéséhez futtassa a következő Azure CLI-parancsot. Az eredménynek a következőnek kell lennie Succeeded: .

    az network vnet subnet show -g MyResourceGroup -n MySubnet --vnet-name MyVNet
    
  2. Az alhálózattal kapcsolatos problémák megoldása. Ha most hozta létre az alhálózatot, néhány perc múlva ellenőrizze újra az állapotot.

  3. Másik lehetőségként válasszon egy másik alhálózatot a terhelésteszthez.

A terhelési teszt létrehozása vagy frissítése sikertelen Subnet is delegated to other service (ALTVNET003)

A terhelési teszt üzembe helyezéséhez használt alhálózat nem delegálható egy másik Azure-szolgáltatásba. Távolítsa el a meglévő delegálást, vagy válasszon egy másik alhálózatot, amely nincs delegálva egy szolgáltatásba.

További információ az alhálózat-delegálás hozzáadásáról vagy eltávolításáról.

A terhelési teszt frissítése vagy indítása meghiúsul a következővel: User doesn't have subnet/join/action permission on the virtual network (ALTVNET004)

A terheléses teszt frissítéséhez vagy elindításához elegendő engedélyekkel kell rendelkeznie az Azure Load Testing virtuális hálózaton való üzembe helyezéséhez. A virtuális hálózaton szükség van a hálózati közreműködői szerepkörre vagy ennek a szerepkörnek a szülőére.

  1. Az engedélyek ellenőrzéséhez tekintse meg a felhasználók Azure-erőforrásokhoz való hozzáférésének ellenőrzése című témakört.

  2. Az alábbi lépéseket követve rendelje hozzá a hálózati közreműködői szerepkört a fiókjához.

A terhelési teszt létrehozása vagy frissítése meghiúsul a következővel: IPv6 enabled subnet not supported (ALTVNET005)

Az Azure Load Testing nem támogatja az IPv6-kompatibilis alhálózatokat. Válasszon egy másik alhálózatot, amelyhez az IPv6 nincs engedélyezve.

A terhelési teszt létrehozása vagy frissítése meghiúsul a következővel: NSG attached to subnet is not in Succeeded state (ALTVNET006)

Az alhálózathoz csatolt hálózati biztonsági csoport (NSG) nincs állapotban Succeeded .

  1. Ellenőrizze az NSG állapotát.

    Az állapot ellenőrzéséhez futtassa a következő Azure CLI-parancsot. Az eredménynek a következőnek kell lennie Succeeded: .

    az network nsg show -g MyResourceGroup -n MyNsg
    
  2. Az NSG-vel kapcsolatos problémák megoldása. Ha most hozta létre az NSG-t vagy az alhálózatot, néhány perc múlva ellenőrizze újra az állapotot.

  3. Másik lehetőségként válasszon másik NSG-t.

A terhelési teszt létrehozása vagy frissítése meghiúsul a következővel: Route Table attached to subnet is not in Succeeded state (ALTVNET007)

Az alhálózathoz csatolt útvonaltábla nincs állapotban Succeeded .

  1. Ellenőrizze az útvonaltábla állapotát.

    Az állapot ellenőrzéséhez futtassa a következő Azure CLI-parancsot. Az eredménynek a következőnek kell lennie Succeeded: .

    az network route-table show -g MyResourceGroup -n MyRouteTable
    
  2. Az útvonaltáblával kapcsolatos problémák megoldása. Ha most hozta létre az útvonaltáblát vagy az alhálózatot, néhány perc múlva ellenőrizze újra az állapotot.

  3. Másik lehetőségként válasszon másik útvonaltáblát.

A terhelési teszt létrehozása vagy frissítése meghiúsul a következővel: Inbound not allowed from AzureLoadTestingInstanceManagement service tag (ALTVNET008)

A szolgáltatáscímkéről a AzureLoadTestingInstanceManagement virtuális hálózatra irányuló bejövő hozzáférés nem engedélyezett.

Kövesse az alábbi lépéseket a szolgáltatáscímke forgalomhoz való hozzáférésének AzureLoadTestingInstanceManagement engedélyezéséhez.

A terhelési teszt létrehozása vagy frissítése meghiúsul a következővel: Inbound not allowed from BatchNodeManagement service tag (ALTVNET009)

A szolgáltatáscímkéről a BatchNodeManagement virtuális hálózatra irányuló bejövő hozzáférés nem engedélyezett.

Kövesse az alábbi lépéseket a szolgáltatáscímke bejövő hozzáférésének BatchNodeManagement engedélyezéséhez.

A terhelési teszt létrehozása vagy frissítése meghiúsul a következővel: Route Table has next hop set for address prefix 0.0.0.0/0

Az alhálózat útvonaltáblája a következő ugráskészlet-típust virtuális berendezésre állítja a 0.0.0.0/0 útvonalhoz. Ez a konfiguráció aszimmetrikus útválasztást okozna a hálózati csomagokhoz, miközben kiépítené a virtuális gépeket az alhálózaton.

A hiba megoldásához hajtsa végre a két művelet valamelyikét:

További információ a virtuális hálózati forgalom útválasztásáról.

A terhelési teszt létrehozása vagy frissítése meghiúsul a következővel: Subnet is in a different subscription than resource (ALTVNET011)

A virtuális hálózat nem ugyanabban az előfizetésben és régióban található, mint az Azure terheléstesztelési erőforrása. Helyezze át vagy hozza létre újra az Azure-beli virtuális hálózatot vagy az Azure terheléstesztelési erőforrást ugyanabba az előfizetésbe és régióba.

A kiépítés meghiúsul a An azure policy is restricting engine deployment to your subscription (ALTVNET012)

Egy Azure-szabályzat korlátozza a terheléstesztelési motor üzembe helyezését az előfizetésére. Ellenőrizze a szabályzat korlátozásait, és próbálkozzon újra. Ha szabályzatkorlátozások vonatkoznak a nyilvános IP-cím, az Azure load balancer vagy a hálózati biztonsági csoport üzembe helyezésére, letilthatja ezeknek az erőforrásoknak az üzembe helyezését. Lásd : A terhelési teszt konfigurálása.

A kiépítés meghiúsul a Engines could not be deployed due to an error in subnet configuration (ALTVNET013)

A terheléstesztelési motorpéldányok nem telepíthetők az alhálózat konfigurációjának hibája miatt. Ellenőrizze az alhálózat konfigurációját. Ha a probléma továbbra is fennáll, állíts be egy támogatási jegyet a teszt futtatási azonosítójával együtt.

  1. Ellenőrizze az alhálózat állapotát.

    Az állapot ellenőrzéséhez futtassa a következő Azure CLI-parancsot. Az eredménynek a következőnek kell lennie Succeeded: .

    az network vnet subnet show -g MyResourceGroup -n MySubnet --vnet-name MyVNet
    
  2. Az alhálózattal kapcsolatos problémák megoldása. Ha most hozta létre az alhálózatot, néhány perc múlva ellenőrizze újra az állapotot.

  3. Ha a probléma továbbra is fennáll, nyisson meg egy online ügyfélszolgálati kérelmet.

    Adja meg a terhelésteszt futtatási azonosítóját a támogatási kérelemben.

A terhelési teszt indítása meghiúsul a következővel: Subnet has {0} free IPs, {1} more free IP(s) required to run {2} engine instance load test (ALTVNET014)

Az Azure Load Testinghez használt alhálózatnak elegendő hozzárendeletlen IP-címmel kell rendelkeznie ahhoz, hogy a teszt terheléstesztelési motorjainak száma elférjen.

Az alábbi lépésekkel frissítheti az alhálózat beállításait , és növelheti az IP-címtartományt.

A terhelési teszt indítása meghiúsul a következővel: Management Lock is enabled on Resource Group of VNET (ALTVNET015)

Ha a virtuális hálózatot tartalmazó erőforráscsoport zárolása van, a szolgáltatás nem tudja injektálni a tesztmotor virtuális gépeit a virtuális hálózatba. A terhelési teszt futtatása előtt távolítsa el a felügyeleti zárolást. Megtudhatja, hogyan konfigurálhatja a zárolásokat az Azure Portalon.

A terhelési teszt indítása meghiúsul a következővel: Insufficient public IP address quota in VNET subscription (ALTVNET016)

A terhelésteszt indításakor az Azure Load Testing a következő Azure-erőforrásokat injektálja az alkalmazásvégpontot tartalmazó virtuális hálózatba:

  • A tesztmotor virtuális gépei. Ezek a virtuális gépek meghívják az alkalmazásvégpontot a terhelési teszt során.
  • Nyilvános IP-cím.
  • Hálózati biztonsági csoport (NSG).
  • Egy Azure Load Balancer.

Győződjön meg arról, hogy rendelkezik legalább egy nyilvános IP-cím kvótával az előfizetésében, amelyet a terheléstesztben használni szeretne.

A terhelési teszt indítása meghiúsul a következővel: Subnet with name "AzureFirewallSubnet" cannot be used for load testing (ALTVNET017)

Az AzureFirewallSubnet alhálózat fenntartott, és nem használható az Azure Load Testinghez. Válasszon egy másik alhálózatot a terhelési teszthez.

Következő lépések