

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

# Gunakan pola historis untuk menskalakan layanan Amazon ECS dengan penskalaan prediktif
<a name="predictive-auto-scaling"></a>

Penskalaan prediktif melihat data beban masa lalu lintas dari arus lalu lintas untuk menganalisis pola harian atau mingguan. Kemudian menggunakan analisis ini untuk mengantisipasi kebutuhan masa depan dan secara proaktif meningkatkan tugas dalam layanan Anda sesuai kebutuhan.

Penskalaan otomatis prediktif paling berguna dalam situasi berikut.
+ Lalu lintas siklus - Peningkatan penggunaan sumber daya selama jam kerja reguler, dan penurunan penggunaan sumber daya selama malam hari dan akhir pekan.
+ Pola on-and-off beban kerja berulang - Contohnya termasuk pemrosesan batch, pengujian, atau analisis data berkala.
+ Aplikasi dengan waktu inisialisasi yang lama - Ini dapat memengaruhi kinerja aplikasi selama peristiwa penskalaan yang menyebabkan latensi yang nyata.

Jika aplikasi Anda membutuhkan waktu lama untuk diinisialisasi dan lalu lintas meningkat dalam pola reguler, Anda harus mempertimbangkan untuk menggunakan penskalaan prediktif. Ini membantu Anda menskalakan lebih cepat dengan secara proaktif meningkatkan jumlah tugas untuk beban yang diperkirakan, alih-alih menggunakan kebijakan penskalaan dinamis, seperti Pelacakan Target atau Penskalaan Langkah saja. Dengan membantu Anda menghindari kemungkinan penyediaan berlebihan jumlah tugas, penskalaan prediktif juga berpotensi menghemat uang Anda.

Misalnya, pertimbangkan aplikasi yang memiliki penggunaan tinggi selama jam kerja dan penggunaan rendah dalam semalam. Pada awal setiap hari kerja, penskalaan prediktif dapat meningkatkan tugas sebelum masuknya lalu lintas pertama. Ini membantu aplikasi Anda mempertahankan ketersediaan dan kinerja tinggi saat beralih dari periode pemanfaatan yang lebih rendah ke periode pemanfaatan yang lebih tinggi. Anda tidak perlu menunggu penskalaan dinamis untuk bereaksi terhadap perubahan lalu lintas. Anda juga tidak perlu menghabiskan waktu meninjau pola pemuatan aplikasi Anda dan mencoba menjadwalkan jumlah tugas yang tepat menggunakan penskalaan terjadwal.

Penskalaan prediktif adalah kemampuan tingkat layanan yang menskalakan tugas layanan Anda secara independen dari penskalaan kapasitas komputasi yang mendasarinya (misalnya, EC2 atau Fargate). Untuk Fargate, AWS mengelola dan secara otomatis menskalakan kapasitas yang mendasarinya berdasarkan persyaratan tugas. Untuk kapasitas EC2, Anda dapat menggunakan penyedia kapasitas grup Auto Scaling untuk secara otomatis menskalakan instans EC2 yang mendasari berdasarkan persyaratan penskalaan tugas Anda.

