Azure sanal ağına Azure Yük Testi dağıtarak özel uç noktaları test etme

Bu makalede, Azure Load Testing ile özel uygulama uç noktalarını test etmeyi öğrenin. Bir Azure Yük Testi kaynağı oluşturur ve sanal ağınızdan yük oluşturmasını sağlarsınız (sanal ağ ekleme).

Bu işlevsellik aşağıdaki kullanım senaryolarını olanaklı kılar:

  • Azure sanal ağında dağıtılan bir uç noktaya yük oluşturma.
  • İstemci IP adreslerini kısıtlama gibi erişim kısıtlamalarıyla genel uç noktaya yük oluşturun.
  • ExpressRoute aracılığıyla Azure'a bağlı, genel olarak erişilmeyen bir şirket içi hizmete yük oluşturun.

Sanal ağınızda Azure Yük Testi dağıtma senaryoları hakkında daha fazla bilgi edinin.

Aşağıdaki diyagramda teknik bir genel bakış sağlanır:

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

Yük testini başlattığınızda, Azure Load Testing hizmeti uygulama uç noktasını içeren sanal ağa aşağıdaki Azure kaynaklarını ekler:

  • Test altyapısı sanal makineleri. Bu VM'ler yük testi sırasında uygulama uç noktanızı çağırır.
  • Genel IP adresi.
  • Bir ağ güvenlik grubu (NSG).
  • An Azure Load Balancer.

Bu kaynaklar kısa ömürlüdür ve yalnızca yük testi çalışırken mevcuttur. Alt ağınızda genel IP adresi, Azure yük dengeleyici veya ağ güvenlik grubu dağıtımıyla ilgili kısıtlamalarınız varsa, bu kaynakların dağıtımını devre dışı bırakabilirsiniz. Daha fazla bilgi için bkz . Yük testinizi yapılandırma.

Sanal ağınıza erişimi kısıtlarsanız, bu Azure Yük Testi ile eklenen VM'ler arasındaki iletişimi etkinleştirmek için sanal ağınızı yapılandırmanız gerekir.

Önkoşullar

  • Azure hesabınızın sanal ağda Ağ Katkıda Bulunanı rolü veya bu rolün üst öğesi vardır. İzinlerinizi doğrulamak için bkz . Kullanıcının Azure kaynaklarına erişimini denetleme.
  • Azure Yük Testi için kullandığınız alt ağ, testinizin yük testi altyapılarının sayısını karşılamak için yeterli atanmamış IP adresine sahip olmalıdır. Testinizi yüksek ölçekli yük için yapılandırma hakkında daha fazla bilgi edinin.
  • Alt ağ başka bir Azure hizmetine temsilci olarak atanmamalıdır. Örneğin, Azure Container Instances'a (ACI) temsilci olarak atanmamalıdır. Alt ağ temsilcisi hakkında daha fazla bilgi edinin.
  • Azure CLI sürüm 2.2.0 veya üzeri (CI/CD kullanıyorsanız). Bilgisayarınızda yüklü sürümü bulmak için komutunu çalıştırın az --version . Azure CLI'yı yüklemeniz veya yükseltmeniz gerekiyorsa bkz . Azure CLI'yi yükleme.

Sanal ağ yapılandırma

Özel uç noktaları test etmek için Azure Load Testing'i bir Azure sanal ağına bağlarsınız. Sanal ağ en az bir alt ağa sahip olmalı ve Azure Yük Testi hizmetine giden trafiğe izin vermelidir.

Henüz bir sanal ağınız yoksa, Azure portalında bir Azure sanal ağı oluşturmak için bu adımları izleyin.

Önemli

Sanal ağ, yük testi kaynağıyla aynı abonelikte ve aynı bölgede olmalıdır.

Alt ağ oluşturma

Azure Yük Testi'ni sanal ağınıza dağıttığınızda, Azure Yük Testi ve uygulama uç noktası için ayrı alt ağlar kullanmanız önerilir. Bu yaklaşım, ağ trafiği erişim ilkelerini her amaç için özel olarak yapılandırmanıza olanak tanır. Sanal ağa alt ağ ekleme hakkında daha fazla bilgi edinin.

