Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam artikel ini, Anda memahami cara mengirimkan rahasia dan lingkungan sebagai parameter untuk pengujian beban di Azure Load Testing. Anda dapat menggunakan parameter untuk mengubah perilaku uji beban tanpa harus mengedit skrip Apache JMeter atau Locust. Misalnya, untuk menguji aplikasi web, tentukan URL titik akhir sebagai parameter untuk menggunakan kembali skrip pengujian Anda di beberapa lingkungan. Anda juga dapat menggunakan parameter untuk menghindari bahwa Anda harus mengkodekan informasi sensitif dalam skrip pengujian.
Layanan Azure Load Testing mendukung dua jenis parameter:
Rahasia: Berisi informasi sensitif dan diteruskan dengan aman ke mesin uji beban. Misalnya, rahasia menyediakan kredensial layanan web alih-alih mengodekannya secara permanen dalam skrip pengujian. Untuk informasi selengkapnya, lihat Mengonfigurasi pengujian beban dengan rahasia.
Variabel lingkungan: Berisi informasi yang tidak sensitif dan tersedia sebagai variabel lingkungan di mesin uji beban. Misalnya, variabel lingkungan membuat URL titik akhir aplikasi dapat dikonfigurasi. Untuk informasi selengkapnya, lihat Mengonfigurasi pengujian beban dengan variabel lingkungan.
Anda dapat menentukan parameter dalam konfigurasi uji beban saat membuat pengujian baru atau memperbarui pengujian yang ada. Jika Anda menjalankan pengujian beban di alur kerja CI/CD, Anda menentukan parameter dalam file konfigurasi pengujian beban atau dalam definisi alur kerja CI/CD.
Prasyarat
Sebuah akun Azure dengan langganan aktif. Jika Anda tidak memiliki langganan Azure, buatlah akun gratis sebelum Anda memulai.
Sumber daya pengujian beban Azure. Jika Anda perlu membuat sumber daya Azure Load Testing, lihat panduan memulai cepat Membuat dan menjalankan pengujian beban.
Mengonfigurasi pengujian beban dengan rahasia
Di bagian ini, Anda mempelajari cara meneruskan rahasia ke skrip pengujian beban Anda di Azure Load Testing. Misalnya, Anda mungkin menggunakan rahasia untuk meneruskan kunci API ke titik akhir layanan web yang sedang Anda uji beban. Alih-alih menyimpan kunci API di dalam file konfigurasi atau menanamkannya langsung dalam skrip, Anda dapat menyimpan kunci tersebut di penyimpanan rahasia khusus untuk mengontrol akses secara ketat.
Azure Load Testing memungkinkan Anda menyimpan rahasia di Azure Key Vault. Atau, saat menjalankan uji beban di alur CI/CD, Anda juga dapat menggunakan penyimpanan rahasia yang terkait dengan teknologi CI/CD Anda, seperti Azure Pipelines atau GitHub Actions.
Untuk menggunakan rahasia dengan Azure Load Testing, Anda melakukan langkah-langkah berikut:
- Simpan nilai rahasia di penyimpanan rahasia (Azure Key Vault atau penyimpanan rahasia CI/CD).
- Berikan referensi ke kata sandi pada skrip pengujian Apache JMeter.
- Untuk pengujian berbasis JMeter, gunakan nilai rahasia dalam skrip pengujian Apache JMeter dengan menggunakan
GetSecretfungsi kustom. Untuk pengujian berbasis Belalang, gunakan nilai rahasia dengan membacanya dari variabel lingkungan.
Penting
Anda hanya dapat menggunakan fungsi kustom GetSecret saat menjalankan skrip pengujian JMeter dengan Azure Load Testing. Jika Anda menjalankan skrip pengujian secara lokal, Anda perlu memperbarui skrip tersebut dan membaca nilai rahasia dengan cara berbeda.
Menggunakan Azure Key Vault untuk menyimpan rahasia pengujian beban
Anda dapat menggunakan Azure Key Vault untuk meneruskan nilai rahasia ke skrip pengujian Anda di Azure Load Testing. Anda menambahkan referensi ke rahasia dalam konfigurasi Azure Load Testing. Azure Load Testing kemudian menggunakan referensi ini untuk mengambil nilai rahasia dalam skrip pengujian.
Anda juga perlu memberikan akses Azure Load Testing ke Azure Key Vault Anda untuk mengambil nilai rahasia.
Nota
Jika Anda menjalankan uji beban sebagai bagian dari proses CI/CD, Anda mungkin juga menggunakan penyimpanan rahasia terkait. Lewati ke penggunaan penyimpanan rahasia CI/CD.
Membuat rahasia di Azure Key Vault
Tambahkan nilai rahasia ke brankas kunci Anda, jika Anda belum melakukannya.
Penting
Jika Anda membatasi akses ke Azure Key Vault dengan firewall atau jaringan virtual, ikuti langkah-langkah ini untuk memberikan akses ke layanan Azure tepercaya.
Ambil pengidentifikasi rahasia brankas kunci untuk rahasia Anda. Anda menggunakan pengidentifikasi rahasia ini untuk mengonfigurasi pengujian beban Anda.
Pengidentifikasi rahasia adalah URI lengkap rahasia di Azure Key Vault. Secara opsional, Anda juga dapat menyertakan nomor versi. Misalnya,
https://myvault.vault.azure.net/secrets/mysecret/atauhttps://myvault.vault.azure.net/secrets/mysecret/abcdef01-2345-6789-0abc-def012345678.
Tambahkan rahasia ke dalam pengujian beban Anda
Referensikan rahasia dalam konfigurasi uji beban.
Anda menentukan parameter rahasia uji beban untuk setiap rahasia yang Anda referensikan dalam skrip pengujian. Nama parameter harus cocok dengan nama rahasia yang Anda gunakan dalam skrip pengujian. Nilai parameter adalah pengidentifikasi keamanan brankas kunci.
Anda dapat menentukan parameter rahasia dengan melakukan salah satu hal berikut:
Di portal Azure, pilih uji beban Anda, pilih Konfigurasikan, pilih tab Parameter, lalu masukkan detail parameter.
Jika Anda mengonfigurasi alur kerja CI/CD dan menggunakan Azure Key Vault, Anda dapat menentukan nilai rahasia dalam file konfigurasi YAML dengan menggunakan properti
secrets. Untuk informasi lebih lanjut tentang sintaks, lihat referensi YAML konfigurasi pengujian.
Tentukan identitas yang digunakan Azure Load Testing untuk mengakses rahasia Anda di Azure Key Vault.
Identitas dapat menjadi identitas sumber daya pengujian beban yang ditetapkan sistem, atau salah satu identitas yang ditetapkan pengguna. Pastikan Anda menggunakan identitas yang sama dengan yang telah Anda berikan akses sebelumnya.
Anda dapat menentukan identitas referensi brankas kunci dengan melakukan salah satu hal berikut:
Di portal Azure, pilih uji beban Anda, pilih Konfigurasikan, pilih tab Parameter, lalu konfigurasikan identitas referensi Key Vault.
Jika Mengonfigurasi alur kerja CI/CD dan menggunakan Azure Key Vault, Anda dapat menentukan identitas referensi dalam file konfigurasi YAML dengan menggunakan
keyVaultReferenceIdentityproperti . Untuk informasi lebih lanjut tentang sintaks, lihat referensi YAML konfigurasi pengujian.
Memberikan akses ke Azure Key Vault Anda
Saat Anda menyimpan rahasia pengujian beban atau sertifikat di Azure Key Vault, sumber daya pengujian beban Anda menggunakan identitas terkelola untuk mengakses brankas kunci. Setelah Anda mengonfigurasi identitas terkelola, Anda perlu memberikan izin kepada identitas terkelola dari sumber daya pengujian beban Anda untuk membaca nilai-nilai ini dari brankas kunci.
Untuk memberikan izin sumber daya pengujian beban Azure Anda untuk membaca rahasia atau sertifikat dari Azure Key Vault Anda:
Di portal Microsoft Azure, buka sumber daya Azure Key Vault Anda.
Jika Anda tidak memiliki brankas kunci, ikuti instruksi di Panduan Cepat Azure Key Vault untuk membuatnya.
Di panel kiri, pilih Kebijakan Akses, lalu pilih + Buat.
Pada tab Izin , di bawah Izin rahasia, pilih Dapatkan, lalu pilih Berikutnya.
Nota
Azure Load Testing mengambil sertifikat sebagai rahasia untuk memastikan bahwa kunci privat untuk sertifikat tersedia.
Pada tab Utama , cari dan pilih identitas terkelola untuk sumber daya pengujian beban, lalu pilih Berikutnya.
Jika Anda menggunakan identitas terkelola yang ditetapkan sistem, nama identitas terkelola cocok dengan sumber daya pengujian beban Azure Anda.
Pilih Berikutnya lagi.
Saat pengujian Anda berjalan, identitas terkelola yang terkait dengan sumber daya pengujian beban Anda sekarang dapat membaca rahasia atau sertifikat untuk pengujian beban Anda dari brankas kunci Anda.
Sekarang setelah Anda menambahkan rahasia di Azure Key Vault, mengonfigurasi rahasia untuk pengujian beban Anda, Anda sekarang dapat berpindah ke Menggunakan rahasia di Apache JMeter.
Gunakan penyimpanan rahasia CI/CD untuk menyimpan rahasia uji beban
Jika Anda menggunakan Azure Load Testing dalam alur kerja CI/CD, Anda juga dapat menggunakan penyimpanan rahasia yang terkait. Misalnya, Anda dapat menggunakan rahasia repositori GitHub, atau variabel rahasia di Azure Pipelines.
Nota
Jika Anda sudah menggunakan brankas kunci, Anda juga dapat menggunakannya untuk menyimpan rahasia uji beban. Lewati untuk Menggunakan Azure Key Vault.
Untuk menggunakan data rahasia di penyimpanan data rahasia CI/CD dan meneruskannya ke uji beban Anda di CI/CD:
Tambahkan nilai rahasia ke penyimpanan rahasia CI/CD, jika belum ada.
Di Azure Pipelines, Anda dapat mengedit alur dan menambahkan variabel.
Di GitHub, Anda dapat menggunakan rahasia repositori GitHub .
Nota
Pastikan untuk menggunakan nilai rahasia yang sebenarnya dan bukan pengidentifikasi rahasia di brankas kunci sebagai nilainya.
Sampaikan rahasia sebagai parameter input ke tugas/tindakan Pengujian Beban di workflow CI/CD.
Cuplikan YAML berikut menunjukkan cara meneruskan rahasia ke tindakan GitHub Pengujian Beban:
- name: 'Azure Load Testing' uses: azure/load-testing@v1 with: loadtestConfigFile: 'SampleApp.yaml' loadtestResource: 'MyTest' resourceGroup: 'loadtests-rg' secrets: | [ { "name": "appToken", "value": "${{ secrets.MY_SECRET }}" } ]Cuplikan YAML berikut menunjukkan cara menyampaikan rahasia ke tugas Azure Pipelines.
- task: AzureLoadTest@1 inputs: azureSubscription: 'MyAzureLoadTestingRG' loadTestConfigFile: 'SampleApp.yaml' loadTestResource: 'MyTest' resourceGroup: 'loadtests-rg' secrets: | [ { "name": "appToken", "value": "$(mySecret)" } ]Penting
Nama parameter input rahasia perlu cocok dengan nama yang digunakan dalam skrip Apache JMeter.
Anda sekarang telah menentukan rahasia di penyimpanan rahasia CI/CD dan meneruskan referensi ke Azure Load Testing. Anda sekarang dapat menggunakan rahasia dalam skrip Apache JMeter.
Menggunakan rahasia dalam skrip pengujian
Selanjutnya, Anda memperbarui skrip pengujian untuk menggunakan rahasia yang Anda tentukan sebelumnya.
Anda terlebih dahulu membuat variabel yang didefinisikan oleh pengguna yang mengambil nilai rahasia. Kemudian, Anda dapat menggunakan variabel ini dalam pengujian Anda (misalnya, untuk meneruskan token API di header permintaan HTTP).
Buat variabel yang ditentukan pengguna dalam file JMX Anda, dan tetapkan nilai rahasia ke dalamnya dengan menggunakan fungsi kustom
GetSecret.Fungsi
GetSecret(<my-secret-name>)mengambil nama rahasia sebagai argumen. Anda menggunakan nama yang sama ini saat mengonfigurasi pengujian beban di langkah selanjutnya.Anda dapat membuat variabel yang ditentukan pengguna dengan menggunakan Apache JMeter IDE, seperti yang ditunjukkan pada gambar berikut:
Atau, Anda dapat langsung mengedit file JMX, seperti yang ditunjukkan dalam contoh cuplikan kode ini:
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> <collectionProp name="Arguments.arguments"> <elementProp name="appToken" elementType="Argument"> <stringProp name="Argument.name">udv_appToken</stringProp> <stringProp name="Argument.value">${__GetSecret(appToken)}</stringProp> <stringProp name="Argument.desc">Value for x-secret header </stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> </collectionProp> </Arguments>Referensikan variabel yang ditentukan pengguna dalam skrip pengujian.
Anda dapat menggunakan sintaks
${}untuk mereferensikan variabel dalam skrip. Dalam contoh berikut, Anda menggunakan variabeludv_appTokenuntuk mengatur header HTTP.<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true"> <collectionProp name="HeaderManager.headers"> <elementProp name="" elementType="Header"> <stringProp name="Header.name">api-key</stringProp> <stringProp name="Header.value">${udv_appToken}</stringProp> </elementProp> </collectionProp> </HeaderManager>
Mengonfigurasi pengujian beban dengan variabel lingkungan
Di bagian ini, Anda menggunakan variabel lingkungan untuk meneruskan parameter ke pengujian beban Anda.
Perbarui skrip Apache JMeter untuk menggunakan variabel lingkungan (misalnya, untuk mengonfigurasi nama host titik akhir aplikasi).
Konfigurasikan pengujian beban dan teruskan variabel lingkungan ke skrip pengujian.
Menggunakan variabel lingkungan di Apache JMeter
Di bagian ini, Anda memperbarui skrip Apache JMeter untuk menggunakan variabel lingkungan untuk mengontrol perilaku skrip.
Anda terlebih dahulu menentukan variabel yang ditentukan pengguna yang membaca variabel lingkungan, lalu Anda dapat menggunakan variabel ini dalam eksekusi pengujian (misalnya, untuk memperbarui domain HTTP).
Buat variabel yang ditentukan pengguna dalam file JMX Anda, dan tetapkan nilai variabel lingkungan ke dalamnya dengan menggunakan fungsi
System.getenv.Fungsi
System.getenv("<my-variable-name>")mengambil nama variabel lingkungan sebagai argumen. Anda menggunakan nama yang sama ini saat mengonfigurasi pengujian beban.Anda dapat membuat variabel yang ditentukan pengguna dengan menggunakan Apache JMeter IDE, seperti yang ditunjukkan pada gambar berikut:
Atau, Anda dapat langsung mengedit file JMX, seperti yang ditunjukkan dalam contoh cuplikan kode ini:
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> <collectionProp name="Arguments.arguments"> <elementProp name="appToken" elementType="Argument"> <stringProp name="Argument.name">udv_webapp</stringProp> <stringProp name="Argument.value">${__BeanShell( System.getenv("webapp") )}</stringProp> <stringProp name="Argument.desc">Web app URL</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> </collectionProp> </Arguments>Referensikan variabel yang ditentukan pengguna dalam skrip pengujian.
Anda dapat menggunakan sintaks
${}untuk mereferensikan variabel dalam skrip. Dalam contoh berikut, Anda menggunakan variabeludv_webappuntuk mengonfigurasi URL titik akhir aplikasi.<stringProp name="HTTPSampler.domain">${udv_webapp}</stringProp>
Mengonfigurasi variabel lingkungan di Azure Load Testing
Untuk meneruskan variabel lingkungan ke skrip pengujian, Anda dapat mengonfigurasi pengujian beban di portal Microsoft Azure, dalam file konfigurasi pengujian YAML, atau langsung di alur kerja CI/CD.
Penting
Saat Anda menentukan variabel lingkungan untuk pengujian beban, namanya harus cocok dengan nama variabel yang Anda gunakan dalam skrip pengujian.
Untuk menentukan variabel lingkungan ke pengujian beban dengan menggunakan portal Azure, lakukan hal berikut:
Pada halaman konfigurasi pengujian, pilih tab Parameter .
Di bagian Variabel Lingkungan, masukkan nama dan nilai variabel lingkungan, lalu pilih Terapkan.
Jika Anda menjalankan pengujian beban dalam alur kerja CI/CD, Anda dapat menentukan variabel lingkungan dalam file konfigurasi pengujian YAML. Untuk informasi lebih lanjut tentang sintaks, lihat referensi YAML konfigurasi pengujian.
Atau, Anda dapat langsung menentukan variabel lingkungan dalam definisi alur kerja CI/CD. Anda menggunakan parameter input untuk tindakan Azure Load Testing atau tugas Azure Pipelines untuk meneruskan variabel lingkungan ke skrip pengujian.
Cuplikan YAML berikut menunjukkan contoh GitHub Actions:
- name: 'Azure Load Testing'
uses: azure/load-testing
with:
loadtestConfigFile: 'SampleApp.yaml'
loadtestResource: 'MyTest'
resourceGroup: 'loadtests-rg'
env: |
[
{
"name": "webapp",
"value": "myapplication.contoso.com"
}
]
Cuplikan YAML berikut menunjukkan contoh Azure Pipelines:
- task: AzureLoadTest@1
inputs:
azureSubscription: 'MyAzureLoadTestingRG'
loadTestConfigFile: 'SampleApp.yaml'
loadTestResource: 'MyTest'
resourceGroup: 'loadtests-rg'
env: |
[
{
"name": "webapp",
"value": "myapplication.contoso.com"
}
]
FAQ
Apakah layanan Azure Load Testing menyimpan nilai rahasia saya?
Tidak. Layanan Azure Load Testing tidak menyimpan nilai rahasia. Saat Anda menggunakan URI rahasia brankas kunci, layanan hanya menyimpan URI rahasianya, dan mengambil nilai rahasia setiap kali pengujian dilakukan. Jika Anda memberikan nilai rahasia dalam alur kerja CI/CD, nilai rahasia tidak tersedia setelah eksekusi pengujian. Anda menyediakan nilai-nilai ini untuk setiap eksekusi pengujian.
Apa yang terjadi jika saya memiliki parameter dalam file konfigurasi YAML dan alur kerja CI/CD saya?
Jika parameter ada di file konfigurasi YAML dan tindakan Pengujian Beban Azure atau tugas Azure Pipelines, nilai dari alur kerja CI/CD digunakan untuk eksekusi pengujian.
Saya membuat dan menjalankan pengujian dari alur kerja CI/CD saya dengan meneruskan parameter menggunakan tugas atau tindakan Azure Load Testing. Dapatkah saya menjalankan pengujian ini dari portal Azure dengan parameter yang sama?
Nilai parameter tidak disimpan saat diteruskan dari alur kerja CI/CD. Anda harus memberikan nilai parameter lagi saat menjalankan pengujian dari portal Azure. Anda mendapatkan perintah untuk memasukkan nilai yang hilang. Untuk nilai rahasia, Anda memasukkan URI rahasia penyimpanan kunci. Nilai yang Anda masukkan di halaman uji coba atau jalankan ulang hanya valid untuk uji coba tersebut. Untuk membuat perubahan di tingkat pengujian, buka Mengonfigurasi Uji dan masukkan nilai parameter Anda.
Konten terkait
- Gunakan rahasia untuk menguji beban pada titik akhir yang terjamin keamanannya.
- Untuk informasi selengkapnya tentang membaca file CSV, lihat Membaca file CSV dalam pengujian beban.