View a markdown version of this page

Gunakan tindakan terjadwal untuk mengganti nilai perkiraan untuk Amazon ECS - Amazon Elastic Container Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan tindakan terjadwal untuk mengganti nilai perkiraan untuk Amazon ECS

Terkadang, Anda mungkin memiliki informasi tambahan tentang persyaratan aplikasi masa depan yang tidak dapat diperhitungkan oleh perhitungan perkiraan. Misalnya, perhitungan perkiraan mungkin meremehkan tugas yang diperlukan untuk acara pemasaran yang akan datang. Anda dapat menggunakan tindakan terjadwal untuk sementara mengganti perkiraan selama periode waktu mendatang. Tindakan terjadwal dapat berjalan secara berulang, atau pada tanggal dan waktu tertentu ketika ada fluktuasi permintaan satu kali.

Misalnya, Anda dapat membuat tindakan terjadwal dengan jumlah tugas yang lebih tinggi daripada yang diperkirakan. Saat runtime, Amazon ECS memperbarui jumlah tugas minimum dalam layanan Anda. Karena penskalaan prediktif mengoptimalkan jumlah tugas, tindakan terjadwal dengan jumlah tugas minimum yang lebih tinggi dari nilai perkiraan dihormati. Ini mencegah jumlah tugas menjadi kurang dari yang diharapkan. Untuk berhenti mengesampingkan perkiraan, gunakan tindakan terjadwal kedua untuk mengembalikan jumlah tugas minimum ke pengaturan semula.

Prosedur berikut menguraikan langkah-langkah untuk mengesampingkan perkiraan selama periode waktu mendatang.

penting

Topik ini mengasumsikan bahwa Anda mencoba mengganti perkiraan untuk menskalakan ke kapasitas yang lebih tinggi daripada yang diperkirakan. Jika Anda perlu mengurangi sementara jumlah tugas tanpa gangguan dari kebijakan penskalaan prediktif, gunakan mode perkiraan saja sebagai gantinya. Sementara dalam mode perkiraan saja, penskalaan prediktif akan terus menghasilkan perkiraan, tetapi tidak akan secara otomatis meningkatkan jumlah tugas. Anda kemudian dapat memantau pemanfaatan sumber daya dan secara manual mengurangi jumlah tugas sesuai kebutuhan.

Langkah 1: (Opsional) Menganalisis data deret waktu

