Menguji titik akhir privat dengan menyebarkan Azure Load Testing di jaringan virtual Azure

Dalam artikel ini, pelajari cara menguji titik akhir aplikasi privat dengan Azure Load Testing. Anda membuat sumber daya Azure Load Testing dan mengaktifkannya untuk menghasilkan beban dari dalam jaringan virtual Anda (injeksi jaringan virtual).

Fungsionalitas ini memungkinkan skenario penggunaan berikut:

  • Hasilkan beban ke titik akhir yang disebarkan di jaringan virtual Azure.
  • Hasilkan beban ke titik akhir publik dengan pembatasan akses, seperti membatasi alamat IP klien.
  • Hasilkan beban ke layanan lokal, tidak dapat diakses publik, yang terhubung ke Azure melalui ExpressRoute.

Pelajari selengkapnya tentang skenario untuk menyebarkan Azure Load Testing di jaringan virtual Anda.

Diagram berikut memberikan gambaran umum teknis:

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

Saat Anda memulai pengujian beban, layanan Azure Load Testing menyuntikkan sumber daya Azure berikut di jaringan virtual yang berisi titik akhir aplikasi:

  • Mesin uji komputer virtual. VM ini memanggil titik akhir aplikasi Anda selama pengujian beban.
  • Alamat IP publik.
  • Kelompok keamanan jaringan (NSG).
  • An Azure Load Balancer.

Sumber daya ini bersifat sementara dan hanya ada saat pengujian beban sedang berjalan. Jika Anda memiliki batasan penyebaran alamat IP publik, penyeimbang muatan Azure, atau grup keamanan jaringan di subnet, Anda dapat menonaktifkan penyebaran sumber daya ini. Untuk informasi selengkapnya, lihat Mengonfigurasi uji beban Anda.

Jika Anda membatasi akses ke jaringan virtual, Anda perlu mengonfigurasi jaringan virtual untuk mengaktifkan komunikasi antara Azure Load Testing ini dan VM yang disuntikkan.

Prasyarat

  • Akun Azure Anda memiliki peran Kontributor Jaringan, atau induk peran ini, di jaringan virtual. Lihat Memeriksa akses pengguna ke sumber daya Azure untuk memverifikasi izin Anda.
  • Subnet yang Anda gunakan untuk Azure Load Testing harus memiliki cukup alamat IP yang tidak ditetapkan untuk mengakomodasi jumlah mesin uji beban untuk pengujian Anda. Pelajari selengkapnya tentang mengonfigurasi pengujian Anda untuk beban skala tinggi.
  • Subnet tidak boleh didelegasikan ke layanan Azure lainnya. Misalnya, tidak boleh didelegasikan ke Azure Container Instances (ACI). Pelajari selengkapnya tentang delegasi subnet.
  • Azure CLI versi 2.2.0 atau yang lebih baru (jika Anda menggunakan CI/CD). Jalankan az --version untuk menemukan versi yang terinstal di komputer Anda. Jika Anda perlu menginstal atau meningkatkan Azure CLI, lihat Cara menginstal Azure CLI.

Konfigurasikan jaringan virtual

Untuk menguji titik akhir privat, Anda menyambungkan Azure Load Testing ke jaringan virtual Azure. Jaringan virtual harus memiliki setidaknya satu subnet, dan memungkinkan lalu lintas keluar ke layanan Azure Load Testing.

Jika Anda belum memiliki jaringan virtual, ikuti langkah-langkah ini untuk membuat jaringan virtual Azure di portal Azure.

Penting

Jaringan virtual harus berada dalam langganan yang sama dan wilayah yang sama dengan sumber daya pengujian beban.

Buat subnet

Saat Anda menyebarkan Azure Load Testing di jaringan virtual Anda, disarankan untuk menggunakan subnet terpisah untuk Azure Load Testing dan untuk titik akhir aplikasi. Pendekatan ini memungkinkan Anda mengonfigurasi kebijakan akses lalu lintas jaringan khusus untuk setiap tujuan. Pelajari selengkapnya tentang cara menambahkan subnet ke jaringan virtual.

