Menjadwalkan penskalaan otomatis untuk Application Gateway v2

Gambaran Umum

Bagi mereka yang mengalami pola lalu lintas harian yang dapat diprediksi dan yang memiliki perkiraan yang andal dari kapasitas yang diperlukan untuk Application Gateway, opsi untuk menjadwalkan kapasitas minimum agar lebih selaras dengan tuntutan lalu lintas mungkin menarik.

Meskipun autoscaling umumnya digunakan, penting untuk dicatat bahwa Application Gateway saat ini tidak mendukung penyesuaian kapasitas yang telah dijadwalkan sebelumnya secara asli.

Tujuannya adalah untuk menggunakan Azure Automation untuk membuat jadwal untuk menjalankan runbook yang menyesuaikan kapasitas penskalaan otomatis minimum Application Gateway untuk memenuhi tuntutan lalu lintas selama jam sibuk vs non puncak.

Menyiapkan penskalakan otomatis terjadwal

Untuk menerapkan penskalakan otomatis terjadwal:

  1. Buat sumber daya akun Azure Automation di penyewa yang sama dengan Application Gateway.
  2. Perhatikan identitas terkelola yang ditetapkan sistem dari akun Azure Automation.
  3. Buat runbook PowerShell untuk meningkatkan dan mengurangi kapasitas penskalaan otomatis min untuk sumber daya Application Gateway.
  4. Buat jadwal di mana runbook perlu diimplementasikan.
  5. Kaitkan runbook dengan jadwal masing-masing.
  6. Kaitkan identitas terkelola yang ditetapkan sistem yang dicatat di langkah 2 dengan sumber daya Application Gateway dan Application Gateway VNET.

Mengonfigurasi otomatisasi

Misalkan persyaratannya adalah meningkatkan jumlah min menjadi 4 selama jam kerja dan untuk mengurangi jumlah min menjadi 2 selama jam kerja.

Dua runbook dibuat:

  • IncreaseMin - Mengatur jumlah min konfigurasi penskalaan otomatis ke 4
  • DecreaseMin - Mengatur jumlah min konfigurasi penskalaan otomatis ke 2

Gunakan runbook PowerShell berikut untuk menyesuaikan kapasitas:

# Get the context of the managed identity 
$context = (Connect-AzAccount -Identity).Context 
# Import the Az module 
Import-Module Az 
# Adjust the min count of your Application Gateway 
$gw = Get-AzApplicationGateway -Name “<AppGwName>” -ResourceGroupName “<ResourceGroupName>”
$gw = Set-AzApplicationGatewayAutoscaleConfiguration -ApplicationGateway $gw -MinCapacity <NumberOfRequiredInstances>
$gw = Set-AzApplicationGateway -ApplicationGateway $gw 

Selanjutnya, buat dua jadwal berikut:

  • WeekdayMorning – Jalankan runbook IncreaseMin dari Mon-Fri pada 05:00 PST
  • WeekdayEvening – Jalankan runbook DecreaseMin dari Mon-Fri pukul 21:00 PST

Tanya Jawab Umum

  • Apa SLA untuk eksekusi pekerjaan tepat waktu?

    Azure Automation memiliki SLA 99,9% untuk awal pekerjaan yang tepat waktu.

  • Apa yang terjadi jika pekerjaan terganggu selama eksekusi?

    • Jika pekerjaan sudah mengirim permintaan ke AppGW sebelum terganggu, maka permintaan akan dilalui.
    • Jika pekerjaan terganggu sebelum mengirim permintaan ke Application Gateway, maka itu akan menjadi salah satu skenario yang dijelaskan di bagian berikutnya.
  • Apa yang terjadi jika tugas pekerjaan tidak terjadi?

    Pekerjaan yang tidak ada Dampak
    IncreaseMin Kembali ke autoscaling asli. Eksekusi Berikutnya dari DecreaseMin harus no-op karena jumlah tidak perlu disesuaikan.
    KurangiMin Biaya tambahan kepada pelanggan untuk kapasitas (tidak diinginkan) yang disediakan untuk jam tersebut. Eksekusi Berikutnya dari IncreaseMin harus no-op karena jumlah tidak perlu disesuaikan.
  • Dapatkah konfigurasi skala otomatis diubah beberapa kali per hari?

    Penyesuaian yang sering pada konfigurasi skala otomatis tidak disarankan. Untuk keseimbangan optimal, pertimbangkan untuk menjadwalkan pembaruan dua kali setiap hari bertepatan dengan pola penggunaan puncak dan non-puncak.

Catatan

Kirim email ke agschedule-autoscale@microsoft.com jika Anda memiliki pertanyaan atau memerlukan bantuan untuk menyiapkan skala otomatis terkelola dan terjadwal untuk penyebaran Anda.

Langkah berikutnya