**Topics**
+ [Ikhtisar penskalaan prediktif](#predictive-auto-scaling-overview)
+ [Buat kebijakan penskalaan prediktif](predictive-scaling-create-policy.md)
+ [Evaluasi kebijakan penskalaan prediktif Anda](predictive-scaling-graphs.md)
+ [Ganti perkiraan](predictive-scaling-overriding-forecast-capacity.md)
+ [Gunakan metrik khusus](predictive-scaling-custom-metrics.md)

## Cara kerja penskalaan prediktif di Amazon ECS
<a name="predictive-auto-scaling-overview"></a>

Di sini Anda dapat mempelajari tentang pertimbangan untuk menggunakan penskalaan prediktif, cara kerjanya, dan apa batasannya.

### Pertimbangan untuk menggunakan penskalaan prediktif
<a name="predictive-auto-scaling-considerations"></a>
+ Anda ingin memastikan penskalaan prediktif cocok untuk beban kerja Anda. Anda dapat memeriksanya dengan mengonfigurasi kebijakan penskalaan dalam mode **perkiraan saja** dan melihat apa yang direkomendasikan konsol. Anda harus mengevaluasi perkiraan dan rekomendasi sebelum mulai menggunakan penskalaan prediktif.
+ Sebelum penskalaan prediktif dapat memulai peramalan, dibutuhkan setidaknya 24 jam data historis. Semakin banyak data historis yang tersedia, semakin efektif ramalannya, dengan dua minggu ideal. Anda juga harus menunggu 24 jam sebelum penskalaan prediktif dapat menghasilkan perkiraan baru saat Anda menghapus layanan Amazon ECS dan membuat yang baru. Salah satu cara untuk mempercepat ini adalah dengan menggunakan metrik khusus untuk menggabungkan metrik di seluruh layanan Amazon ECS lama dan baru.
+ Pilih metrik pemuatan yang secara akurat mewakili beban penuh pada aplikasi Anda dan merupakan aspek aplikasi Anda yang paling penting untuk diskalakan.
+ Penskalaan dinamis dengan penskalaan prediktif membantu Anda mengikuti permintaan aplikasi dengan cermat, sehingga Anda dapat menskalakan selama jeda dan meningkatkan skala selama peningkatan lalu lintas yang tidak terduga. Ketika beberapa kebijakan penskalaan aktif, setiap kebijakan menentukan jumlah tugas yang diinginkan secara independen, dan jumlah tugas yang diinginkan diatur ke maksimum tugas tersebut.
+ Anda dapat menggunakan penskalaan prediktif di samping kebijakan penskalaan dinamis Anda, seperti pelacakan target atau penskalaan langkah, sehingga aplikasi Anda menskalakan berdasarkan pola real-time dan historis. Dengan sendirinya, penskalaan prediktif tidak menskalakan tugas Anda. 
+ Jika Anda menggunakan peran khusus saat memanggil `register-scalable-target` API, Anda mungkin mendapatkan kesalahan yang mengatakan kebijakan penskalaan prediktif hanya dapat berfungsi dengan SLR diaktifkan. Dalam hal ini Anda harus menelepon `register-scalable-target` lagi tetapi tanpa role-arn. Gunakan SLR saat mendaftarkan target yang dapat diskalakan dan panggil API. `put-scaling-policy`

### Cara kerja penskalaan prediktif
<a name="predictive-auto-scaling-details"></a>

Anda menggunakan penskalaan prediktif dengan membuat kebijakan penskalaan prediktif yang menentukan CloudWatch metrik untuk dipantau dan dianalisis. Penskalaan prediktif harus memiliki setidaknya 24 jam data untuk mulai memperkirakan nilai masa depan.

Setelah Anda membuat kebijakan, penskalaan prediktif mulai menganalisis data metrik hingga 14 hari terakhir untuk mengidentifikasi pola. Analisis ini digunakan untuk menghasilkan 48 jam perkiraan persyaratan per jam berikutnya. CloudWatch Data terbaru digunakan untuk memperbarui perkiraan setiap enam jam. Saat data baru masuk, penskalaan prediktif terus meningkatkan akurasi prakiraan masa depan.

Saat Anda pertama kali mengaktifkan penskalaan prediktif, penskalaan ini berjalan dalam mode *perkiraan saja*. Ini menghasilkan perkiraan dalam mode ini, tetapi tidak menskalakan layanan Amazon ECS Anda berdasarkan perkiraan tersebut. Ini berarti Anda dapat mengevaluasi keakuratan dan kesesuaian ramalan. Anda melihat data perkiraan dengan menggunakan operasi `GetPredictiveScalingForecast` API atau Konsol Manajemen AWS.

Saat Anda memutuskan untuk mulai menggunakan penskalaan prediktif, alihkan kebijakan penskalaan ke mode *perkiraan dan* skala. Berikut ini terjadi saat dalam mode ini.

Layanan Amazon ECS Anda diskalakan pada awal setiap jam berdasarkan perkiraan untuk jam itu, secara default. Anda dapat memilih untuk memulai lebih awal dengan menggunakan `SchedulingBufferTime` properti dalam operasi `PutScalingPolicy` API. Ini membuat tugas baru diluncurkan di depan permintaan yang diperkirakan dan memberi mereka waktu untuk boot dan siap menangani lalu lintas.

### Batas tugas maksimum
<a name="predictive-scaling-maximum-tasks-limit"></a>

Saat Anda mendaftarkan layanan Amazon ECS untuk penskalaan, Anda menentukan jumlah tugas maksimum yang dapat diluncurkan per layanan. Secara default, ketika kebijakan penskalaan ditetapkan, mereka tidak dapat meningkatkan jumlah tugas yang lebih tinggi dari batas maksimumnya.

Atau, Anda dapat mengizinkan jumlah tugas maksimum layanan ditingkatkan secara otomatis jika perkiraan mendekati atau melebihi jumlah tugas maksimum layanan Amazon ECS.

**Awas**  
Berhati-hatilah saat memungkinkan jumlah tugas maksimum ditingkatkan secara otomatis. Hal ini dapat menyebabkan lebih banyak tugas yang diluncurkan daripada yang dimaksudkan, jika peningkatan jumlah tugas maksimum tidak dipantau dan dikelola. Peningkatan jumlah tugas maksimum kemudian menjadi jumlah tugas maksimum normal baru untuk layanan Amazon ECS hingga Anda memperbaruinya secara manual. Jumlah tugas maksimum tidak secara otomatis berkurang kembali ke maksimum semula.

### Wilayah yang didukung
<a name="predictive-auto-scaling-supported-regions"></a>
+ Timur AS (N. Virginia)
+ AS Timur (Ohio)
+ AS Barat (California Utara)
+ AS Barat (Oregon)
+ Afrika (Cape Town)
+ Asia Pasifik (Hong Kong)
+ Asia Pasifik (Jakarta)
+ Asia Pasifik (Mumbai)
+ Asia Pasifik (Osaka)
+ Asia Pasifik (Seoul)
+ Asia Pasifik (Singapura)
+ Asia Pasifik (Sydney)
+ Asia Pasifik (Tokyo)
+ Kanada (Pusat)
+ Tiongkok (Beijing)
+ Tiongkok (Ningxia)
+ Eropa (Frankfurt)
+ Eropa (Irlandia)
+ Eropa (London)
+ Eropa (Milan)
+ Eropa (Paris)
+ Eropa (Stockholm)
+ Timur Tengah (Bahrain)
+ Amerika Selatan (Sao Paulo)
+ AWS GovCloud (AS-Timur)
+ AWS GovCloud (AS-Barat)

# Membuat kebijakan penskalaan prediktif untuk penskalaan otomatis layanan Amazon ECS
<a name="predictive-scaling-create-policy"></a>

Buat kebijakan penskalaan prediktif agar Amazon ECS menambah atau mengurangi jumlah tugas yang dijalankan layanan Anda berdasarkan data historis. 

**catatan**  
Layanan baru perlu menyediakan setidaknya 24 jam data sebelum perkiraan dapat dihasilkan.

## Konsol
<a name="predictive-scaling-policy-aws-console"></a>

1. Selain izin IAM standar untuk membuat dan memperbarui layanan, Anda memerlukan izin tambahan. Untuk informasi selengkapnya, lihat [Izin IAM diperlukan untuk penskalaan otomatis layanan Amazon ECS](auto-scaling-IAM.md).

1. Tentukan metrik yang akan digunakan untuk kebijakan. Metrik berikut tersedia:
   +  **ECSServiceRata-rata CPUUtilization** — Pemanfaatan CPU rata-rata yang harus digunakan layanan. 
   + **ECSServiceAverageMemoryUtilization**— Pemanfaatan memori rata-rata yang harus digunakan layanan. 
   + **ALBRequestCountPerTarget**— Jumlah rata-rata permintaan per menit yang idealnya diterima tugas itu.

   Anda dapat menggunakan metrik khusus. Anda perlu menentukan nilai-nilai berikut:
   + Load - metrik yang secara akurat mewakili beban penuh pada aplikasi Anda dan merupakan aspek aplikasi Anda yang paling penting untuk diskalakan.
   + Metrik penskalaan - prediktor terbaik untuk seberapa banyak pemanfaatan yang ideal untuk aplikasi Anda.

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**, pilih layanan.

   Halaman detail layanan muncul.

1. Pilih **Service auto scaling** dan kemudian pilih **Atur jumlah tugas**.

1. Di bawah **jumlah tugas layanan Amazon ECS**, pilih **Gunakan penskalaan otomatis**.

   **Bagian Penghitungan tugas** muncul.

   1. Untuk **Jumlah tugas minimum**, masukkan batas bawah jumlah tugas untuk penskalaan otomatis servis yang akan digunakan. Hitungan yang diinginkan tidak akan berada di bawah hitungan ini.

   1. Untuk **Maksimum**, masukkan batas atas jumlah tugas untuk penskalaan otomatis servis yang akan digunakan. Hitungan yang diinginkan tidak akan melebihi hitungan ini.

   1. Pilih **Simpan**.

      Halaman kebijakan muncul.

1. Pilih **Buat kebijakan penskalaan**.

   Halaman **Buat kebijakan** akan muncul.

1. Untuk **jenis kebijakan Penskalaan**, pilih **Penskalaan Prediktif**.

1. Untuk **nama Kebijakan**, masukkan nama kebijakan.

1. Untuk **pasangan Metrik**, pilih metrik Anda dari daftar opsi.

   Jika Anda memilih **jumlah permintaan Application Load Balancer per target**, maka pilih grup target di grup **Target**. **Jumlah permintaan Application Load Balancer per target** hanya didukung jika Anda telah melampirkan grup target Application Load Balancer untuk layanan Anda. 

   Jika Anda memilih **Pasangan metrik kustom**, pilih metrik individual dari daftar untuk Metrik **beban dan metrik** **Penskalaan.** 

1. Untuk **pemanfaatan Target**, masukkan nilai target untuk persentase tugas yang harus dipertahankan Amazon ECS. Service auto scaling meningkatkan kapasitas Anda hingga pemanfaatan rata-rata berada pada target pemanfaatan, atau hingga mencapai jumlah maksimum tugas yang Anda tentukan.

1. Pilih **Buat kebijakan penskalaan**.

## AWS CLI
<a name="predictive-scaling-policy-aws-cli"></a>

Gunakan AWS CLI sebagai berikut untuk mengonfigurasi kebijakan penskalaan prediktif untuk layanan Amazon ECS Anda. Ganti masing-masing *user input placeholder* dengan informasi Anda sendiri.

Untuk informasi selengkapnya tentang CloudWatch metrik yang dapat Anda tentukan, lihat [PredictiveScalingMetricSpecification](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_PredictiveScalingMetricSpecification.html)di Referensi API *Amazon EC2 Auto* Scaling.

### Contoh 1: Kebijakan penskalaan prediktif dengan memori yang telah ditentukan sebelumnya.
<a name="predictive-scaling-cli-example-one"></a>

Berikut ini adalah contoh kebijakan dengan konfigurasi memori yang telah ditentukan.

```
cat policy.json
{
    "MetricSpecifications": [
        {
            "TargetValue": 40,
            "PredefinedMetricPairSpecification": {
                "PredefinedMetricType": "ECSServiceMemoryUtilization"
            }
        }
    ],
    "SchedulingBufferTime": 3600,
    "MaxCapacityBreachBehavior": "HonorMaxCapacity",
    "Mode": "ForecastOnly"
}
```

Contoh berikut mengilustrasikan pembuatan kebijakan dengan menjalankan [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/put-scaling-policy.html)perintah dengan file konfigurasi yang ditentukan.

```
aws application-autoscaling put-scaling-policy \
--service-namespace ecs \
--region us-east-1 \
--policy-name predictive-scaling-policy-example \
--resource-id service/MyCluster/test \
--policy-type PredictiveScaling \
--scalable-dimension ecs:service:DesiredCount \
--predictive-scaling-policy-configuration file://policy.json
```

Jika berhasil, perintah ini mengembalikan ARN kebijakan.

```
{
    "PolicyARN": "arn:aws:autoscaling:us-east-1:012345678912:scalingPolicy:d1d72dfe-5fd3-464f-83cf-824f16cb88b7:resource/ecs/service/MyCluster/test:policyName/predictive-scaling-policy-example",
    "Alarms": []
}
```

### Contoh 2: Kebijakan penskalaan prediktif dengan CPU yang telah ditentukan sebelumnya.
<a name="predictive-scaling-cli-example-two"></a>

Berikut ini adalah contoh kebijakan dengan konfigurasi CPU yang telah ditentukan.

```
cat policy.json
{
    "MetricSpecifications": [
        {
            "TargetValue": 0.00000004,
            "PredefinedMetricPairSpecification": {
                "PredefinedMetricType": "ECSServiceCPUUtilization"
            }
        }
    ],
    "SchedulingBufferTime": 3600,
    "MaxCapacityBreachBehavior": "HonorMaxCapacity",
    "Mode": "ForecastOnly"
}
```

Contoh berikut mengilustrasikan pembuatan kebijakan dengan menjalankan [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/put-scaling-policy.html)perintah dengan file konfigurasi yang ditentukan.

```
aws aas put-scaling-policy \
--service-namespace ecs \
--region us-east-1 \
--policy-name predictive-scaling-policy-example \
--resource-id service/MyCluster/test \
--policy-type PredictiveScaling \
--scalable-dimension ecs:service:DesiredCount \
--predictive-scaling-policy-configuration file://policy.json
```

Jika berhasil, perintah ini mengembalikan ARN kebijakan.

```
{
    "PolicyARN": "arn:aws:autoscaling:us-east-1:012345678912:scalingPolicy:d1d72dfe-5fd3-464f-83cf-824f16cb88b7:resource/ecs/service/MyCluster/test:policyName/predictive-scaling-policy-example",
    "Alarms": []
}
```

# Evaluasi kebijakan penskalaan prediktif Anda untuk Amazon ECS
<a name="predictive-scaling-graphs"></a>

Sebelum Anda menggunakan kebijakan penskalaan prediktif untuk menskalakan layanan Anda, tinjau rekomendasi dan data lain untuk kebijakan Anda di konsol Amazon ECS. Ini penting karena Anda tidak ingin kebijakan penskalaan prediktif untuk menskalakan kapasitas aktual Anda sampai Anda tahu bahwa prediksinya akurat.

Jika layanan ini baru, biarkan 24 jam untuk membuat perkiraan pertama.

Saat AWS membuat perkiraan, ia menggunakan data historis. Jika layanan Anda belum memiliki banyak data historis terbaru, penskalaan prediktif mungkin mengisi ulang perkiraan sementara dengan agregat yang dibuat dari agregat historis yang tersedia saat ini. Prakiraan diisi kembali hingga dua minggu sebelum tanggal pembuatan kebijakan.

## Lihat rekomendasi penskalaan prediktif Anda
<a name="view-predictive-scaling-recommendations"></a>

Untuk analisis yang efektif, penskalaan otomatis servis harus memiliki setidaknya dua kebijakan penskalaan prediktif untuk dibandingkan. (Namun, Anda masih dapat meninjau temuan untuk satu kebijakan.) Saat membuat beberapa kebijakan, Anda dapat mengevaluasi kebijakan yang menggunakan satu metrik terhadap kebijakan yang menggunakan metrik berbeda. Anda juga dapat mengevaluasi dampak dari nilai target dan kombinasi metrik yang berbeda. Setelah kebijakan penskalaan prediktif dibuat, Amazon ECS segera mulai mengevaluasi kebijakan mana yang akan melakukan pekerjaan yang lebih baik untuk menskalakan grup Anda.

**Untuk melihat rekomendasi Anda di konsol Amazon ECS**

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**, pilih layanan.

   Halaman detail layanan muncul.

1. Pilih **Service auto scaling.**

1. **Pilih kebijakan penskalaan prediktif, lalu pilih **Tindakan**, **Penskalaan Prediktif**, Lihat rekomendasi.**

   Anda dapat melihat detail tentang kebijakan bersama dengan rekomendasi kami. Rekomendasi memberi tahu Anda apakah kebijakan penskalaan prediktif melakukan pekerjaan yang lebih baik daripada tidak menggunakannya. 

   Jika Anda tidak yakin apakah kebijakan penskalaan prediktif sesuai untuk grup Anda, tinjau kolom **Dampak ketersediaan dan dampak** **Biaya** untuk memilih kebijakan yang tepat. Informasi untuk setiap kolom memberi tahu Anda apa dampak kebijakan tersebut. 
   + **Dampak ketersediaan**: Menjelaskan apakah kebijakan akan menghindari dampak negatif terhadap ketersediaan dengan menyediakan tugas yang cukup untuk menangani beban kerja, dibandingkan dengan tidak menggunakan kebijakan.
   + **Dampak biaya**: Menjelaskan apakah kebijakan akan menghindari dampak negatif pada biaya Anda dengan tidak menyediakan tugas yang berlebihan, dibandingkan dengan tidak menggunakan kebijakan. Dengan terlalu banyak penyediaan, layanan Anda kurang dimanfaatkan atau tidak digunakan, yang hanya menambah dampak biaya.

   Jika Anda memiliki beberapa kebijakan, maka tag **prediksi terbaik** akan ditampilkan di samping nama kebijakan yang memberikan manfaat ketersediaan terbanyak dengan biaya lebih rendah. Lebih banyak bobot diberikan untuk dampak ketersediaan. 

1. (Opsional) Untuk memilih periode waktu yang diinginkan untuk hasil rekomendasi, pilih nilai yang Anda inginkan dari dropdown **periode Evaluasi**: **2 hari**, **1 minggu**, atau **2** minggu. Secara default, periode evaluasi adalah dua minggu terakhir. Periode evaluasi yang lebih lama memberikan lebih banyak poin data ke hasil rekomendasi. Namun, menambahkan lebih banyak titik data mungkin tidak meningkatkan hasil jika pola beban Anda telah berubah, seperti setelah periode permintaan yang luar biasa. Dalam hal ini, Anda bisa mendapatkan rekomendasi yang lebih fokus dengan melihat data yang lebih baru.

**catatan**  
Rekomendasi dibuat hanya untuk kebijakan yang **hanya dalam mode Forecast**. Fitur rekomendasi bekerja lebih baik ketika kebijakan berada dalam mode **Forecast only** selama periode evaluasi. Jika Anda memulai kebijakan dalam mode **Forecast dan skala** dan beralih ke mode **Forecast only** nanti, temuan untuk kebijakan tersebut cenderung bias. Ini karena kebijakan telah berkontribusi terhadap kapasitas aktual.

## Tinjau grafik pemantauan penskalaan prediktif
<a name="review-predictive-scaling-monitoring-graphs"></a>

Di konsol, Anda dapat meninjau perkiraan hari, minggu, atau bulan sebelumnya untuk memvisualisasikan seberapa baik kinerja kebijakan dari waktu ke waktu. Anda juga dapat menggunakan informasi ini untuk mengevaluasi keakuratan prediksi saat memutuskan apakah akan membiarkan kebijakan menskalakan jumlah tugas Anda yang sebenarnya.

**Untuk meninjau grafik pemantauan penskalaan prediktif di konsol Amazon ECS**

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**, pilih layanan.

   Halaman detail layanan muncul.

1. Pilih **Service auto scaling.**

1. **Pilih kebijakan penskalaan prediktif, lalu pilih **Tindakan**, **Penskalaan Prediktif**, Lihat Grafik.**

1. Di bagian **Pemantauan**, Anda dapat melihat perkiraan masa lalu dan masa depan kebijakan Anda untuk beban dan kapasitas terhadap nilai aktual. Grafik **beban** menunjukkan perkiraan beban dan nilai aktual untuk metrik beban yang Anda pilih. Grafik **Kapasitas** menunjukkan jumlah tugas yang diprediksi oleh kebijakan. Ini juga mencakup jumlah tugas aktual yang diluncurkan. Garis vertikal memisahkan nilai historis dari perkiraan masa depan. Grafik ini tersedia segera setelah kebijakan dibuat. 

1. (Opsional) Untuk mengubah jumlah data historis yang ditampilkan dalam bagan, pilih nilai yang Anda inginkan dari dropdown **periode Evaluasi** di bagian atas halaman. Periode evaluasi tidak mengubah data di halaman ini dengan cara apa pun. Itu hanya mengubah jumlah data historis yang ditampilkan.

**Bandingkan data dalam grafik **Load****  
Setiap garis horizontal mewakili serangkaian titik data berbeda yang dilaporkan dalam interval satu jam:

1. **Beban yang diamati aktual** menggunakan statistik SUM untuk metrik beban yang Anda pilih untuk menunjukkan total beban per jam di masa lalu.

1. **Beban yang diprediksi oleh kebijakan** menunjukkan prediksi beban per jam. Prediksi ini didasarkan pada dua minggu sebelumnya dari pengamatan beban aktual.

**Bandingkan data dalam grafik **Kapasitas****  
Setiap garis horizontal mewakili serangkaian titik data berbeda yang dilaporkan dalam interval satu jam:

1. **Jumlah tugas yang diamati secara aktual** menunjukkan kapasitas aktual layanan Amazon ECS Anda di masa lalu, yang bergantung pada kebijakan penskalaan Anda yang lain dan ukuran grup minimum yang berlaku untuk periode waktu yang dipilih.

1. **Kapasitas yang diprediksi oleh kebijakan** menunjukkan kapasitas dasar yang dapat Anda harapkan pada awal setiap jam ketika kebijakan dalam mode **Forecast dan skala**.

1. **Jumlah tugas yang diperlukan yang disimpulkan** menunjukkan jumlah tugas ideal dalam layanan Anda untuk mempertahankan metrik penskalaan pada nilai target yang Anda pilih.

1. **Jumlah tugas minimum** menunjukkan jumlah tugas minimum dalam layanan Anda.

1. **Kapasitas maksimum** menunjukkan jumlah tugas maksimum dalam layanan Anda.

Untuk tujuan menghitung kapasitas yang diperlukan yang disimpulkan, kita mulai dengan mengasumsikan bahwa setiap tugas sama-sama digunakan pada nilai target yang ditentukan. Dalam praktiknya, jumlah tugas tidak digunakan secara merata. Dengan mengasumsikan bahwa pemanfaatan tersebar secara seragam antar tugas, bagaimanapun, kita dapat membuat perkiraan kemungkinan jumlah kapasitas yang dibutuhkan. Persyaratan untuk jumlah tugas kemudian dihitung berbanding terbalik dengan metrik penskalaan yang Anda gunakan untuk kebijakan penskalaan prediktif Anda. Dengan kata lain, ketika jumlah tugas meningkat, metrik penskalaan menurun pada tingkat yang sama. Misalnya, jika jumlah tugas berlipat ganda, metrik penskalaan harus berkurang setengahnya. 

Rumus untuk kapasitas yang dibutuhkan yang disimpulkan:

 `sum of (actualServiceUnits*scalingMetricValue)/(targetUtilization)`

Sebagai contoh, kita mengambil `actualServiceUnits` (`10`) dan `scalingMetricValue` (`30`) untuk satu jam tertentu. Kami kemudian mengambil `targetUtilization` yang Anda tentukan dalam kebijakan penskalaan prediktif Anda (`60`) dan menghitung kapasitas yang diperlukan yang disimpulkan untuk jam yang sama. Ini mengembalikan nilai`5`. Ini berarti bahwa lima adalah jumlah kapasitas yang disimpulkan yang diperlukan untuk mempertahankan kapasitas dalam proporsi terbalik langsung dengan nilai target metrik penskalaan.

**catatan**  
Berbagai tuas tersedia bagi Anda untuk menyesuaikan dan meningkatkan penghematan biaya dan ketersediaan aplikasi Anda.  
Anda menggunakan penskalaan prediktif untuk kapasitas dasar dan penskalaan dinamis untuk menangani kapasitas tambahan. Penskalaan dinamis bekerja secara independen dari penskalaan prediktif, penskalaan masuk dan keluar berdasarkan pemanfaatan saat ini. Pertama, Amazon ECS menghitung jumlah tugas yang disarankan untuk setiap kebijakan penskalaan yang tidak dijadwalkan. Kemudian, skala berdasarkan kebijakan yang menyediakan jumlah tugas terbesar.
Agar penskalaan masuk terjadi saat beban berkurang, layanan Anda harus selalu memiliki setidaknya satu kebijakan penskalaan dinamis dengan bagian penskalaan diaktifkan.
Anda dapat meningkatkan kinerja penskalaan dengan memastikan bahwa kapasitas minimum dan maksimum Anda tidak terlalu membatasi. Kebijakan dengan jumlah tugas yang disarankan yang tidak termasuk dalam rentang kapasitas minimum dan maksimum akan dicegah dari penskalaan masuk dan keluar.

# Pantau metrik penskalaan prediktif untuk Amazon ECS dengan CloudWatch
<a name="predictive-scaling-monitoring"></a>

Anda dapat menggunakan Amazon CloudWatch untuk memantau data Anda untuk penskalaan prediktif. Kebijakan penskalaan prediktif mengumpulkan data yang digunakan untuk memperkirakan beban masa depan Anda. Data yang dikumpulkan secara otomatis disimpan secara CloudWatch berkala dan dapat digunakan untuk memvisualisasikan seberapa baik kinerja kebijakan dari waktu ke waktu. Anda juga dapat membuat CloudWatch alarm untuk memberi tahu Anda ketika indikator kinerja berubah melampaui batas yang Anda tetapkan.

## Visualisasikan data perkiraan historis
<a name="visualize-historical-forecast-data"></a>

Data perkiraan beban untuk kebijakan penskalaan prediktif dapat dilihat CloudWatch dan dapat berguna saat memvisualisasikan prakiraan terhadap CloudWatch metrik lain dalam satu grafik. Anda juga dapat melihat tren dari waktu ke waktu dengan melihat rentang waktu yang lebih luas. Anda dapat mengakses metrik historis hingga 15 bulan untuk mendapatkan perspektif yang lebih baik tentang kinerja kebijakan Anda.

**Untuk melihat data perkiraan historis menggunakan CloudWatch konsol**

1. Buka CloudWatch konsol di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Di panel navigasi, pilih **Metrik**, lalu **Semua metrik**.

1. Pilih namespace metrik **Application Auto Scaling**.

1. Pilih **Prakiraan Beban Penskalaan Prediktif**.

1. Di bidang pencarian, masukkan nama kebijakan penskalaan prediktif atau nama grup layanan Amazon ECS, lalu tekan Enter untuk memfilter hasilnya. 

1. Untuk membuat grafik sebuah metrik, pilih kotak centang di sebelah metrik. Untuk mengubah nama grafik, pilih ikon pensil. Untuk mengubah rentang waktu, pilih salah satu nilai yang telah ditentukan sebelumnya atau pilih **kustom**. Untuk informasi selengkapnya, lihat [Membuat grafik metrik](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph_a_metric.html) di *Panduan CloudWatch Pengguna Amazon*.

1. Untuk mengubah statistik, pilih tab **Metrik bergrafik**. Pilih judul kolom atau nilai individual, lalu pilih statistik yang berbeda. Meskipun Anda dapat memilih statistik apa pun untuk setiap metrik, tidak semua statistik berguna untuk **PredictiveScalingLoadForecast**metrik. Misalnya, statistik **Rata-rata**, **Minimum**, dan **Maksimum** berguna, tetapi statistik **Jumlah** tidak.

1. Untuk menambahkan metrik lain ke grafik, di bawah **Browse**, pilih **Semua**, temukan metrik tertentu, lalu pilih kotak centang di sebelahnya. Anda dapat menambahkan hingga 10 metrik.

1. (Opsional) Untuk menambahkan grafik ke CloudWatch dasbor, pilih **Tindakan**, **Tambahkan ke dasbor**.

## Buat metrik akurasi menggunakan matematika metrik
<a name="create-accuracy-metrics"></a>

Dengan matematika metrik, Anda dapat menanyakan beberapa CloudWatch metrik dan menggunakan ekspresi matematika untuk membuat deret waktu baru berdasarkan metrik ini. Anda dapat memvisualisasikan deret waktu yang dihasilkan di CloudWatch konsol dan menambahkannya ke dasbor. Untuk informasi selengkapnya tentang matematika [metrik, lihat Menggunakan matematika metrik](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html) di *Panduan CloudWatch Pengguna Amazon*.

Dengan menggunakan matematika metrik, Anda dapat membuat grafik data yang dihasilkan oleh penskalaan otomatis servis untuk penskalaan prediktif dengan berbagai cara. Ini membantu Anda memantau kinerja kebijakan dari waktu ke waktu, dan membantu Anda memahami apakah kombinasi metrik Anda dapat ditingkatkan.

Misalnya, Anda dapat menggunakan ekspresi matematika metrik untuk memantau [kesalahan persentase absolut rata-rata](https://en.wikipedia.org/wiki/Mean_absolute_percentage_error) (MAPE). Metrik MAPE membantu memantau perbedaan antara nilai yang diperkirakan dan nilai aktual yang diamati selama jendela perkiraan tertentu. Perubahan nilai MAPE dapat menunjukkan apakah kinerja kebijakan menurun seiring waktu karena sifat aplikasi Anda berubah. Peningkatan MAPE menandakan kesenjangan yang lebih luas antara nilai yang diperkirakan dan nilai aktual. 

**Contoh: Ekspresi matematika metrik**

Untuk memulai dengan jenis grafik ini, Anda dapat membuat ekspresi matematika metrik seperti yang ditunjukkan pada contoh berikut.



Alih-alih metrik tunggal, ada array struktur kueri data metrik untuk`MetricDataQueries`. Setiap item `MetricDataQueries` mendapat metrik atau melakukan ekspresi matematika. Item pertama,`e1`, adalah ekspresi matematika. Ekspresi yang ditunjuk menetapkan `ReturnData` parameter ke`true`, yang pada akhirnya menghasilkan deret waktu tunggal. Untuk semua metrik lainnya, `ReturnData` nilainya adalah`false`. 

Dalam contoh, ekspresi yang ditunjuk menggunakan nilai aktual dan yang diperkirakan sebagai input dan mengembalikan metrik baru (MAPE). `m1`adalah CloudWatch metrik yang berisi nilai beban aktual (dengan asumsi pemanfaatan CPU adalah metrik beban yang awalnya ditentukan untuk kebijakan bernama`my-predictive-scaling-policy`). `m2`adalah CloudWatch metrik yang berisi nilai beban yang diperkirakan. Sintaks matematika untuk metrik MAPE adalah sebagai berikut:

*Rata-rata (abs ((Actual - Forecast)/(Aktual)))*

### Visualisasikan metrik akurasi Anda dan atur alarm
<a name="visualize-accuracy-metrics-set-alarms"></a>

Untuk memvisualisasikan data metrik akurasi, pilih tab **Metrik** di konsol. CloudWatch Anda dapat membuat grafik data dari sana. Untuk informasi selengkapnya, lihat [Menambahkan ekspresi matematika ke CloudWatch grafik](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#adding-metrics-expression-console) di *Panduan CloudWatch Pengguna Amazon*.

Anda juga dapat mengatur alarm pada metrik yang Anda pantau dari bagian **Metrik**. Saat berada di tab **Graphed metrics**, pilih ikon **Create alarm** di bawah kolom **Actions**. Ikon **Create alarm** direpresentasikan sebagai bel kecil. Untuk informasi selengkapnya dan opsi notifikasi, lihat [Membuat CloudWatch alarm berdasarkan ekspresi matematika metrik](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Create-alarm-on-metric-math-expression.html) dan [Memberi tahu pengguna tentang perubahan alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Notify_Users_Alarm_Changes.html) di *Panduan CloudWatch Pengguna Amazon*.

Atau, Anda dapat menggunakan [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html)dan [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html)melakukan perhitungan menggunakan matematika metrik dan membuat alarm berdasarkan output.

# 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).

# Kebijakan penskalaan prediktif lanjutan menggunakan metrik khusus untuk Amazon ECS
<a name="predictive-scaling-custom-metrics"></a>

Anda dapat menggunakan metrik yang telah ditentukan atau kustom dalam kebijakan penskalaan prediktif. Metrik kustom berguna ketika metrik yang telah ditentukan sebelumnya, seperti CPU, memori, dll) tidak cukup untuk menggambarkan beban aplikasi Anda secara memadai.

Saat membuat kebijakan penskalaan prediktif dengan metrik khusus, Anda dapat menentukan metrik lain CloudWatch yang disediakan oleh. AWS Atau, Anda dapat menentukan metrik yang Anda tentukan dan publikasikan sendiri. Anda juga dapat menggunakan matematika metrik untuk menggabungkan dan mengubah metrik yang ada menjadi deret waktu baru yang AWS tidak dilacak secara otomatis. *Contohnya adalah menggabungkan nilai dalam data Anda dengan menghitung jumlah atau rata-rata baru yang disebut agregasi.* Data yang dihasilkan disebut *agregat*.

Bagian berikut berisi praktik terbaik dan contoh bagaimana membangun struktur JSON untuk kebijakan tersebut.

## Prasyarat
<a name="predictive-scaling-custom-metrics-prerequisites"></a>

Untuk menambahkan metrik kustom ke kebijakan penskalaan prediktif, Anda harus memiliki izin. `cloudwatch:GetMetricData`

Untuk menentukan metrik Anda sendiri, bukan metrik yang AWS disediakan, Anda harus terlebih dahulu mempublikasikan metrik Anda. CloudWatch Untuk informasi selengkapnya, lihat [Menerbitkan metrik kustom](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) di *Panduan CloudWatch Pengguna Amazon*. 

Jika Anda mempublikasikan metrik Anda sendiri, pastikan untuk mempublikasikan titik data pada frekuensi minimum lima menit. Titik data diambil dari CloudWatch berdasarkan lamanya periode yang dibutuhkannya. Misalnya, spesifikasi metrik beban menggunakan metrik per jam untuk mengukur beban pada aplikasi Anda. CloudWatch menggunakan data metrik yang Anda publikasikan untuk memberikan nilai data tunggal untuk periode satu jam dengan menggabungkan semua titik data dengan stempel waktu yang termasuk dalam setiap periode satu jam.

## Praktik terbaik
<a name="predictive-scaling-custom-metrics-best-practices"></a>

Praktik terbaik berikut dapat membantu Anda menggunakan metrik kustom secara lebih efektif:
+ Metrik yang paling berguna untuk spesifikasi metrik beban adalah metrik yang mewakili beban pada grup Auto Scaling secara keseluruhan.
+ Metrik yang paling berguna untuk spesifikasi metrik penskalaan untuk diskalakan adalah throughput rata-rata atau pemanfaatan per metrik tugas.
+ Pemanfaatan target harus sesuai dengan jenis metrik penskalaan. Untuk konfigurasi kebijakan yang menggunakan pemanfaatan CPU, ini adalah persentase target, misalnya.
+ Jika rekomendasi ini tidak diikuti, nilai future yang diperkirakan dari deret waktu mungkin akan salah. Untuk memvalidasi bahwa data sudah benar, Anda dapat melihat nilai yang diperkirakan di konsol. Atau, setelah Anda membuat kebijakan penskalaan prediktif, periksa `LoadForecast` objek yang ditampilkan oleh panggilan ke API. [GetPredictiveScalingForecast](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_GetPredictiveScalingForecast.html)
+ Kami sangat menyarankan Anda mengonfigurasi penskalaan prediktif dalam mode hanya perkiraan sehingga Anda dapat mengevaluasi perkiraan sebelum penskalaan prediktif mulai aktif penskalaan.

## Batasan
<a name="predicitve-scaling-custom-metrics-limitations"></a>
+ Anda dapat menanyakan titik data hingga 10 metrik dalam satu spesifikasi metrik.
+ Untuk tujuan batas ini, satu ekspresi dihitung sebagai satu metrik.

## Memecahkan masalah kebijakan penskalaan prediktif dengan metrik khusus
<a name="predictive-scaling-custom-metrics-troubleshooting"></a>

Jika terjadi masalah saat menggunakan metrik kustom, kami sarankan Anda melakukan hal berikut:
+ Jika Anda mengalami masalah dalam blue/green penerapan saat menggunakan ekspresi penelusuran, pastikan Anda membuat ekspresi penelusuran yang mencari kecocokan sebagian dan bukan kecocokan persis. Anda juga harus memeriksa apakah kueri hanya menemukan grup Auto Scaling yang berjalan di aplikasi tertentu. Untuk informasi selengkapnya tentang sintaks ekspresi penelusuran, lihat [sintaks ekspresi CloudWatch penelusuran](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/search-expression-syntax.html) di * CloudWatch Panduan Pengguna Amazon*.
+ [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)Perintah memvalidasi ekspresi saat Anda membuat kebijakan penskalaan. Namun, ada kemungkinan bahwa perintah ini mungkin gagal mengidentifikasi penyebab pasti dari kesalahan yang terdeteksi. Untuk memperbaiki masalah, pecahkan masalah kesalahan yang Anda terima dalam respons dari permintaan ke perintah. [get-metric-data](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-data.html) Anda juga dapat memecahkan masalah ekspresi dari konsol. CloudWatch
+ Anda harus menentukan `false` `ReturnData` jika `MetricDataQueries` menentukan fungsi SEARCH () sendiri tanpa fungsi matematika seperti SUM (). Ini karena ekspresi pencarian mungkin mengembalikan beberapa deret waktu, dan spesifikasi metrik berdasarkan ekspresi hanya dapat mengembalikan satu deret waktu.
+ Semua metrik yang terlibat dalam ekspresi pencarian harus memiliki resolusi yang sama.

# Membangun JSON untuk metrik kustom penskalaan prediktif dengan Amazon ECS
<a name="predictive-scaling-custom-metrics-example"></a>

Bagian berikut berisi contoh cara mengonfigurasi penskalaan prediktif ke data kueri dari. CloudWatch Ada dua metode berbeda untuk mengonfigurasi opsi ini, dan metode yang Anda pilih memengaruhi format mana yang Anda gunakan untuk membuat JSON untuk kebijakan penskalaan prediktif Anda. Saat Anda menggunakan matematika metrik, format JSON bervariasi lebih lanjut berdasarkan matematika metrik yang dilakukan.

1. Untuk membuat kebijakan yang mendapatkan data langsung dari CloudWatch metrik lain yang disediakan oleh AWS atau metrik yang Anda publikasikan CloudWatch, lihat. [Contoh kebijakan penskalaan prediktif dengan metrik pemuatan dan penskalaan khusus menggunakan AWS CLI](#predictive-scaling-custom-metrics-example1)

## Contoh kebijakan penskalaan prediktif dengan metrik pemuatan dan penskalaan khusus menggunakan AWS CLI
<a name="predictive-scaling-custom-metrics-example1"></a>

Untuk membuat kebijakan penskalaan prediktif dengan metrik pemuatan dan penskalaan kustom dengan AWS CLI, simpan argumen `--predictive-scaling-configuration` dalam file JSON bernama. `config.json`

Anda mulai menambahkan metrik khusus dengan mengganti nilai yang dapat diganti dalam contoh berikut dengan metrik dan pemanfaatan target Anda.

```
{
  "MetricSpecifications": [
    {
      "TargetValue": 50,
      "CustomizedScalingMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "scaling_metric",
            "MetricStat": {
              "Metric": {
                "MetricName": "MyUtilizationMetric",
                "Namespace": "MyNameSpace",
                "Dimensions": [
                  {
                    "Name": "MyOptionalMetricDimensionName",
                    "Value": "MyOptionalMetricDimensionValue"
                  }
                ]
              },
              "Stat": "Average"
            }
          }
        ]
      },
      "CustomizedLoadMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "load_metric",
            "MetricStat": {
              "Metric": {
                "MetricName": "MyLoadMetric",
                "Namespace": "MyNameSpace",
                "Dimensions": [
                  {
                    "Name": "MyOptionalMetricDimensionName",
                    "Value": "MyOptionalMetricDimensionValue"
                  }
                ]
              },
              "Stat": "Sum"
            }
          }
        ]
      }
    }
  ]
}
```

Untuk informasi lebih lanjut, lihat [MetricDataQuery](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_MetricDataQuery.html) dalam *Referensi API Amazon EC2 Auto Scaling*.

**catatan**  
Berikut adalah beberapa sumber daya tambahan yang dapat membantu Anda menemukan nama metrik, ruang nama, dimensi, dan statistik untuk CloudWatch metrik:   
Untuk informasi tentang metrik yang tersedia untuk AWS layanan, lihat [AWS layanan yang memublikasikan CloudWatch metrik](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) di * CloudWatch Panduan Pengguna Amazon*.
[Untuk mendapatkan nama metrik, namespace, dan dimensi yang tepat (jika ada) untuk CloudWatch metrik dengan metrik AWS CLI, lihat daftar-metrik.](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html) 

Untuk membuat kebijakan ini, jalankan [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/put-scaling-policy.html)perintah menggunakan file JSON sebagai input, seperti yang ditunjukkan dalam contoh berikut.

```
aws application-autoscaling put-scaling-policy --policy-name my-predictive-scaling-policy \
  --auto-scaling-group-name my-asg --policy-type PredictiveScaling \
  --predictive-scaling-configuration file://config.json
```

Jika berhasil, perintah ini mengembalikan Amazon Resource Name (ARN) kebijakan.

```
{
  "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-b13a-d1905620f345:autoScalingGroupName/my-asg:policyName/my-predictive-scaling-policy",
  "Alarms": []
}
```

# Gunakan ekspresi matematika metrik
<a name="predictive-scaling-math-expression"></a>

Bagian berikut memberikan informasi tentang penggunaan matematika metrik dengan kebijakan penskalaan prediktif dalam kebijakan Anda. 

## Memahami matematika metrik
<a name="predictive-scaling-custom-metrics-math"></a>

Jika yang ingin Anda lakukan hanyalah mengumpulkan data metrik yang ada, matematika CloudWatch metrik menghemat upaya dan biaya penerbitan metrik lain. CloudWatch Anda dapat menggunakan metrik apa pun yang AWS menyediakan, dan Anda juga dapat menggunakan metrik yang Anda tetapkan sebagai bagian dari aplikasi Anda.

Untuk informasi selengkapnya, lihat [Menggunakan matematika metrik](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html) di *Panduan CloudWatch Pengguna Amazon*. 

Jika Anda memilih untuk menggunakan ekspresi matematika metrik dalam kebijakan penskalaan prediktif Anda, pertimbangkan poin-poin berikut:
+ Operasi matematika metrik menggunakan titik data dari kombinasi unik nama metrik, namespace, dan keys/value pasangan dimensi metrik. 
+ Anda dapat menggunakan operator aritmatika (\$1 - \$1/^), fungsi statistik (seperti AVG atau SUM), atau fungsi lain yang mendukung. CloudWatch 
+ Anda dapat menggunakan metrik dan hasil ekspresi matematika lainnya dalam rumus ekspresi matematika. 
+ Ekspresi matematika metrik Anda dapat terdiri dari agregasi yang berbeda. Namun, ini adalah praktik terbaik untuk hasil agregasi akhir yang digunakan `Average` untuk metrik penskalaan dan `Sum` untuk metrik beban.
+ Setiap ekspresi yang digunakan dalam spesifikasi metrik pada akhirnya harus mengembalikan satu deret waktu.

Untuk menggunakan matematika metrik, lakukan hal berikut:
+ Pilih satu atau beberapa CloudWatch metrik. Kemudian, buat ekspresi. Untuk informasi selengkapnya, lihat [Menggunakan matematika metrik](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html) di *Panduan CloudWatch Pengguna Amazon*. 
+ Verifikasi bahwa ekspresi matematika metrik valid dengan menggunakan CloudWatch konsol atau CloudWatch [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html)API.

## Contoh kebijakan penskalaan prediktif yang menggabungkan metrik menggunakan metrik matematika ()AWS CLI
<a name="custom-metrics-ex2"></a>

Terkadang, alih-alih menentukan metrik secara langsung, Anda mungkin perlu terlebih dahulu memproses datanya dengan cara tertentu. Misalnya, Anda mungkin memiliki aplikasi yang menarik pekerjaan dari antrean Amazon SQS, dan Anda mungkin ingin menggunakan jumlah item dalam antrian sebagai kriteria untuk penskalaan prediktif. Jumlah pesan dalam antrian tidak hanya menentukan jumlah instance yang Anda butuhkan. Oleh karena itu, lebih banyak pekerjaan diperlukan untuk membuat metrik yang dapat digunakan untuk menghitung backlog per instance.

Berikut ini adalah contoh kebijakan penskalaan prediktif untuk skenario ini. Ini menentukan metrik penskalaan dan pemuatan yang didasarkan pada metrik Amazon SQS`ApproximateNumberOfMessagesVisible`, yang merupakan jumlah pesan yang tersedia untuk diambil dari antrian. Ini juga menggunakan metrik Amazon EC2 `GroupInServiceInstances` Auto Scaling dan ekspresi matematika untuk menghitung backlog per instance untuk metrik penskalaan.

```
aws application-autoscaling put-scaling-policy --policy-name my-sqs-custom-metrics-policy \
  --policy-type PredictiveScaling \
  --predictive-scaling-configuration file://config.json
  --service-namespace ecs \
  --resource-id service/MyCluster/test \
  "MetricSpecifications": [
    {
      "TargetValue": 100,
      "CustomizedScalingMetricSpecification": {
        "MetricDataQueries": [
          {
            "Label": "Get the queue size (the number of messages waiting to be processed)",
            "Id": "queue_size",
            "MetricStat": {
              "Metric": {
                "MetricName": "ApproximateNumberOfMessagesVisible",
                "Namespace": "AWS/SQS",
                "Dimensions": [
                  {
                    "Name": "QueueName",
                    "Value": "my-queue"
                  }
                ]
              },
              "Stat": "Sum"
            },
            "ReturnData": false
          },
          {
            "Label": "Get the group size (the number of running instances)",
            "Id": "running_capacity",
            "MetricStat": {
              "Metric": {
                "MetricName": "GroupInServiceInstances",
                "Namespace": "AWS/AutoScaling",
                "Dimensions": [
                  {
                    "Name": "AutoScalingGroupName",
                    "Value": "my-asg"
                  }
                ]
              },
              "Stat": "Sum"
            },
            "ReturnData": false
          },
          {
            "Label": "Calculate the backlog per instance",
            "Id": "scaling_metric",
            "Expression": "queue_size / running_capacity",
            "ReturnData": true
          }
        ]
      },
      "CustomizedLoadMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "load_metric",
            "MetricStat": {
              "Metric": {
                "MetricName": "ApproximateNumberOfMessagesVisible",
                "Namespace": "AWS/SQS",
                "Dimensions": [
                  {
                    "Name": "QueueName",
                    "Value": "my-queue"
                  }
                ],
              },
              "Stat": "Sum"
            },
            "ReturnData": true
          }
        ]
      }
    }
  ]
}
```

Contoh mengembalikan ARN kebijakan.

```
{
  "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-b13a-d1905620f345:autoScalingGroupName/my-asg:policyName/my-sqs-custom-metrics-policy",
  "Alarms": []
}
```