Bagikan melalui


Tutorial: Menskalakan Set Skala Komputer Virtual secara otomatis dengan Azure CLI

Saat membuat set skala, Anda menentukan jumlah instans VM yang ingin Anda jalankan. Saat permintaan aplikasi Berubah, Anda dapat secara otomatis meningkatkan atau mengurangi jumlah instans VM. Kemampuan untuk skala otomatis memungkinkan Anda mengikuti permintaan pelanggan atau menanggapi perubahan performa aplikasi sepanjang siklus hidup aplikasi Anda. Dalam tutorial ini, Anda akan mempelajari cara:

  • Menggunakan skala otomatis dengan set skala
  • Membuat dan menggunakan aturan skala otomatis
  • Mensimulasikan beban CPU untuk memicu aturan skala otomatis
  • Memantau penskalaan otomatis saat permintaan berubah

Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.

Prasyarat

  • Tutorial ini memerlukan versi antarmuka tingkat panggilan Azure 2.0.32 atau yang lebih baru. Jika menggunakan Azure Cloud Shell, versi terbaru sudah terpasang.

Membuat himpunan skala

Buat grup sumber daya dengan menggunakan perintah az group create.

export RANDOM_SUFFIX=$(openssl rand -hex 3)
export REGION="WestUS2"
export MY_RESOURCE_GROUP_NAME="myResourceGroup$RANDOM_SUFFIX"
az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION

Sekarang buat Virtual Machine Scale Set dengan az vmss create. Contoh berikut membuat set skala dengan jumlah instans 2, menghasilkan kunci SSH jika tidak ada, dan menggunakan gambar Ubuntu2204 yang valid.

export MY_SCALE_SET_NAME="myScaleSet$RANDOM_SUFFIX"
az vmss create \
  --resource-group $MY_RESOURCE_GROUP_NAME \
  --name $MY_SCALE_SET_NAME \
  --image Ubuntu2204 \
  --orchestration-mode Flexible \
  --instance-count 2 \
  --admin-username azureuser \
  --generate-ssh-keys

Menentukan profil skala otomatis

Untuk mengaktifkan skala otomatis pada set skala, tentukan profil skala otomatis terlebih dahulu. Profil ini menentukan kapasitas set skala default, minimum, dan maksimum. Batas ini memungkinkan Anda mengontrol biaya dengan tidak terus-menerus membuat instans VM, dan menyeimbangkan kinerja yang dapat diterima dengan jumlah instans minimum yang tetap berada dalam peristiwa penskalaan. Buat profil skala otomatis dengan buat skala otomatis pemantau az. Contoh berikut menetapkan kapasitas default dan minimum 2 instans VM, dan maksimum 10:

az monitor autoscale create \
  --resource-group $MY_RESOURCE_GROUP_NAME \
  --resource $MY_SCALE_SET_NAME \
  --resource-type Microsoft.Compute/virtualMachineScaleSets \
  --name autoscale \
  --min-count 2 \
  --max-count 10 \
  --count 2

Membuat aturan untuk skala otomatis

Jika permintaan aplikasi Anda meningkat, beban pada instans VM dalam grup skala Anda meningkat. Jika peningkatan beban ini konsisten, bukan hanya permintaan singkat, Anda dapat mengonfigurasi aturan skala otomatis untuk meningkatkan jumlah instans VM. Ketika instans ini dibuat dan aplikasi Anda disebarkan, skala set mulai mendistribusikan lalu lintas jaringan ke instans tersebut melalui load balancer. Anda mengontrol metrik mana yang akan dipantau, berapa lama beban harus memenuhi ambang tertentu, dan berapa banyak instans VM yang akan ditambahkan.

Buat aturan dengan buat aturan skala otomatis monitor az yang meningkatkan jumlah instans VM ketika beban CPU rata-rata lebih besar dari 70% selama periode 5 menit. Ketika aturan memicu, jumlah instans komputer virtual ditingkatkan tiga tingkat.

az monitor autoscale rule create \
  --resource-group $MY_RESOURCE_GROUP_NAME \
  --autoscale-name autoscale \
  --condition "Percentage CPU > 70 avg 5m" \
  --scale out 3

Membuat aturan untuk perluasan skala otomatis