Mulailah dengan menganalisis data deret waktu perkiraan. Ini adalah langkah opsional, tetapi sangat membantu jika Anda ingin memahami detail perkiraan.

  1. Ambil ramalan

    Setelah perkiraan dibuat, Anda dapat menanyakan periode waktu tertentu dalam perkiraan. Tujuan dari kueri ini adalah untuk mendapatkan tampilan lengkap dari data deret waktu untuk periode waktu tertentu.

    Kueri Anda dapat menyertakan hingga dua hari data perkiraan masa depan. Jika Anda telah menggunakan penskalaan prediktif untuk sementara waktu, Anda juga dapat mengakses data perkiraan sebelumnya. Namun, durasi waktu maksimum antara waktu mulai dan akhir adalah 30 hari.

    Untuk mendapatkan perkiraan menggunakan perintah get-predictive-scaling-Forecast, berikan parameter AWS CLI berikut dalam perintah:

    • Masukkan nama nama cluster dalam resource-id parameter.

    • Masukkan nama kebijakan dalam --policy-name parameter.

    • Masukkan waktu mulai dalam --start-time parameter untuk mengembalikan hanya data perkiraan setelah atau pada waktu yang ditentukan.

    • Masukkan waktu akhir dalam --end-time parameter untuk mengembalikan hanya data perkiraan sebelum waktu yang ditentukan.

    aws application-autoscaling get-predictive-scaling-forecast \ --service-namespace ecs \ --resource-id service/MyCluster/test \ --policy-name cpu40-predictive-scaling-policy \ --scalable-dimension ecs:service:DesiredCount \ --start-time "2021-05-19T17:00:00Z" \ --end-time "2021-05-19T23:00:00Z"

    Jika berhasil, perintah mengembalikan data yang mirip dengan contoh berikut.

    { "LoadForecast": [ { "Timestamps": [ "2021-05-19T17:00:00+00:00", "2021-05-19T18:00:00+00:00", "2021-05-19T19:00:00+00:00", "2021-05-19T20:00:00+00:00", "2021-05-19T21:00:00+00:00", "2021-05-19T22:00:00+00:00", "2021-05-19T23:00:00+00:00" ], "Values": [ 153.0655799339254, 128.8288551285919, 107.1179447150675, 197.3601844551528, 626.4039934516954, 596.9441277518481, 677.9675713779869 ], "MetricSpecification": { "TargetValue": 40.0, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ASGCPUUtilization" } } } ], "CapacityForecast": { "Timestamps": [ "2021-05-19T17:00:00+00:00", "2021-05-19T18:00:00+00:00", "2021-05-19T19:00:00+00:00", "2021-05-19T20:00:00+00:00", "2021-05-19T21:00:00+00:00", "2021-05-19T22:00:00+00:00", "2021-05-19T23:00:00+00:00" ], "Values": [ 2.0, 2.0, 2.0, 2.0, 4.0, 4.0, 4.0 ] }, "UpdateTime": "2021-05-19T01:52:50.118000+00:00" }

    Tanggapannya mencakup dua perkiraan: LoadForecast danCapacityForecast. LoadForecastmenunjukkan perkiraan beban per jam. CapacityForecastmenunjukkan nilai perkiraan untuk kapasitas yang diperlukan setiap jam untuk menangani beban yang diperkirakan sambil mempertahankan 40,0 (40% pemanfaatan CPU rata-rata). TargetValue

  2. Identifikasi periode waktu target

    Identifikasi jam atau jam ketika fluktuasi permintaan satu kali harus terjadi. Ingatlah bahwa tanggal dan waktu yang ditunjukkan dalam perkiraan adalah dalam UTC.

Langkah 2: Buat dua tindakan terjadwal

Selanjutnya, buat dua tindakan terjadwal untuk periode waktu tertentu ketika aplikasi Anda akan memiliki beban yang lebih tinggi dari perkiraan. Misalnya, jika Anda memiliki acara pemasaran yang akan mengarahkan lalu lintas ke situs Anda untuk jangka waktu terbatas, Anda dapat menjadwalkan tindakan satu kali untuk memperbarui kapasitas minimum saat dimulai. Kemudian, jadwalkan tindakan lain untuk mengembalikan kapasitas minimum ke pengaturan asli saat acara berakhir.

  1. Buka konsol di https://console.aws.amazon.com/ecs/v2.

  2. Pada halaman Cluster, pilih cluster.

  3. Pada halaman detail cluster, di bagian Layanan, lalu pilih layanan.

    Halaman detail layanan muncul.

  4. Pilih Layanan Penskalaan Otomatis.

    Halaman kebijakan akan muncul.

  5. Pilih Tindakan terjadwal, lalu pilih Buat.

    Halaman tindakan Buat Jadwal muncul.

  6. Untuk Nama tindakan, masukkan nama unik.

  7. Untuk Zona waktu, pilih zona waktu.

    Semua zona waktu yang tercantum berasal dari database Zona Waktu IANA. Untuk informasi selengkapnya, lihat Daftar zona waktu database tz.

  8. Untuk Waktu mulai, masukkan Tanggal dan Waktu tindakan dimulai.

  9. Untuk Perulangan, pilih Sekali.

  10. Di bawah Penyesuaian tugas, Untuk Minimum, masukkan nilai kurang dari atau sama dengan jumlah tugas maksimum..

  11. Pilih Buat tindakan terjadwal.

    Halaman kebijakan akan muncul.

  12. Konfigurasikan tindakan terjadwal kedua untuk mengembalikan jumlah tugas minimum ke pengaturan asli di akhir acara. Penskalaan prediktif dapat menskalakan jumlah tugas hanya jika nilai yang Anda tetapkan untuk Minimum lebih rendah dari nilai perkiraan.

Untuk membuat dua tindakan terjadwal untuk acara satu kali (AWS CLI)

Untuk menggunakan AWS CLI untuk membuat tindakan terjadwal, gunakan perintah put-scheduled-update-group-action.

Sebagai contoh, mari kita tentukan jadwal yang mempertahankan kapasitas minimum tiga instans pada 19 Mei pukul 17:00 selama delapan jam. Perintah berikut menunjukkan cara menerapkan skenario ini.

Perintah put-scheduled-update-group-action pertama menginstruksikan Amazon EC2 Auto Scaling untuk memperbarui kapasitas minimum grup Penskalaan Otomatis yang ditentukan pada pukul 17:00 UTC pada 19 Mei 2021.

aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-event-start \ --auto-scaling-group-name my-asg --start-time "2021-05-19T17:00:00Z" --minimum-capacity 3

Perintah kedua menginstruksikan Amazon EC2 Auto Scaling untuk mengatur kapasitas minimum grup menjadi satu pada pukul 1:00 UTC pada 20 Mei 2021.

aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-event-end \ --auto-scaling-group-name my-asg --start-time "2021-05-20T01:00:00Z" --minimum-capacity 1

Setelah Anda menambahkan tindakan terjadwal ini ke grup Penskalaan Otomatis, Amazon EC2 Auto Scaling melakukan hal berikut:

  • Pada pukul 17:00 UTC pada 19 Mei 2021, aksi terjadwal pertama berjalan. Jika grup saat ini memiliki kurang dari tiga instance, grup akan menskalakan menjadi tiga instance. Selama waktu ini dan selama delapan jam ke depan, Amazon EC2 Auto Scaling dapat terus meningkatkan skala jika kapasitas yang diprediksi lebih tinggi dari kapasitas aktual atau jika ada kebijakan penskalaan dinamis yang berlaku.

  • Pada pukul 1:00 UTC pada tanggal 20 Mei 2021, aksi terjadwal kedua akan berjalan. Ini mengembalikan kapasitas minimum ke pengaturan semula di akhir acara.

Penskalaan berdasarkan jadwal berulang

Untuk mengganti perkiraan untuk periode waktu yang sama setiap minggu, buat dua tindakan terjadwal dan berikan logika waktu dan tanggal menggunakan ekspresi cron.

Format ekspresi cron terdiri dari lima bidang yang dipisahkan oleh spasi: [Menit] [Jam] [Day_of_Month] [Month_of_Year] [Day_of_Week]. Bidang dapat berisi nilai yang diizinkan, termasuk karakter khusus.

Misalnya, ekspresi cron berikut menjalankan tindakan setiap hari Selasa pukul 6:30. Tanda bintang digunakan sebagai wildcard untuk mencocokkan semua nilai untuk bidang.

30 6 * * 2

Lihat juga

Untuk informasi selengkapnya tentang cara mengelola tindakan terjadwal, lihatMenggunakan Tindakan Terjadwal untuk Menskalakan Layanan Amazon ECS.