Tugas terjadwal memicu aturan penskalaan pada waktu tertentu untuk secara otomatis menyesuaikan jumlah instans dalam grup penskalaan. Gunakan tugas terjadwal guna menyelaraskan kapasitas komputasi dengan pola lalu lintas yang dapat diprediksi—melakukan scale out sebelum periode puncak dan scale in selama jam non-operasional demi meminimalkan biaya.
Contohnya:
Lakukan scale out 30 menit sebelum pekerjaan batch harian dimulai pukul 09.00.
Lakukan scale in selama akhir pekan ketika lalu lintas pengguna turun.
Jalankan penyesuaian kapasitas satu kali pada hari peluncuran produk.
Kapan menggunakan tugas satu kali vs. berulang
| Jenis Tugas | Kapan Digunakan | Pengaturan Pengulangan |
|---|---|---|
| One-time | Penyesuaian kapasitas untuk event tertentu (launch produk, maintenance terencana) | Not Set |
| Recurring | Pola traffic harian, mingguan, atau bulanan yang dapat diprediksi | By Day, By Week, By Month, atau Cron Expression |
Setelah Anda membuat tugas terjadwal, Anda tidak dapat mengubah pengaturan Recurrence kembali ke Not Set.
Parameter konfigurasi
| Parameter | Deskripsi |
|---|---|
| Executed At | Tanggal dan waktu saat tugas dijalankan. Tanpa pengaturan Recurrence, tugas hanya dijalankan sekali pada waktu ini. Dengan pengaturan Recurrence, tugas dijalankan pada waktu ini lalu diulang sesuai siklus yang ditentukan. Jangan atur waktu lebih dari 90 hari sejak pembuatan atau modifikasi terakhir tugas—tugas tersebut tidak akan berlaku. |
| Scaling group | Grup penskalaan tempat tugas diterapkan. Pilih grup penskalaan yang sudah ada. |
| Scaling method | Cara tugas menyesuaikan kapasitas. Lihat Opsi metode penskalaan. |
| Simple scaling rule | Tersedia ketika Scaling method diatur ke Select existing scaling rule. Pilih aturan penskalaan sederhana yang sudah ada. Tugas terjadwal hanya mendukung aturan penskalaan sederhana. |
| Retry interval (seconds) | Interval Auto Scaling mencoba ulang tugas jika eksekusi gagal. Ini mencegah kegagalan tunggal menghalangi tugas secara permanen. Jika beberapa tugas dijadwalkan dalam menit yang sama, Auto Scaling menjalankan tugas yang paling baru dibuat. |
| Recurrence | Siklus pengulangan tugas. Opsi: Not Set, By Day, By Week, By Month, Cron Expression. |
Opsi metode penskalaan
Select existing scaling rule — Pilih aturan penskalaan sederhana yang sudah ada. Tugas akan mengeksekusi aturan tersebut pada waktu yang dijadwalkan.
Configure number of instances in scaling group — Atur langsung jumlah maksimum, minimum, atau jumlah instans yang diharapkan. Nilai-nilai ini akan menggantikan angka yang telah ditentukan pada grup penskalaan dan hanya berlaku pada waktu yang dijadwalkan.
Batasan saat menggunakan opsi ini:
Jika grup penskalaan dibuat tanpa nilai Expected number of instances: atur hanya Maximum instances dan Minimum instances.
Jika grup penskalaan dibuat dengan nilai Expected number of instances: atur bersama-sama Maximum instances, Minimum instances, dan Expected instances. Jika salah satu dari ketiga nilai tersebut tidak diisi, Auto Scaling akan menolak permintaan penskalaan.
Ekspresi cron
Saat opsi By Day, By Week, dan By Month tidak sesuai dengan jadwal Anda, gunakan ekspresi cron untuk kontrol penuh.
Ekspresi cron adalah string lima field dalam format X X X X X, di mana setiap field mewakili menit, jam, tanggal dalam bulan, bulan, dan hari dalam minggu, secara berurutan.
Semua ekspresi cron menggunakan UTC+0. Konversikan waktu lokal Anda sebelum menetapkan ekspresi. Misalnya, untuk menjalankan tugas pukul 20.00 CST (UTC+8), kurangi 8 jam dan atur ekspresinya menjadi 0 12 * * ?.
Batasan tambahan:
Tugas terjadwal dengan ekspresi cron dijalankan paling sering sekali setiap lima menit.
Waktu eksekusi pertama harus jatuh sebelum masa berlaku siklus Recurrence berakhir. Jika tidak, Auto Scaling akan melaporkan error.
Referensi field
| Field | Wajib | Rentang nilai | Karakter khusus yang didukung |
|---|---|---|---|
| Minute | Ya | 0–59 | , - / * |
| Hour | Ya | 0–23 | , - / * |
| Day | Ya | 1–31 | , - / * ? L W |
| Month | Ya | 1–12 | , - / * |
| Week | Ya | 1–7 (Minggu = 7) | , - * ? / L # |
Karakter khusus
| Karakter | Makna | Contoh |
|---|---|---|
* | Semua nilai valid dalam field tersebut | * di Month: setiap bulan. * di Week: setiap hari dalam minggu. |
, | Daftar nilai spesifik | 5,20 di Minute: dijalankan pada menit ke-5 dan ke-20. |
- | Rentang inklusif | 5-20 di Minute: dijalankan setiap menit dari 5 hingga 20. |
/ | Langkah increment, dimulai dari nilai kiri | 0/15 pada Menit: dijalankan pada menit 0, 15, 30, dan 45. 3/20 pada Menit: dijalankan pada menit 3, 23, dan 43. |
? | Tidak ditentukan (hanya untuk field Day dan Week). Gunakan ? pada salah satu field Day atau Week yang tidak Anda batasi—mengosongkan keduanya akan menyebabkan konflik. | 15 10 15 * ?: dijalankan pukul 10.15 pada tanggal 15 setiap bulan, terlepas dari hari dalam minggu. |
L | Hari terakhir dalam periode (hanya untuk field Day dan Week). Jangan gabungkan L dengan daftar atau rentang. | L di Day: hari terakhir dalam bulan. 6L di Week: Sabtu terakhir dalam bulan. |
W | Hari kerja terdekat dengan tanggal yang ditentukan dalam bulan yang sama. LW berarti hari kerja terakhir dalam bulan. | 5W di Day: jika tanggal 5 adalah Sabtu, dijalankan Jumat tanggal 4; jika Minggu, dijalankan Senin tanggal 6; jika hari kerja, dijalankan tanggal 5. |
# | Kejadian spesifik hari kerja dalam bulan (hanya untuk field Week). Nilai posisi yang valid: 1–5. | 4#2 di Week: Kamis kedua dalam bulan. |
Contoh ekspresi cron (UTC+0)
| Ekspresi | Jadwal |
|---|---|
15 10 ? * * | 10.15 setiap hari |
15 9 * * * | 09.15 setiap hari |
0 12 * * ? | 12.00 setiap hari |
0 10,14,16 * * ? | 10.00, 14.00, dan 16.00 setiap hari |
15 10 15 * ? | 10.15 pada tanggal 15 setiap bulan |
15 10 L * ? | 10.15 pada hari terakhir setiap bulan |
15 10 ? * 6L | 10.15 pada Sabtu terakhir setiap bulan |
15 10 ? * 6#3 | 10.15 pada Sabtu ketiga setiap bulan |
Tabel 4. Contoh nilai
Tabel berikut memberikan contoh ekspresi cron dan maknanya dalam zona waktu UTC+0. Saat menetapkan ekspresi cron, Anda harus mengonversi waktu lokal Anda ke UTC+0.
Contoh | Deskripsi |
| Menjalankan tugas pukul 10.15 setiap hari. |
| Menjalankan tugas pukul 9.15 setiap hari. |
| Menjalankan tugas pukul 12.00 setiap hari. |
| Menjalankan tugas pukul 10.00, 14.00, dan 16.00 setiap hari. |
| Menjalankan tugas pukul 10.15 pada tanggal 15 setiap bulan. |
| Menjalankan tugas pukul 10.15 pada hari terakhir setiap bulan. |
| Menjalankan tugas pukul 10.15 pada Sabtu terakhir setiap bulan. |
| Menjalankan tugas pukul 10.15 pada Sabtu ketiga setiap bulan. |
Manage scheduled tasks
| Operation | User guide | API |
|---|---|---|
| Create | Create scheduled tasks | CreateScheduledTask |
| Modify | — | ModifyScheduledTask |
| Enable | — | — |
| Disable | — | — |
| Delete | — | DeleteScheduledTask |
| Query details | — | DescribeScheduledTasks |
What's next
Scaling group overview — Pelajari tentang grup penskalaan, yang menjadi target tugas terjadwal.
Scaling rules overview — Pelajari tentang aturan penskalaan, termasuk aturan penskalaan sederhana yang didukung oleh tugas terjadwal.
Manage scaling rules — Buat dan kelola aturan penskalaan yang dapat dirujuk oleh tugas terjadwal.