Ketika permintaan aplikasi menurun, beban pada instans VM turun. Jika penurunan beban ini bertahan selama periode waktu tertentu, Anda dapat mengonfigurasi aturan skala otomatis untuk mengurangi jumlah instans VM dalam set skala. Tindakan pengurangan skala ini membantu mengurangi biaya dengan hanya menjalankan jumlah instance yang diperlukan untuk memenuhi permintaan saat ini.

Buat aturan lain dengan az monitor autoscale rule create yang mengurangi jumlah instans VM saat beban CPU rata-rata turun di bawah 30% selama periode lima menit. Contoh berikut menskalakan jumlah instans VM satu per satu.

az monitor autoscale rule create \
  --resource-group $MY_RESOURCE_GROUP_NAME \
  --autoscale-name autoscale \
  --condition "Percentage CPU < 30 avg 5m" \
  --scale in 1

Mensimulasikan beban CPU pada kelompok skala

Untuk menguji aturan skala otomatis, Anda perlu mensimulasikan beban CPU berkelanjutan pada instans VM dalam set skala. Dalam pendekatan minimalis ini, kami menghindari penginstalan paket tambahan dengan menggunakan perintah bawaan yes untuk menghasilkan beban CPU. Perintah berikut memulai 3 proses latar belakang yang terus mengeluarkan data selama /dev/null 60 detik lalu mengakhirinya.

for i in {1..3}; do
  yes > /dev/null &
done
sleep 60
pkill yes

Perintah ini mensimulasikan beban CPU tanpa memperkenalkan kesalahan penginstalan paket.

Memantau aturan skala otomatis aktif

Untuk memantau jumlah instans VM dalam set skala Anda, gunakan watch perintah . Mungkin perlu waktu hingga 5 menit agar aturan skala otomatis memulai proses peluasan skala sebagai respons terhadap beban CPU. Namun, setelah itu terjadi, Anda dapat keluar dari jam tangan dengan tombol CTRL + C .

Pada saat itu, pengaturan skala akan secara otomatis menambah jumlah instans VM agar sesuai dengan permintaan. Perintah berikut menunjukkan daftar instans VM dalam set skala:

az vmss list-instances \
  --resource-group $MY_RESOURCE_GROUP_NAME \
  --name $MY_SCALE_SET_NAME \
  --output table

Setelah ambang CPU terpenuhi, aturan skala otomatis meningkatkan jumlah instans VM dalam set skala. Output akan menampilkan daftar instans VM saat instans baru dibuat.

  InstanceId  LatestModelApplied    Location    Name              ProvisioningState    ResourceGroup         VmId
------------  --------------------  ----------  ---------------   -------------------  --------------------  ------------------------------------
           1  True                  WestUS2     myScaleSet_1      Succeeded            myResourceGroupxxxxx  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
           2  True                  WestUS2     myScaleSet_2      Succeeded            myResourceGroupxxxxx  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
           4  True                  WestUS2     myScaleSet_4      Creating             myResourceGroupxxxxx  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
           5  True                  WestUS2     myScaleSet_5      Creating             myResourceGroupxxxxx  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
           6  True                  WestUS2     myScaleSet_6      Creating             myResourceGroupxxxxx  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Setelah beban CPU mereda, beban CPU rata-rata kembali normal. Setelah 5 menit, aturan skala otomatis kemudian mengurangi skala jumlah instans komputer virtual. Tindakan pengurangan skala menghapus instans VM dengan ID tertinggi terlebih dahulu. Saat Set Skala menggunakan Set Ketersediaan atau Zona Ketersediaan, tindakan pengurangan skala didistribusikan secara merata di seluruh instans mesin virtual (VM). Contoh output berikut menunjukkan satu instans VM yang dihapus saat set skala melakukan penyesuaian otomatis:

6  True                  WestUS2     myScaleSet_6  Deleting             myResourceGroupxxxxx  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Membersihkan sumber daya

Untuk menghapus set skala dan sumber daya terkait, hapus grup sumber daya secara manual menggunakan metode pilihan Anda.

Langkah selanjutnya

Dalam tutorial ini, Anda mempelajari cara mengurangi atau memperluas set skala secara otomatis dengan antarmuka tingkat panggilan Azure:

  • Menggunakan skala otomatis dengan set skala
  • Membuat dan menggunakan aturan skala otomatis
  • Mensimulasikan beban CPU untuk memicu aturan skala otomatis
  • Memantau penskalaan otomatis saat permintaan berubah