(İsteğe bağlı) Trafik kurallarını yapılandırma

Azure Yük Testi, sanal ağınıza eklenen VM'lerin Azure Yük Testi hizmetine giden erişim iznine sahip olmasını gerektirir. Varsayılan olarak, sanal ağ oluşturduğunuzda giden erişime zaten izin verilir.

Sanal ağınıza erişimi bir ağ güvenlik grubuyla daha fazla kısıtlamayı planlıyorsanız veya zaten bir ağ güvenlik grubunuz varsa, test altyapısı VM'lerinden Azure Load Testing hizmetine giden trafiğe izin vermek için bir giden güvenlik kuralı yapılandırmanız gerekir.

Azure Yük Testi için giden erişimi yapılandırmak için:

  1. Azure Portal’ında oturum açın.

  2. Ağ güvenlik grubunuz gidin.

    Henüz bir NSG'niz yoksa bir ağ güvenlik grubu oluşturmak için bu adımları izleyin.

    NSG'yi sanal ağınızla aynı bölgede oluşturun ve ardından alt ağınızla ilişkilendirin.

  3. Sol gezinti bölmesinde Giden güvenlik kuralları'nı seçin.

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

  4. Yeni bir giden güvenlik kuralı eklemek için + Ekle'yi seçin. Yeni bir kural oluşturmak için aşağıdaki bilgileri girin.

    Alan Değer
    Kaynak Tümü
    Kaynak bağlantı noktası aralıkları *
    Hedef Tümü
    Hedef bağlantı noktası aralıkları *
    Ad azure-load-testing-outbound
    Açıklama Yük testlerini düzenlemeye yönelik çeşitli işlemler için kullanılır.
  5. Ağ güvenlik grubuna giden güvenlik kuralını eklemek için Ekle'yi seçin.

Yük testi betiğinizi yapılandırma

JMeter betiğini çalıştıran test altyapısı VM'leri, uygulama uç noktasını içeren sanal ağa eklenir. Artık özel IP adresini kullanarak veya ağınızdaki ad çözümlemesini kullanarak JMX dosyasındaki uç noktaya doğrudan başvurabilirsiniz.

Örneğin, 10.179.0.7 IP adresine sahip bir uç nokta için, alt ağ aralığı 10.179.0.0/18 olan bir sanal ağda JMX dosyası şu bilgilere sahip olabilir:

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

Yük testinizi yapılandırma

Yük testinize özel olarak barındırılan uç noktaları eklemek için yük testi için sanal ağ ayarlarını yapılandırmanız gerekir. Sanal ağ ayarlarını Azure portalında yapılandırabilir veya CI/CD işlem hatları için YAML test yapılandırma dosyasında belirtebilirsiniz.

Önemli

Azure Load Testing'i bir sanal ağa dağıttığınızda ek ücretlendirilirsiniz. Azure Load Testing aboneliğinizde bir Azure Load Balancer ve Genel IP adresi dağıtır ve oluşturulan trafik için bir maliyet olabilir. Daha fazla bilgi için Sanal Ağ fiyatlandırma bilgilerine bakın.

Azure portalında sanal ağı yapılandırma

