Jika Anda dapat memprediksi jam sibuk dan sepi dalam bisnis, Anda dapat menggunakan Penjadwalan Penskalaan untuk secara otomatis menyesuaikan jumlah instans berdasarkan jadwal yang telah ditentukan. Ini melakukan penskalaan keluar sebelum puncak lalu lintas untuk memastikan performa layanan dan penskalaan masuk selama periode sepi untuk menghemat biaya. Topik ini menjelaskan cara mengonfigurasi fitur ini dan bagaimana cara kerjanya dengan Penskalaan Horizontal Otomatis.
Metode 1: Konfigurasikan penjadwalan penskalaan di konsol
Aktifkan penjadwalan penskalaan otomatis
Masuk ke Konsol PAI. Pilih Wilayah di bagian atas halaman. Kemudian, pilih ruang kerja yang diinginkan dan klik Elastic Algorithm Service (EAS).
Dalam daftar layanan, klik layanan target untuk membuka halaman Overview-nya.
Di tab Auto Scaling, pada bagian Scheduled Scaling, klik Enable Scheduled Scaling.
Di kotak dialog Scheduled Auto Scaling Settings, konfigurasikan parameter berikut. Anda juga bisa mengklik Add untuk mengonfigurasi beberapa tugas. Setelah selesai, klik OK.
Parameter
Deskripsi
Task Name
Nama dari tugas penjadwalan penskalaan.
Expected Instances
Jumlah instans yang diharapkan.
Scaling Schedule
Waktu untuk mengeksekusi tugas. Anda dapat menetapkan waktu dengan salah satu cara berikut:
Week: Jadwal mingguan berulang.
Day: Jadwal harian berulang.
Cron Expression: Tetapkan jadwal menggunakan ekspresi cron.
Perbarui konfigurasi penjadwalan penskalaan
Di tab Auto Scaling, pada bagian Scheduled Scaling, klik Manage CronHPA.
Di kotak dialog CronHPA Settings, modifikasi konfigurasi untuk Task Name, Expected Instances, atau Jadwal Penskalaan.
Klik Update.
Nonaktifkan penjadwalan penskalaan otomatis
Di tab Auto Scaling, pada bagian Scheduled Scaling, klik Disable Scheduled Scaling.
Di kotak dialog Confirm Disable, klik OK.
Metode 2: Konfigurasikan menggunakan klien lokal
Aktifkan atau perbarui penjadwalan penskalaan otomatis
Setelah Anda membuat layanan, Penjadwalan Penskalaan dinonaktifkan secara default. Anda dapat masuk ke klien eascmd dan menggunakan subperintah cronscale untuk mengaktifkan atau memperbarui fitur tersebut. Untuk informasi lebih lanjut tentang cara masuk ke klien lokal eascmd, lihat Unduh dan Autentikasi Klien.
Format perintah (Versi Windows 64-bit digunakan sebagai contoh)
eascmdwin64.exe cronscale [region]/[service_name] -s cronscale.jsonSebelum menjalankan perintah, konfigurasikan file cronscale.json sesuai dengan deskripsi parameter. Kode berikut adalah contoh konfigurasi cronscale.json.
{
"ExcludeDates": ["* * * * * 6,0"],
"ScaleJobs": [
{
"Schedule": "0 15,45 * * * *",
"TargetSize": 6
},
{
"Schedule": "0 0,30 * * * *",
"TargetSize": 1
},
{
"Schedule": "0 7,22,37,52 * * * *",
"TargetSize": 3
}
]
}Nama Parameter | Deskripsi | Contoh |
ExcludeDates | Waktu untuk mengecualikan dari jadwal, ditentukan sebagai Ekspresi Cron. Untuk informasi lebih lanjut, lihat Lampiran: Ekspresi Cron. Catatan Jika ekspresi Cron di | ["* * * * * 0,6"] Tugas penjadwalan penskalaan tidak dieksekusi pada hari Sabtu atau Minggu. |
ScaleJobs | Tugas penjadwalan penskalaan yang akan dieksekusi. Tugas-tugas tersebut mencakup parameter Schedule, TargetSize, dan Name:
| [ { "Schedule": "0 0 18 * * *", "TargetSize": 10, "Name": "scale-up" }, { "Schedule": "0 0 22 * * *", "TargetSize": 3, "Name": "scale-down" }] Layanan diperluas menjadi 10 instans pada pukul 18:00 setiap hari dan dikurangi menjadi 3 instans pada pukul 22:00 setiap hari. |
Lihat konfigurasi penjadwalan penskalaan otomatis
Format perintah (Versi Windows 64-bit digunakan sebagai contoh)
eascmdwin64.exe cronscale show [region]/[service_name]
[RequestId]: F4C38D2D-4B38-5CB7-B706-9A1C41D4617E
+--------------+----------------------------+---------+------------+----------------------+
| NAME | SCHEDULE | STATE | TARGETSIZE | LASTPROBETIME |
+--------------+----------------------------+---------+------------+----------------------+
| scale-jobs-1 | 0 5,15,25,35,45,55 * * * * | Berhasil | 1 | 2022-03-03T13:45:00Z |
| scale-jobs-0 | 0 0,10,20,30,40,50 * * * * | Berhasil | 4 | 2022-03-03T13:50:00Z |
+--------------+----------------------------+---------+------------+----------------------+Nonaktifkan penjadwalan penskalaan otomatis
Format perintah (Versi Windows 64-bit digunakan sebagai contoh)
eascmdwin64.exe cronscale rm [region]/[service_name]Kompatibilitas antara penjadwalan dan penskalaan horizontal otomatis
Penjadwalan Penskalaan (Cronscaler) dapat diaktifkan bersamaan dengan Penskalaan Horizontal Otomatis (Autoscaler). Ketika keduanya diaktifkan, Cronscaler memodifikasi nilai min atau max dari Autoscaler.
Meskipun Cronscaler secara permanen memodifikasi konfigurasi Autoscaler, konfigurasi Autoscaler asli tetap berlaku hingga acara penjadwalan penskalaan berikutnya. Setiap kali layanan diperbarui atau ditingkatkan, konfigurasi Autoscaler kembali ke pengaturan aslinya.
Ketika Cronscaler dan Autoscaler diaktifkan secara bersamaan, nilai min dan max ditentukan oleh aturan dalam tabel berikut.
Penskalaan horizontal min/maks | Penjadwalan penskalaan otomatis | Jumlah instans saat ini | Hasil akhir | Deskripsi |
1/10 | 5 | 5 |
| Jika target sesuai dengan jumlah instans saat ini, tidak ada perubahan yang terjadi. |
1/10 | 4 | 5 |
| Jika target lebih rendah dari jumlah instans saat ini, jumlah tersebut dipertahankan. |
1/10 | 6 | 5 |
|
|
5/10 | 4 | 5 |
|
|
5/10 | 11 | 5 |
|
|
Lampiran: Ekspresi Cron
Penjadwalan Penskalaan menggunakan Ekspresi Cron untuk mendefinisikan jadwalnya.
Ekspresi Cron
Karakter Spesial
Asterisk (*)
Asterisk (*) mewakili nilai apa pun. Sebagai contoh,
0 0 0 1 * *mewakili pukul 00:00 pada hari pertama setiap bulan.Tanda Hubung (-)
Tanda hubung (-) mewakili rentang nilai kontinu. Sebagai contoh,
0 0 12-14 * * *mewakili pukul 12:00, 13:00, dan 14:00 setiap hari.Koma (,)
Koma (,) mewakili beberapa nilai diskrit. Sebagai contoh,
0 0 12,14 * * *mewakili pukul 12:00 dan 14:00 setiap hari.Garis miring (/)
Garing (/) mewakili interval bertambah. Sebagai contoh,
0 */15 * * * *memicu event pada menit ke-0, 15, 30, dan 45 setiap jam. Anda dapat menggunakan garing (/) dengan tanda hubung (-). Sebagai contoh,0 5-40/15 * * * *memicu event setiap 15 menit, mulai dari menit ke-5 hingga menit ke-40 setiap jam. Waktu valid adalah menit ke-5, 20, dan 35.
Deskripsi Parameter Waktu
Nama
Nilai tersedia
Karakter spesial tersedia
Kedua,
0-59
* / , -
Menit
0-59
* / , -
Jam
0-23
* / , -
Hari
1-31
* / , -
Bulan
1-12 atau JAN-DES
* / , -
Minggu
0-6 atau MIN-SAB
* / , -
FAQ
Bagaimana cara menggunakan Penjadwalan Penskalaan untuk secara otomatis memulai dan menghentikan layanan?
Ya, Anda bisa melakukannya. Anda dapat secara efektif "memulai" dan "menghentikan" layanan dengan menaikkan jumlah instansnya dari nol dan kembali ke nol.
Untuk melakukannya, konfigurasikan dua tugas penjadwalan terpisah:
Skalabilitas Vertikal (Mulai): Buat tugas untuk menskalakan
Instans Targetmenjadi1pada waktu mulai yang diinginkan (misalnya, pukul 08:00).Skala Turun (Berhenti): Buat tugas kedua untuk menskalakan
Instans Targetmenjadi0pada waktu berhenti yang diinginkan (misalnya, pukul 20:00).
Ini memastikan layanan hanya berjalan dan menimbulkan biaya selama jam aktifnya.


Referensi
Untuk secara otomatis menskalakan instans berdasarkan metrik yang ditentukan, aktifkan Penskalaan Horizontal Otomatis. Untuk informasi lebih lanjut, lihat Penskalaan Horizontal Otomatis.
Untuk memastikan bahwa penskalaan layanan Anda tidak dibatasi oleh sumber daya mesin di kelompok sumber daya khusus Anda, Anda dapat menggunakan kolam sumber daya elastis EAS. Untuk informasi lebih lanjut, lihat Kolam Sumber Daya Elastis.