(Opsional) Mengonfigurasi aturan lalu lintas

Azure Load Testing mengharuskan VM yang disuntikkan di jaringan virtual Anda diizinkan akses keluar ke layanan Azure Load Testing. Secara default, saat Anda membuat jaringan virtual, akses keluar sudah diizinkan.

Jika Anda berencana untuk lebih membatasi akses ke jaringan virtual Anda dengan grup keamanan jaringan, atau jika Anda sudah memiliki grup keamanan jaringan, Anda perlu mengonfigurasi aturan keamanan keluar untuk mengizinkan lalu lintas dari mesin uji VM ke layanan Azure Load Testing.

Untuk mengonfigurasi akses keluar untuk Azure Load Testing:

  1. Masuk ke portal Azure.

  2. Buka grup keamanan jaringan Anda.

    Jika Anda belum memiliki NSG, ikuti langkah-langkah ini untuk membuat grup keamanan jaringan.

    Buat NSG di wilayah yang sama dengan jaringan virtual Anda, lalu kaitkan dengan subnet Anda.

  3. Pilih Aturan keamanan keluar di navigasi kiri.

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

  4. Pilih + Tambahkan, untuk menambahkan aturan keamanan keluar baru. Masukkan informasi berikut untuk membuat aturan baru.

    Bidang Nilai
    Sumber Mana pun
    Source port ranges *
    Tujuan Mana pun
    Rentang port tujuan *
    Nama azure-load-testing-outbound
    Keterangan Digunakan untuk berbagai operasi yang terlibat dalam mengatur pengujian beban.
  5. Pilih Tambahkan untuk menambahkan aturan keamanan keluar ke grup keamanan jaringan.

Mengonfigurasi skrip uji beban Anda

VM mesin uji, yang menjalankan skrip JMeter, disuntikkan di jaringan virtual yang berisi titik akhir aplikasi. Anda sekarang dapat merujuk langsung ke titik akhir dalam file JMX dengan menggunakan alamat IP privat atau menggunakan resolusi nama di jaringan Anda.

Misalnya, untuk titik akhir dengan alamat IP 10.179.0.7, dalam jaringan virtual dengan rentang subnet 10.179.0.0/18, file JMX dapat memiliki informasi ini:

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

Mengonfigurasi uji beban Anda

Untuk menyertakan titik akhir yang dihosting secara privat dalam pengujian beban, Anda perlu mengonfigurasi pengaturan jaringan virtual untuk pengujian beban. Anda dapat mengonfigurasi pengaturan jaringan virtual di portal Azure, atau menentukannya dalam file konfigurasi pengujian YAML untuk alur CI/CD.

Penting

Saat menyebarkan Azure Load Testing di jaringan virtual, Anda akan dikenakan biaya tambahan. Azure Load Testing menyebarkan Azure Load Balancer dan alamat IP Publik di langganan Anda dan mungkin ada biaya untuk lalu lintas yang dihasilkan. Untuk informasi selengkapnya, lihat informasi harga Virtual Network.

Mengonfigurasi jaringan virtual di portal Azure

