Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan tindakan terjadwal untuk mengganti nilai perkiraan untuk Amazon ECS
Terkadang, Anda mungkin memiliki informasi tambahan tentang persyaratan aplikasi future Anda 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 mengganti perkiraan sementara 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 akan 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 aslinya.
Prosedur berikut menguraikan langkah-langkah untuk mengesampingkan perkiraan selama periode waktu mendatang.
penting
Topik ini mengasumsikan bahwa Anda mencoba mengesampingkan perkiraan untuk skala ke kapasitas yang lebih tinggi daripada yang diperkirakan. Jika Anda perlu mengurangi jumlah tugas sementara tanpa campur tangan dari kebijakan penskalaan prediktif, gunakan mode hanya perkiraan. 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) Analisis data deret waktu
Mulailah dengan menganalisis data deret waktu perkiraan. Ini adalah langkah opsional, tetapi akan sangat membantu jika Anda ingin memahami detail perkiraan.
-
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 mencakup 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 get-predictive-scaling-forecast AWS CLI perintah, berikan parameter 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" }
Tanggapan tersebut mencakup dua prakiraan:
LoadForecast
danCapacityForecast
.LoadForecast
menunjukkan perkiraan beban per jam.CapacityForecast
menunjukkan nilai perkiraan untuk kapasitas yang dibutuhkan setiap jam untuk menangani beban yang diperkirakan sambil mempertahankan 40,0 (TargetValue
pemanfaatan rata-rata 40%). CPU -
-
Identifikasi periode waktu target
Identifikasi jam atau jam ketika fluktuasi permintaan satu kali harus terjadi. Ingat bahwa tanggal dan waktu yang ditunjukkan dalam perkiraan ada diUTC.
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.
Buka konsol di https://console.aws.amazon.com/ecs/v2
. -
Pada halaman Clusters, pilih cluster.
-
Pada halaman detail cluster, di bagian Layanan, dan kemudian pilih layanan.
Halaman detail layanan muncul.
-
Pilih Service Auto Scaling.
Halaman kebijakan muncul.
-
Pilih Tindakan terjadwal, lalu pilih Buat.
Halaman tindakan Create Schedule muncul.
-
Untuk nama Action, masukkan nama unik.
-
Untuk zona waktu, pilih zona waktu.
Semua zona waktu yang tercantum berasal dari database Zona IANA Waktu. Untuk informasi selengkapnya, lihat Daftar zona waktu database tz
. -
Untuk Waktu mulai, masukkan Tanggal dan Waktu tindakan dimulai.
-
Untuk Perulangan, pilih Sekali.
-
Di bawah Penyesuaian tugas, Untuk Minimum, masukkan nilai kurang dari atau sama dengan jumlah tugas maksimum..
-
Pilih Buat tindakan terjadwal.
Halaman kebijakan muncul.
-
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 instance pada 19 Mei pukul 17:00 selama delapan jam. Perintah berikut menunjukkan bagaimana menerapkan skenario ini.
Perintah put-scheduled-update-group-action pertama menginstruksikan Amazon EC2 Auto Scaling untuk memperbarui kapasitas minimum grup Auto Scaling yang ditentukan pada pukul 17:00 pada 19 Mei 2021UTC.
aws autoscaling put-scheduled-update-group-action --scheduled-action-name
my-event-start
\ --auto-scaling-group-namemy-asg
--start-time "2021-05-19T17:00:00Z
" --minimum-capacity3
Perintah kedua menginstruksikan Amazon EC2 Auto Scaling untuk mengatur kapasitas minimum grup menjadi satu pada UTC pukul 01:00 pada 20 Mei 2021.
aws autoscaling put-scheduled-update-group-action --scheduled-action-name
my-event-end
\ --auto-scaling-group-namemy-asg
--start-time "2021-05-20T01:00:00Z
" --minimum-capacity1
Setelah Anda menambahkan tindakan terjadwal ini ke grup Auto Scaling, Amazon Auto EC2 Scaling melakukan hal berikut:
-
Pada pukul 17:00 UTC tanggal 19 Mei 2021, aksi terjadwal pertama berjalan. Jika grup saat ini memiliki kurang dari tiga instance, grup tersebut menskalakan menjadi tiga instance. Selama waktu ini dan selama delapan jam ke depan, Amazon EC2 Auto Scaling dapat terus ditingkatkan jika kapasitas yang diprediksi lebih tinggi dari kapasitas aktual atau jika ada kebijakan penskalaan dinamis yang berlaku.
-
Pada pukul 01:00 UTC tanggal 20 Mei 2021, aksi terjadwal kedua berjalan. Ini mengembalikan kapasitas minimum ke pengaturan aslinya 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: [Minute] [Hour] [Day_of_month] [Month_of_year] [day_of_week]. Bidang dapat berisi nilai apa pun yang diizinkan, termasuk karakter khusus.
Misalnya, ekspresi cron berikut menjalankan aksi setiap hari Selasa pukul 6:30 pagi. 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 ECS layanan Amazon.