Yük testi oluşturma/güncelleştirme sihirbazında sanal ağ yapılandırma ayarlarını belirtebilirsiniz.

  1. Azure aboneliğinizin kimlik bilgilerini kullanarak Azure portalında oturum açın.

  2. Azure Yük Testi kaynağınıza gidin ve sol bölmeden Testler'i seçin.

  3. Yük testi oluşturma/güncelleştirme sihirbazını iki yoldan biriyle açın:

    • Yeni bir test oluşturmak istiyorsanız + Oluştur > JMeter betiğini karşıya yükle'yi seçin.

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

    • Listeden mevcut bir testi seçin ve ardından Düzenle'yi seçin.

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

  4. Yükle sekmesinde Özel trafik modu'nu ve ardından sanal ağınızı ve alt ağınızı seçin.

    Sanal ağınızda birden çok alt ağınız varsa, eklenen test altyapısı VM'lerini barındıracak alt ağı seçtiğinizden emin olun.

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

    Önemli

    Sanal ağları yönetmek için yeterli izinlere sahip olduğunuzdan emin olun. Ağ Katkıda Bulunanı rolüne ihtiyacınız vardır.

  5. (İsteğe bağlı) Alt ağınızda genel IP adresi, yük dengeleyici ve ağ güvenlik grubu dağıtmak istemiyorsanız Genel IP dağıtımını devre dışı bırak seçeneğini işaretleyin.

    Bu seçeneği belirlediğinizde, alt ağdan giden trafik yönlendirmesini etkinleştirmek için Azure NAT Gateway, Azure Güvenlik Duvarı veya ağ sanal gereci (NVA) gibi alternatif bir mekanizma olduğundan emin olun.

  6. Yük testi bilgilerini gözden geçirin veya doldurun. Test oluşturmak veya yönetmek için bu adımları izleyin.

  7. Gözden Geçir + oluştur'u ve ardından Oluştur'u (veya mevcut bir testi güncelleştirirken Uygula'yı) seçin.

    Yük testi başladığında Azure Load Testing, sanal ağınıza ve alt ağınıza test altyapısı VM'lerini ekler. Test betiği artık sanal ağınızdaki özel olarak barındırılan uygulama uç noktasına erişebilir.

CI/CD işlem hatları için sanal ağı yapılandırma

Yük testini sanal ağ ayarlarınızla yapılandırmak için YAML test yapılandırma dosyasını güncelleştirin.

  1. Bir terminal açın ve Azure aboneliğinizde oturum açmak için Azure CLI'yi kullanın:

    az login
    az account set --subscription <your-Azure-Subscription-ID>
    
  2. Alt ağ kimliğini alın ve sonuç değerini kopyalayın:

    az network vnet subnet show -g <your-resource-group> --vnet-name <your-vnet-name> --name <your-subnet-name> --query id
    
  3. YAML test yapılandırma dosyanızı sık kullandığınız düzenleyicide açın.

  4. subnetId özelliğini yapılandırma dosyasına ekleyin ve daha önce kopyaladığınız alt ağ kimliğini belirtin:

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

    İsteğe bağlı olarak özelliğini olarak TrueayarlayabilirsinizpublicIPDisabled. YAML yapılandırması hakkında daha fazla bilgi için bkz . test yapılandırması YAML başvurusu.

    Önemli

    Sanal ağları yönetmek için yeterli izinlere sahip olduğunuzdan emin olun. Ağ Katkıda Bulunanı rolüne ihtiyacınız vardır.

  5. YAML yapılandırma dosyasını kaydedin ve değişikliklerinizi kaynak kod deposuna işleyin.

  6. CI/CD iş akışı tetikledikten sonra yük testiniz başlar ve artık sanal ağınızda özel olarak barındırılan uygulama uç noktasına erişebilir.

Sorun giderme

Yük testi oluşturma veya güncelleştirme işlemi ile başarısız oluyor Subscription not registered with Microsoft.Batch (ALTVNET001)

Sanal ağda yük testi yapılandırdığınızda aboneliğin ile Microsoft.Batchkaydedilmesi gerekir.

  1. Birkaç dakika sonra yük testini oluşturmayı veya güncelleştirmeyi yeniden deneyin.

  2. Hata devam ederse aboneliğinizi kaynak sağlayıcısına Microsoft.Batch el ile kaydetmek için bu adımları izleyin.

Yük testi oluşturma veya güncelleştirme işlemi ile başarısız oluyor Subnet is not in the Succeeded state (ALTVNET002)

Yük testi için kullandığınız alt ağ durumunda değil Succeeded ve yük testinizi buna dağıtmaya hazır değil.

  1. Alt ağın durumunu doğrulayın.

    Durumu doğrulamak için aşağıdaki Azure CLI komutunu çalıştırın. Sonuç olmalıdır Succeeded.

    az network vnet subnet show -g MyResourceGroup -n MySubnet --vnet-name MyVNet
    
  2. Alt ağ ile ilgili sorunları çözün. Alt ağı yeni oluşturduysanız, birkaç dakika sonra durumu yeniden doğrulayın.

  3. Alternatif olarak, yük testi için başka bir alt ağ seçin.

Yük testi oluşturma veya güncelleştirme işlemi ile başarısız oluyor Subnet is delegated to other service (ALTVNET003)

Yük testini dağıtmak için kullandığınız alt ağ başka bir Azure hizmetine devredilemiyor. Mevcut temsilciyi kaldırın veya bir hizmete temsilci olarak atanmayan başka bir alt ağ seçin.

Alt ağ temsilcisi ekleme veya kaldırma hakkında daha fazla bilgi edinin.

Yük testinin güncelleştirilmesi veya başlatılması ile başarısız oluyor User doesn't have subnet/join/action permission on the virtual network (ALTVNET004)

Yük testini güncelleştirmek veya başlatmak için Azure Yük Testi'ni sanal ağa dağıtmak için yeterli izinlere sahip olmanız gerekir. Sanal ağda Ağ Katkıda Bulunanı rolüne veya bu rolün üst öğesine ihtiyacınız vardır.

  1. İzinlerinizi doğrulamak için bkz . Kullanıcının Azure kaynaklarına erişimini denetleme.

  2. Hesabınıza Ağ Katkıda Bulunanı rolünü atamak için bu adımları izleyin.

Yük testi oluşturma veya güncelleştirme işlemi ile başarısız oluyor IPv6 enabled subnet not supported (ALTVNET005)

Azure Load Testing, IPv6 özellikli alt ağları desteklemez. IPv6'nın etkinleştirilmediği başka bir alt ağ seçin.

Yük testi oluşturma veya güncelleştirme işlemi ile başarısız oluyor NSG attached to subnet is not in Succeeded state (ALTVNET006)

Alt ağa bağlı ağ güvenlik grubu (NSG) durumunda Succeeded değil.

  1. NSG'nin durumunu doğrulayın.

    Durumu doğrulamak için aşağıdaki Azure CLI komutunu çalıştırın. Sonuç olmalıdır Succeeded.

    az network nsg show -g MyResourceGroup -n MyNsg
    
  2. NSG ile ilgili sorunları çözün. NSG'yi veya alt ağı yeni oluşturduysanız, birkaç dakika sonra durumu yeniden doğrulayın.

  3. Alternatif olarak, başka bir NSG seçin.

Yük testi oluşturma veya güncelleştirme işlemi ile başarısız oluyor Route Table attached to subnet is not in Succeeded state (ALTVNET007)

Alt ağa eklenen yol tablosu şu durumda Succeeded değil.

  1. Yol tablosunun durumunu doğrulayın.

    Durumu doğrulamak için aşağıdaki Azure CLI komutunu çalıştırın. Sonuç olmalıdır Succeeded.

    az network route-table show -g MyResourceGroup -n MyRouteTable
    
  2. Yol tablosuyla ilgili sorunları çözün. Yol tablosunu veya alt ağı yeni oluşturduysanız, birkaç dakika sonra durumu yeniden doğrulayın.

  3. Alternatif olarak, başka bir yol tablosu seçin.

Yük testi oluşturma veya güncelleştirme işlemi ile başarısız oluyor Inbound not allowed from AzureLoadTestingInstanceManagement service tag (ALTVNET008)

Hizmet etiketinden AzureLoadTestingInstanceManagement sanal ağa gelen erişime izin verilmez.

Hizmet etiketi için trafik erişimini etkinleştirmek için AzureLoadTestingInstanceManagement bu adımları izleyin.

Yük testi oluşturma veya güncelleştirme işlemi ile başarısız oluyor Inbound not allowed from BatchNodeManagement service tag (ALTVNET009)

Hizmet etiketinden BatchNodeManagement sanal ağa gelen erişime izin verilmez.

Hizmet etiketi için gelen erişimi etkinleştirmek için BatchNodeManagement bu adımları izleyin.

Yük testi oluşturma veya güncelleştirme işlemi ile başarısız oluyor Route Table has next hop set for address prefix 0.0.0.0/0

Alt ağ yol tablonuzda sonraki atlama kümesi türü 0.0.0.0/0 yolu için Sanal gereç olarak ayarlanmıştır. Bu yapılandırma, alt ağda sanal makineleri sağlarken ağ paketleri için asimetrik yönlendirmeye neden olabilir.

Bu hatayı çözmek için iki eylemden birini gerçekleştirin:

  • Özel yolları olmayan farklı bir alt ağ kullanın.
  • Alt ağ yol tablosunu değiştirin ve 0.0.0.0/0 yolunun sonraki atlama türünü İnternet'e ayarlayın.

Sanal ağ trafiği yönlendirme hakkında daha fazla bilgi edinin.

Yük testi oluşturma veya güncelleştirme işlemi ile başarısız oluyor Subnet is in a different subscription than resource (ALTVNET011)

Sanal ağ, Azure yük testi kaynağınızla aynı abonelikte ve bölgede değil. Azure sanal ağını veya Azure yük testi kaynağını aynı aboneliğe ve bölgeye taşıyın veya yeniden oluşturun.

Sağlama ile başarısız oluyor An azure policy is restricting engine deployment to your subscription (ALTVNET012)

Azure ilkesi, aboneliğinize yük testi altyapısı dağıtımını kısıtlar. İlke kısıtlamalarınızı denetleyin ve yeniden deneyin. Genel IP adresinin, Azure yük dengeleyicinin veya ağ güvenlik grubunun dağıtımıyla ilgili ilke kısıtlamalarınız varsa, bu kaynakların dağıtımını devre dışı bırakabilirsiniz. Bkz . Yük testinizi yapılandırma.

Sağlama ile başarısız oluyor Engines could not be deployed due to an error in subnet configuration (ALTVNET013)

Alt ağ yapılandırmasındaki bir hata nedeniyle yük testi altyapısı örnekleri dağıtılamıyor. Alt ağ yapılandırmanızı doğrulayın. Sorun devam ederse, testin çalıştırma kimliğiyle birlikte destekle birlikte bir bilet oluşturun.

  1. Alt ağın durumunu doğrulayın.

    Durumu doğrulamak için aşağıdaki Azure CLI komutunu çalıştırın. Sonuç olmalıdır Succeeded.

    az network vnet subnet show -g MyResourceGroup -n MySubnet --vnet-name MyVNet
    
  2. Alt ağ ile ilgili sorunları çözün. Alt ağı yeni oluşturduysanız, birkaç dakika sonra durumu yeniden doğrulayın.

  3. Sorun devam ederse çevrimiçi bir müşteri destek isteği açın.

    Destek isteğinde yük testi çalıştırma kimliğini belirtin.

Yük testini başlatma işlemi ile başarısız oluyor Subnet has {0} free IPs, {1} more free IP(s) required to run {2} engine instance load test (ALTVNET014)

Azure Yük Testi için kullandığınız alt ağ, testinizin yük testi altyapılarının sayısını karşılamak için yeterli atanmamış IP adresine sahip olmalıdır.

Alt ağ ayarlarını güncelleştirmek ve IP adresi aralığını artırmak için bu adımları izleyin.

Yük testini başlatma işlemi ile başarısız oluyor Management Lock is enabled on Resource Group of VNET (ALTVNET015)

Sanal ağı içeren kaynak grubunda bir kilit varsa hizmet, test altyapısı sanal makinelerini sanal ağınıza yerleştiremez. Yük testini çalıştırmadan önce yönetim kilidini kaldırın. Azure portalında kilitleri yapılandırmayı öğrenin.

Yük testini başlatma işlemi ile başarısız oluyor Insufficient public IP address quota in VNET subscription (ALTVNET016)

Yük testini başlattığınızda, Azure Yük Testi uygulama uç noktasını içeren sanal ağa aşağıdaki Azure kaynaklarını ekler:

  • Test altyapısı sanal makineleri. Bu VM'ler yük testi sırasında uygulama uç noktanızı çağırır.
  • Genel IP adresi.
  • Bir ağ güvenlik grubu (NSG).
  • An Azure Load Balancer.

Aboneliğinizde yük testinde kullanılacak en az bir genel IP adresi için kotanız olduğundan emin olun.

Yük testini başlatma işlemi ile başarısız oluyor Subnet with name "AzureFirewallSubnet" cannot be used for load testing (ALTVNET017)

AzureFirewallSubnet alt ağı ayrılmıştır ve Bunu Azure Yük Testi için kullanamazsınız. Yük testiniz için başka bir alt ağ seçin.

Sonraki adımlar