

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
<a name="predictive-scaling-overriding-forecast-capacity"></a>

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. 

**Topics**
+ [Langkah 1: (Opsional) Analisis data deret waktu](#analyzing-time-series-data)
+ [Langkah 2: Buat dua tindakan terjadwal](#scheduling-capacity)

**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 gangguan 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
<a name="analyzing-time-series-data"></a>

Mulailah dengan menganalisis data deret waktu perkiraan. Ini adalah langkah opsional, tetapi akan 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 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](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/get-predictive-scaling-forecast.html) 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` dan`CapacityForecast`. `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 CPU rata-rata 40%).

1. **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 di UTC.

## Langkah 2: Buat dua tindakan terjadwal
<a name="scheduling-capacity"></a>

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](https://console.aws.amazon.com/ecs/v2).

1. Pada halaman **Clusters**, pilih cluster.

1. Pada halaman detail cluster, di bagian **Layanan**, dan kemudian pilih layanan.

   Halaman detail layanan muncul.

1. Pilih **Service Auto Scaling**.

   Halaman kebijakan muncul.

1. Pilih **Tindakan terjadwal**, lalu pilih **Buat**.

   Halaman **tindakan Create Schedule** muncul.

1. Untuk **nama Action**, masukkan nama unik.

1. 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](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).

1. Untuk **Waktu mulai**, masukkan **Tanggal** dan **Waktu** tindakan dimulai.

1. Untuk **Perulangan**, pilih **Sekali**.

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

1. Pilih **Buat tindakan terjadwal**.

   Halaman kebijakan muncul.

1. 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](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/put-scheduled-update-group-action.html). 

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](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/put-scheduled-update-group-action.html) pertama menginstruksikan Amazon EC2 Auto Scaling untuk memperbarui kapasitas minimum grup Auto Scaling 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 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 Auto Scaling, 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 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. 
+ Pukul 1:00 UTC pada 20 Mei 2021, aksi terjadwal kedua berjalan. Ini mengembalikan kapasitas minimum ke pengaturan aslinya di akhir acara.

### Penskalaan berdasarkan jadwal berulang
<a name="scheduling-recurring-actions"></a>

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\$1of\$1month] [Month\$1of\$1year] [day\$1of\$1week]. 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
<a name="scheduling-scaling-see-also"></a>

Untuk informasi selengkapnya tentang cara mengelola tindakan terjadwal, lihat[Gunakan tindakan terjadwal untuk menskalakan layanan Amazon ECS](service-autoscaling-schedulescaling.md).