Anda dapat menentukan pengaturan konfigurasi jaringan virtual di wizard pembuatan/pembaruan pengujian beban.

  1. Masuk ke portal Microsoft Azure dengan menggunakan info masuk untuk langganan Azure Anda.

  2. Buka sumber daya Azure Load Testing Anda, dan pilih Pengujian dari panel kiri.

  3. Buka wizard pembuatan/pembaruan pengujian beban dengan salah satu dari dua cara:

    • Pilih + Buat > Unggah skrip JMeter, jika Anda ingin membuat pengujian baru.

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

    • Pilih pengujian yang sudah ada dari daftar, lalu pilih Edit.

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

  4. Pada tab Muat , pilih Mode lalu lintas privat , lalu pilih jaringan virtual dan subnet Anda.

    Jika Anda memiliki beberapa subnet di jaringan virtual Anda, pastikan untuk memilih subnet yang akan menghosting VM mesin uji yang disuntikkan.

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

    Penting

    Pastikan Anda memiliki izin yang memadai untuk mengelola jaringan virtual. Anda memerlukan peran Kontributor Jaringan.

  5. (Opsional) Centang Nonaktifkan penyebaran IP Publik jika Anda tidak ingin menyebarkan alamat IP publik, load balancer, dan grup keamanan jaringan di subnet Anda.

    Saat Anda memilih opsi ini, pastikan bahwa ada mekanisme alternatif seperti Azure NAT Gateway, Azure Firewall, atau appliance virtual jaringan (NVA) untuk mengaktifkan perutean lalu lintas keluar dari subnet.

  6. Tinjau atau isi informasi uji beban. Ikuti langkah-langkah ini untuk membuat atau mengelola pengujian.

  7. Pilih Tinjau + buat lalu Buat (atau Terapkan, saat memperbarui pengujian yang ada).

    Saat pengujian beban dimulai, Azure Load Testing menyuntikkan VM mesin uji di jaringan virtual dan subnet Anda. Skrip pengujian sekarang dapat mengakses titik akhir aplikasi yang dihosting secara privat di jaringan virtual Anda.

Mengonfigurasi jaringan virtual untuk alur CI/CD

Untuk mengonfigurasi pengujian beban dengan pengaturan jaringan virtual Anda, perbarui file konfigurasi pengujian YAML.

  1. Buka terminal, dan gunakan Azure CLI untuk masuk ke langganan Azure Anda:

    az login
    az account set --subscription <your-Azure-Subscription-ID>
    
  2. Ambil ID subnet dan salin nilai yang dihasilkan:

    az network vnet subnet show -g <your-resource-group> --vnet-name <your-vnet-name> --name <your-subnet-name> --query id
    
  3. Buka file konfigurasi pengujian YAML Anda di editor favorit Anda.

  4. subnetId Tambahkan properti ke file konfigurasi dan berikan ID subnet yang Anda salin sebelumnya:

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

    Secara opsional, Anda dapat mengatur properti ke publicIPDisabledTrue. Untuk informasi selengkapnya tentang konfigurasi YAML, lihat referensi YAML konfigurasi pengujian.

    Penting

    Pastikan Anda memiliki izin yang memadai untuk mengelola jaringan virtual. Anda memerlukan peran Kontributor Jaringan.

  5. Simpan file konfigurasi YAML, dan terapkan perubahan Anda ke repositori kode sumber.

  6. Setelah alur kerja CI/CD memicu, pengujian beban Anda dimulai, dan sekarang dapat mengakses titik akhir aplikasi yang dihosting secara privat di jaringan virtual Anda.

Pemecahan Masalah

Membuat atau memperbarui pengujian beban gagal dengan Subscription not registered with Microsoft.Batch (ALTVNET001)

Saat Anda mengonfigurasi pengujian beban di jaringan virtual, langganan harus didaftarkan dengan Microsoft.Batch.

  1. Coba buat atau perbarui uji beban lagi setelah beberapa menit.

  2. Jika kesalahan berlanjut, ikuti langkah-langkah ini untuk mendaftarkan langganan Anda dengan Microsoft.Batch penyedia sumber daya secara manual.

Membuat atau memperbarui pengujian beban gagal dengan Subnet is not in the Succeeded state (ALTVNET002)

Subnet yang Anda gunakan untuk pengujian beban tidak dalam Succeeded status dan belum siap untuk menyebarkan pengujian beban Anda ke dalamnya.

  1. Verifikasi status subnet.

    Jalankan perintah Azure CLI berikut untuk memverifikasi status. Hasilnya harus Succeeded.

    az network vnet subnet show -g MyResourceGroup -n MySubnet --vnet-name MyVNet
    
  2. Atasi masalah apa pun dengan subnet. Jika Anda baru saja membuat subnet, verifikasi status lagi setelah beberapa menit.

  3. Secara bergantian, pilih subnet lain untuk pengujian beban.

Membuat atau memperbarui pengujian beban gagal dengan Subnet is delegated to other service (ALTVNET003)

Subnet yang Anda gunakan untuk menyebarkan uji beban tidak dapat didelegasikan ke layanan Azure lain. Hapus delegasi yang ada, atau pilih subnet lain yang tidak didelegasikan ke layanan.

Pelajari selengkapnya tentang menambahkan atau menghapus delegasi subnet.

Memperbarui atau memulai pengujian beban gagal dengan User doesn't have subnet/join/action permission on the virtual network (ALTVNET004)

Untuk memperbarui atau memulai pengujian beban, Anda harus memiliki izin yang memadai untuk menyebarkan Azure Load Testing ke jaringan virtual. Anda memerlukan peran Kontributor Jaringan, atau induk peran ini, di jaringan virtual.

  1. Lihat Memeriksa akses pengguna ke sumber daya Azure untuk memverifikasi izin Anda.

  2. Ikuti langkah-langkah ini untuk menetapkan peran Kontributor Jaringan ke akun Anda.

Membuat atau memperbarui pengujian beban gagal dengan IPv6 enabled subnet not supported (ALTVNET005)

Azure Load Testing tidak mendukung subnet yang diaktifkan IPv6. Pilih subnet lain di mana IPv6 tidak diaktifkan.

Membuat atau memperbarui pengujian beban gagal dengan NSG attached to subnet is not in Succeeded state (ALTVNET006)

Kelompok keamanan jaringan (NSG) yang dilampirkan ke subnet tidak dalam status Succeeded .

  1. Verifikasi status NSG.

    Jalankan perintah Azure CLI berikut untuk memverifikasi status. Hasilnya harus Succeeded.

    az network nsg show -g MyResourceGroup -n MyNsg
    
  2. Atasi masalah apa pun dengan NSG. Jika Anda baru saja membuat NSG atau subnet, verifikasi status lagi setelah beberapa menit.

  3. Secara bergantian, pilih NSG lain.

Membuat atau memperbarui pengujian beban gagal dengan Route Table attached to subnet is not in Succeeded state (ALTVNET007)

Tabel rute yang dilampirkan ke subnet tidak dalam status Succeeded .

  1. Verifikasi status tabel rute.

    Jalankan perintah Azure CLI berikut untuk memverifikasi status. Hasilnya harus Succeeded.

    az network route-table show -g MyResourceGroup -n MyRouteTable
    
  2. Atasi masalah apa pun dengan tabel rute. Jika Anda baru saja membuat tabel rute atau subnet, verifikasi status lagi setelah beberapa menit.

  3. Secara bergantian, pilih tabel rute lain.

Membuat atau memperbarui pengujian beban gagal dengan Inbound not allowed from AzureLoadTestingInstanceManagement service tag (ALTVNET008)

Akses masuk dari AzureLoadTestingInstanceManagement tag layanan ke jaringan virtual tidak diizinkan.

Ikuti langkah-langkah ini untuk mengaktifkan akses lalu lintas untuk AzureLoadTestingInstanceManagement tag layanan.

Membuat atau memperbarui pengujian beban gagal dengan Inbound not allowed from BatchNodeManagement service tag (ALTVNET009)

Akses masuk dari BatchNodeManagement tag layanan ke jaringan virtual tidak diizinkan.

Ikuti langkah-langkah ini untuk mengaktifkan akses masuk untuk BatchNodeManagement tag layanan.

Membuat atau memperbarui pengujian beban gagal dengan Route Table has next hop set for address prefix 0.0.0.0/0

Tabel rute subnet Anda memiliki jenis set hop berikutnya yang diatur ke Appliance virtual untuk rute 0.0.0.0/0. Konfigurasi ini akan menyebabkan perutean asimetris untuk paket jaringan saat menyediakan komputer virtual di subnet.

Lakukan salah satu dari dua tindakan untuk mengatasi kesalahan ini:

  • Gunakan subnet lain, yang tidak memiliki rute kustom.
  • Ubah tabel rute subnet dan atur jenis hop berikutnya untuk rute 0.0.0.0/0 ke Internet.

Pelajari selengkapnya tentang perutean lalu lintas jaringan virtual.

Membuat atau memperbarui pengujian beban gagal dengan Subnet is in a different subscription than resource (ALTVNET011)

Jaringan virtual tidak berada dalam langganan dan wilayah yang sama dengan sumber daya pengujian beban Azure Anda. Pindahkan atau buat ulang jaringan virtual Azure atau sumber daya pengujian beban Azure ke langganan dan wilayah yang sama.

Provisi gagal dengan An azure policy is restricting engine deployment to your subscription (ALTVNET012)

Kebijakan Azure membatasi penyebaran mesin uji beban ke langganan Anda. Periksa pembatasan kebijakan Anda, lalu coba lagi. Jika Anda memiliki pembatasan kebijakan pada penyebaran alamat IP publik, penyeimbang muatan Azure, atau grup keamanan jaringan, Anda dapat menonaktifkan penyebaran sumber daya ini. Lihat Mengonfigurasi uji beban Anda.

Provisi gagal dengan Engines could not be deployed due to an error in subnet configuration (ALTVNET013)

Instans mesin uji beban tidak dapat disebarkan karena kesalahan dalam konfigurasi subnet. Verifikasi konfigurasi subnet Anda. Jika masalah berlanjut, ajukan tiket dengan dukungan bersama dengan ID eksekusi pengujian.

  1. Verifikasi status subnet.

    Jalankan perintah Azure CLI berikut untuk memverifikasi status. Hasilnya harus Succeeded.

    az network vnet subnet show -g MyResourceGroup -n MySubnet --vnet-name MyVNet
    
  2. Atasi masalah apa pun dengan subnet. Jika Anda baru saja membuat subnet, verifikasi status lagi setelah beberapa menit.

  3. Jika masalah berlanjut, buka permintaan dukungan pelanggan online.

    Berikan ID eksekusi uji beban dalam permintaan dukungan.

Memulai uji beban gagal dengan Subnet has {0} free IPs, {1} more free IP(s) required to run {2} engine instance load test (ALTVNET014)

Subnet yang Anda gunakan untuk Azure Load Testing harus memiliki cukup alamat IP yang tidak ditetapkan untuk mengakomodasi jumlah mesin uji beban untuk pengujian Anda.

Ikuti langkah-langkah ini untuk memperbarui pengaturan subnet dan meningkatkan rentang alamat IP.

Memulai uji beban gagal dengan Management Lock is enabled on Resource Group of VNET (ALTVNET015)

Jika ada kunci pada grup sumber daya yang berisi jaringan virtual, layanan tidak dapat menyuntikkan komputer virtual mesin uji di jaringan virtual Anda. Hapus kunci manajemen sebelum menjalankan pengujian beban. Pelajari cara mengonfigurasi kunci di portal Azure.

Memulai uji beban gagal dengan Insufficient public IP address quota in VNET subscription (ALTVNET016)

Saat Anda memulai pengujian beban, Azure Load Testing menyuntikkan sumber daya Azure berikut di jaringan virtual yang berisi titik akhir aplikasi:

  • Mesin uji komputer virtual. VM ini memanggil titik akhir aplikasi Anda selama pengujian beban.
  • Alamat IP publik.
  • Kelompok keamanan jaringan (NSG).
  • An Azure Load Balancer.

Pastikan Anda memiliki kuota untuk setidaknya satu alamat IP publik yang tersedia dalam langganan Anda untuk digunakan dalam pengujian beban.

Memulai uji beban gagal dengan Subnet with name "AzureFirewallSubnet" cannot be used for load testing (ALTVNET017)

Subnet AzureFirewallSubnet dicadangkan dan Anda tidak dapat menggunakannya untuk Azure Load Testing. Pilih subnet lain untuk pengujian beban Anda.

Langkah berikutnya