

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

# Penskalaan prediktif untuk Amazon EC2 Auto Scaling
<a name="ec2-auto-scaling-predictive-scaling"></a>

Penskalaan prediktif bekerja dengan menganalisis data beban historis untuk mendeteksi pola harian atau mingguan dalam arus lalu lintas. Ini menggunakan informasi ini untuk memperkirakan kebutuhan kapasitas masa depan sehingga Amazon EC2 Auto Scaling dapat secara proaktif meningkatkan kapasitas grup Auto Scaling Anda agar sesuai dengan beban yang diantisipasi.

Penskalaan prediktif sangat cocok untuk situasi di mana Anda memiliki:
+ Lalu lintas siklus, seperti penggunaan sumber daya yang tinggi selama jam kerja reguler dan penggunaan sumber daya yang rendah selama malam hari dan akhir pekan
+ Pola on-and-off beban kerja berulang, seperti pemrosesan batch, pengujian, atau analisis data berkala
+ Aplikasi yang membutuhkan waktu lama untuk diinisialisasi, menyebabkan dampak latensi yang nyata pada kinerja aplikasi selama peristiwa scale-out

Secara umum, jika Anda memiliki pola peningkatan lalu lintas reguler dan aplikasi yang membutuhkan waktu lama untuk diinisialisasi, Anda harus mempertimbangkan untuk menggunakan penskalaan prediktif. Penskalaan prediktif dapat membantu Anda menskalakan lebih cepat dengan meluncurkan kapasitas sebelum beban yang diperkirakan, dibandingkan dengan hanya menggunakan penskalaan dinamis, yang bersifat reaktif. Penskalaan prediktif juga berpotensi menghemat uang pada tagihan EC2 Anda dengan membantu Anda menghindari kebutuhan untuk kapasitas penyediaan yang berlebihan.

Misalnya, pertimbangkan aplikasi yang memiliki penggunaan tinggi selama jam kerja dan penggunaan rendah dalam semalam. Pada awal setiap hari kerja, penskalaan prediktif dapat menambah kapasitas 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 untuk meninjau pola pemuatan aplikasi Anda dan mencoba menjadwalkan jumlah kapasitas yang tepat menggunakan penskalaan terjadwal. 

**Topics**
+ [Cara kerja penskalaan prediktif](predictive-scaling-policy-overview.md)
+ [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-customized-metric-specification.md)

# Cara kerja penskalaan prediktif
<a name="predictive-scaling-policy-overview"></a>

Topik ini menjelaskan cara kerja penskalaan prediktif dan menjelaskan apa yang harus dipertimbangkan saat Anda membuat kebijakan penskalaan prediktif.

**Topics**
+ [Cara kerjanya](#how-predictive-scaling-works)
+ [Batas kapasitas maksimum](#predictive-scaling-maximum-capacity-limit)
+ [Pertimbangan-pertimbangan](#predictive-scaling-considerations)
+ [Wilayah yang Didukung](#predictive-scaling-regions)

## Cara kerjanya
<a name="how-predictive-scaling-works"></a>

Untuk menggunakan penskalaan prediktif, buat kebijakan penskalaan prediktif yang menentukan CloudWatch metrik untuk dipantau dan dianalisis. Agar penskalaan prediktif mulai meramalkan nilai masa depan, metrik ini harus memiliki setidaknya 24 jam data.

Setelah Anda membuat kebijakan, penskalaan prediktif mulai menganalisis data metrik hingga 14 hari terakhir untuk mengidentifikasi pola. Ini menggunakan analisis ini untuk menghasilkan perkiraan per jam persyaratan kapasitas untuk 48 jam ke depan. Prakiraan diperbarui setiap 6 jam menggunakan CloudWatch data terbaru. Saat data baru masuk, penskalaan prediktif mampu terus meningkatkan akurasi prakiraan masa depan.

Saat Anda pertama kali mengaktifkan penskalaan prediktif, penskalaan ini berjalan dalam mode *perkiraan saja*. Dalam mode ini, ini menghasilkan perkiraan kapasitas tetapi tidak benar-benar menskalakan grup Auto Scaling Anda berdasarkan perkiraan tersebut. Ini memungkinkan Anda untuk mengevaluasi keakuratan dan kesesuaian ramalan. Anda dapat melihat data perkiraan dengan menggunakan operasi `GetPredictiveScalingForecast` API atau Konsol Manajemen AWS.

Setelah Anda meninjau data perkiraan dan memutuskan untuk memulai penskalaan berdasarkan data tersebut, alihkan kebijakan penskalaan ke mode *perkiraan dan skala*. Dalam mode ini:
+ Jika perkiraan mengharapkan peningkatan beban, Amazon EC2 Auto Scaling akan meningkatkan kapasitas dengan menskalakan.
+ Jika perkiraan mengharapkan penurunan beban, itu tidak akan skala untuk menghapus kapasitas. Jika Anda ingin menghapus kapasitas yang tidak lagi diperlukan, Anda harus membuat kebijakan penskalaan dinamis.

Secara default, Amazon EC2 Auto Scaling menskalakan grup Auto Scaling Anda pada awal setiap jam berdasarkan perkiraan untuk jam tersebut. Anda dapat menentukan waktu mulai yang lebih awal secara opsional dengan menggunakan `SchedulingBufferTime` properti dalam operasi `PutScalingPolicy` API atau setelan **instans Pra-peluncuran** di. Konsol Manajemen AWS Hal ini menyebabkan Amazon EC2 Auto Scaling meluncurkan instans baru sebelum permintaan yang diperkirakan, memberi mereka waktu untuk boot dan siap menangani lalu lintas. 

Untuk mendukung peluncuran instans baru sebelum permintaan yang diperkirakan, kami sangat menyarankan agar Anda mengaktifkan *pemanasan instans default untuk grup Auto Scaling* Anda. Ini menentukan periode waktu setelah aktivitas scale-out selama Amazon EC2 Auto Scaling tidak akan diskalakan, bahkan jika kebijakan penskalaan dinamis menunjukkan kapasitas harus dikurangi. Ini membantu Anda memastikan bahwa instans yang baru diluncurkan memiliki waktu yang cukup untuk mulai melayani peningkatan lalu lintas sebelum dipertimbangkan untuk operasi skala. Untuk informasi selengkapnya, lihat [Menetapkan pemanasan instans default untuk grup Auto Scaling](ec2-auto-scaling-default-instance-warmup.md).

## Batas kapasitas maksimum
<a name="predictive-scaling-maximum-capacity-limit"></a>

Grup Auto Scaling memiliki pengaturan kapasitas maksimum yang membatasi jumlah maksimum instans EC2 yang dapat diluncurkan untuk grup. Secara default, ketika kebijakan penskalaan ditetapkan, mereka tidak dapat meningkatkan kapasitas lebih tinggi dari kapasitas maksimumnya.

Atau, Anda dapat mengizinkan kapasitas maksimum grup ditingkatkan secara otomatis jika kapasitas perkiraan mendekati atau melebihi kapasitas maksimum grup Auto Scaling. Untuk mengaktifkan perilaku ini, gunakan `MaxCapacityBuffer` properti `MaxCapacityBreachBehavior` dan dalam operasi `PutScalingPolicy` API atau setelan **perilaku kapasitas Maks** di Konsol Manajemen AWS. 

**Awas**  
Berhati-hatilah saat memungkinkan kapasitas maksimum ditingkatkan secara otomatis. Hal ini dapat menyebabkan lebih banyak instance diluncurkan daripada yang dimaksudkan jika peningkatan kapasitas maksimum tidak dipantau dan dikelola. Peningkatan kapasitas maksimum kemudian menjadi kapasitas maksimum normal baru untuk grup Auto Scaling hingga Anda memperbaruinya secara manual. Kapasitas maksimum tidak secara otomatis berkurang kembali ke maksimum asli.

## Pertimbangan-pertimbangan
<a name="predictive-scaling-considerations"></a>
+ Konfirmasikan apakah penskalaan prediktif cocok untuk beban kerja Anda. Beban kerja sangat cocok untuk penskalaan prediktif jika menunjukkan pola beban berulang yang spesifik untuk hari dalam seminggu atau waktu dalam sehari. Untuk memeriksanya, konfigurasikan kebijakan penskalaan prediktif dalam mode *hanya perkiraan*, lalu lihat rekomendasi di konsol. Amazon EC2 Auto Scaling memberikan rekomendasi berdasarkan pengamatan tentang potensi kinerja kebijakan. Evaluasi perkiraan dan rekomendasi sebelum membiarkan penskalaan prediktif secara aktif menskalakan aplikasi Anda.
+ Penskalaan prediktif membutuhkan setidaknya 24 jam data historis untuk memulai peramalan. Namun, perkiraan lebih efektif jika data historis mencakup dua minggu penuh. Jika Anda memperbarui aplikasi Anda dengan membuat grup Auto Scaling baru dan menghapus yang lama, maka grup Auto Scaling baru Anda memerlukan 24 jam data pemuatan historis sebelum penskalaan prediktif dapat mulai menghasilkan prakiraan lagi. Anda dapat menggunakan metrik khusus untuk menggabungkan metrik di seluruh grup Auto Scaling lama dan baru. Jika tidak, Anda mungkin harus menunggu beberapa hari untuk perkiraan yang lebih akurat. 
+ Pilih metrik pemuatan yang secara akurat mewakili beban penuh pada aplikasi Anda dan merupakan aspek aplikasi Anda yang paling penting untuk diskalakan.
+ Menggunakan penskalaan dinamis dengan penskalaan prediktif membantu Anda mengikuti kurva permintaan untuk aplikasi Anda dengan cermat, penskalaan selama periode lalu lintas rendah dan penskalaan saat lalu lintas lebih tinggi dari yang diharapkan. Ketika beberapa kebijakan penskalaan aktif, setiap kebijakan menentukan kapasitas yang diinginkan secara independen, dan kapasitas yang diinginkan diatur secara maksimal. Misalnya, jika 10 instans diperlukan untuk tetap pada pemanfaatan target dalam kebijakan penskalaan pelacakan target, dan 8 instance diperlukan untuk tetap pada pemanfaatan target dalam kebijakan penskalaan prediktif, maka kapasitas yang diinginkan grup ditetapkan ke 10. Jika Anda baru mengenal penskalaan dinamis, sebaiknya gunakan kebijakan penskalaan pelacakan target. Untuk informasi selengkapnya, lihat [Penskalaan dinamis untuk Amazon EC2 Auto Scaling](as-scale-based-on-demand.md).
+ Asumsi inti dari penskalaan prediktif adalah bahwa grup Auto Scaling homogen dan semua instance memiliki kapasitas yang sama. Jika ini tidak benar untuk grup Anda, kapasitas yang diperkirakan bisa tidak akurat. Oleh karena itu, berhati-hatilah saat membuat kebijakan penskalaan prediktif untuk [grup instance campuran](ec2-auto-scaling-mixed-instances-groups.md) karena instance dari berbagai jenis dapat disediakan dengan kapasitas yang tidak sama. Berikut adalah beberapa contoh di mana kapasitas yang diperkirakan tidak akurat:
  + Kebijakan penskalaan prediktif Anda didasarkan pada pemanfaatan CPU, tetapi jumlah v CPUs pada setiap instans Auto Scaling bervariasi antar jenis instans.
  + Kebijakan penskalaan prediktif Anda didasarkan pada jaringan masuk atau keluar jaringan, tetapi throughput bandwidth jaringan untuk setiap instans Auto Scaling bervariasi antar jenis instans. Misalnya, tipe instans M5 dan M5n serupa, tetapi tipe instans M5n memberikan throughput jaringan yang jauh lebih tinggi.

## Wilayah yang Didukung
<a name="predictive-scaling-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 (Hyderabad)
+ Asia Pasifik (Jakarta)
+ Asia Pasifik (Melbourne)
+ Asia Pasifik (Mumbai)
+ Asia Pasifik (Osaka)
+ Asia Pasifik (Seoul)
+ Asia Pasifik (Singapura)
+ Asia Pasifik (Sydney)
+ Asia Pasifik (Tokyo)
+ (Canada (Central)
+ Kanada Barat (Calgary)
+ China (Beijing)
+ Tiongkok (Ningxia)
+ Eropa (Frankfurt)
+ Eropa (Irlandia)
+ Eropa (London)
+ Eropa (Milan)
+ Eropa (Paris)
+ Eropa (Spanyol)
+ Eropa (Stockholm)
+ Eropa (Zürich)
+ Israel (Tel Aviv)
+ Timur Tengah (Bahrain)
+ Timur Tengah (UEA)
+ Amerika Selatan (Sao Paulo)
+ AWS GovCloud (AS-Timur)
+ AWS GovCloud (AS-Barat)

# Membuat kebijakan penskalaan prediktif untuk grup Auto Scaling
<a name="predictive-scaling-create-policy"></a>

Prosedur berikut membantu Anda membuat kebijakan penskalaan prediktif menggunakan atau. Konsol Manajemen AWS AWS CLI

Jika grup Auto Scaling baru, grup Auto Scaling harus menyediakan setidaknya 24 jam data sebelum Amazon EC2 Auto Scaling dapat menghasilkan perkiraan untuk itu. 

**Topics**
+ [Membuat kebijakan penskalaan prediktif (konsol)](#predictive-scaling-policy-console)
+ [Buat kebijakan penskalaan prediktif ()AWS CLI](#predictive-scaling-policy-aws-cli)

## Membuat kebijakan penskalaan prediktif (konsol)
<a name="predictive-scaling-policy-console"></a>

*Jika ini adalah pertama kalinya Anda membuat kebijakan penskalaan prediktif, sebaiknya gunakan konsol untuk membuat beberapa kebijakan penskalaan prediktif dalam mode perkiraan saja.* Ini memungkinkan Anda untuk menguji efek potensial dari berbagai metrik dan nilai target. Anda dapat membuat beberapa kebijakan penskalaan prediktif untuk setiap grup Auto Scaling, tetapi hanya satu kebijakan yang dapat digunakan untuk penskalaan aktif.

### Membuat kebijakan penskalaan prediktif di konsol (metrik yang telah ditentukan sebelumnya)
<a name="create-a-predictive-scaling-policy-in-the-console"></a>

Gunakan prosedur berikut untuk membuat kebijakan penskalaan prediktif menggunakan metrik yang telah ditentukan (CPU, I/O jaringan, atau jumlah permintaan Application Load Balancer per target). Cara termudah untuk membuat kebijakan penskalaan prediktif adalah dengan menggunakan metrik yang telah ditentukan sebelumnya. Jika Anda lebih suka menggunakan metrik khusus, lihat[Membuat kebijakan penskalaan prediktif di konsol (metrik khusus)](#create-a-predictive-scaling-policy-in-the-console-custom-metrics).

**Untuk membuat kebijakan penskalaan prediktif**

1. Buka konsol Amazon EC2 di [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/), dan pilih Grup **Auto Scaling** dari panel navigasi.

1. Pilih kotak centang di samping grup Auto Scaling Anda.

   Panel split terbuka di bagian bawah halaman. 

1. Pada tab **Penskalaan otomatis**, di Kebijakan **penskalaan, pilih Buat kebijakan penskalaan** **prediktif**.

1. Masukkan nama untuk kebijakan.

1. Aktifkan **Skala berdasarkan perkiraan** untuk memberikan izin Amazon EC2 Auto Scaling untuk segera memulai penskalaan.

   Untuk menjaga kebijakan dalam mode *hanya perkiraan*, matikan **Skala berdasarkan perkiraan**. 

1. Untuk **Metrik**, pilih metrik Anda dari daftar opsi. Opsi termasuk **CPU**, **Network In, Network** **Out**, **jumlah permintaan Application Load Balancer**, dan pasangan **metrik kustom**.

   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 ke grup Auto Scaling Anda. 

   Jika Anda memilih **Pasangan metrik kustom**, pilih metrik individual dari daftar drop-down untuk metrik **Muat dan metrik** **Penskalaan**. 

1. Untuk **pemanfaatan Target**, masukkan nilai target yang harus dipertahankan oleh Amazon EC2 Auto Scaling. Amazon EC2 Auto Scaling meningkatkan kapasitas Anda hingga penggunaan rata-rata berada pada target penggunaan, atau hingga mencapai jumlah maksimum instans yang Anda tentukan.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/predictive-scaling-create-policy.html)

1. (Opsional) Untuk **instans Pra-peluncuran**, pilih seberapa jauh sebelumnya Anda ingin instans diluncurkan sebelum perkiraan panggilan agar beban meningkat. 

1. (Opsional) Untuk **perilaku kapasitas Maks**, pilih apakah akan membiarkan Amazon EC2 Auto Scaling keluar lebih tinggi dari kapasitas maksimum grup jika kapasitas yang diprediksi melebihi maksimum yang ditentukan. Mengaktifkan pengaturan ini memungkinkan skala keluar terjadi selama periode ketika lalu lintas Anda diperkirakan berada pada titik tertinggi.

1. (Opsional) Untuk **kapasitas maksimum Buffer di atas kapasitas yang diperkirakan**, pilih berapa banyak kapasitas tambahan yang akan digunakan ketika kapasitas yang diprediksi mendekati atau melebihi kapasitas maksimum. Nilai ditentukan sebagai persentase relatif terhadap kapasitas yang diprediksi. Misalnya, jika buffer adalah 10, ini berarti buffer 10 persen. Oleh karena itu, jika kapasitas yang diprediksi adalah 50 dan kapasitas maksimum adalah 40, kapasitas maksimum efektif adalah 55. 

   Jika disetel ke 0, Amazon EC2 Auto Scaling mungkin menskalakan kapasitas lebih tinggi dari kapasitas maksimum hingga sama tetapi tidak melebihi kapasitas yang diprediksi.

1. Pilih **Buat kebijakan penskalaan prediktif**.

### Membuat kebijakan penskalaan prediktif di konsol (metrik khusus)
<a name="create-a-predictive-scaling-policy-in-the-console-custom-metrics"></a>

Gunakan prosedur berikut untuk membuat kebijakan penskalaan prediktif menggunakan metrik kustom. Metrik khusus dapat mencakup metrik lain yang disediakan oleh CloudWatch atau metrik yang Anda publikasikan. CloudWatch Untuk menggunakan jumlah permintaan CPU, I/O jaringan, atau Application Load Balancer per target, lihat. [Membuat kebijakan penskalaan prediktif di konsol (metrik yang telah ditentukan sebelumnya)](#create-a-predictive-scaling-policy-in-the-console)

Untuk membuat kebijakan penskalaan prediktif menggunakan metrik kustom, Anda harus melakukan hal berikut:
+ Anda harus memberikan kueri mentah yang memungkinkan Amazon EC2 Auto Scaling berinteraksi dengan metrik di dalamnya. CloudWatch Untuk informasi selengkapnya, lihat [Kebijakan penskalaan prediktif lanjutan menggunakan metrik khusus](predictive-scaling-customized-metric-specification.md). Untuk memastikan bahwa Amazon EC2 Auto Scaling dapat mengekstrak CloudWatch data metrik dari, konfirmasikan bahwa setiap kueri mengembalikan titik data. Konfirmasikan ini dengan menggunakan CloudWatch konsol atau operasi CloudWatch [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html)API. 
**catatan**  
Kami menyediakan contoh muatan JSON di editor JSON di konsol Amazon EC2 Auto Scaling. Contoh-contoh ini memberi Anda referensi untuk pasangan nilai kunci yang diperlukan untuk menambahkan metrik lain yang disediakan oleh AWS atau CloudWatch metrik yang sebelumnya Anda publikasikan. CloudWatch Anda dapat menggunakannya sebagai titik awal, lalu menyesuaikannya dengan kebutuhan Anda.
+ Jika Anda menggunakan matematika metrik apa pun, Anda harus membuat JSON secara manual agar sesuai dengan skenario unik Anda. Untuk informasi selengkapnya, lihat [Gunakan ekspresi matematika metrik](using-math-expression-examples.md). Sebelum menggunakan matematika metrik dalam kebijakan Anda, konfirmasikan bahwa kueri metrik berdasarkan ekspresi matematika metrik valid dan kembalikan satu deret waktu. Konfirmasikan ini dengan menggunakan CloudWatch konsol atau operasi CloudWatch [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html)API.

Jika Anda membuat kesalahan dalam kueri dengan memberikan data yang salah, seperti nama grup Auto Scaling yang salah, perkiraan tidak akan memiliki data apa pun. Untuk memecahkan masalah metrik kustom, lihat. [Pertimbangan untuk metrik kustom dalam kebijakan penskalaan prediktif](custom-metrics-troubleshooting.md)

**Untuk membuat kebijakan penskalaan prediktif**

1. Buka konsol Amazon EC2 di [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/), dan pilih Grup **Auto Scaling** dari panel navigasi.

1. Pilih kotak centang di samping grup Auto Scaling Anda.

   Panel split terbuka di bagian bawah halaman. 

1. Pada tab **Penskalaan otomatis**, di Kebijakan **penskalaan, pilih Buat kebijakan penskalaan** **prediktif**.

1. Masukkan nama untuk kebijakan.

1. Aktifkan **Skala berdasarkan perkiraan** untuk memberikan izin Amazon EC2 Auto Scaling untuk segera memulai penskalaan.

   Untuk menjaga kebijakan dalam mode *hanya perkiraan*, matikan **Skala berdasarkan perkiraan**. 

1. Untuk **Metrik**, pilih **Pasangan metrik kustom**.

   1. Untuk **metrik Load**, pilih ** CloudWatch Metrik kustom** untuk menggunakan metrik kustom. Buat payload JSON yang berisi definisi metrik beban untuk kebijakan dan tempelkan ke kotak editor JSON, menggantikan apa yang sudah ada di dalam kotak.

   1. Untuk **metrik Penskalaan**, pilih ** CloudWatch Metrik khusus** untuk menggunakan metrik kustom. Buat payload JSON yang berisi definisi metrik penskalaan untuk kebijakan dan tempelkan ke kotak editor JSON, menggantikan apa yang sudah ada di dalam kotak. 

   1. (Opsional) Untuk menambahkan metrik kapasitas khusus, pilih kotak centang untuk **Tambahkan metrik kapasitas khusus**. Buat payload JSON yang berisi definisi metrik kapasitas untuk kebijakan dan tempelkan ke kotak editor JSON, menggantikan apa yang sudah ada di dalam kotak.

      Anda hanya perlu mengaktifkan opsi ini untuk membuat rangkaian waktu baru untuk kapasitas jika data metrik kapasitas Anda mencakup beberapa grup Auto Scaling. Dalam hal ini, Anda harus menggunakan matematika metrik untuk menggabungkan data ke dalam satu deret waktu.

1. Untuk **pemanfaatan Target**, masukkan nilai target yang harus dipertahankan oleh Amazon EC2 Auto Scaling. Amazon EC2 Auto Scaling meningkatkan kapasitas Anda hingga penggunaan rata-rata berada pada target penggunaan, atau hingga mencapai jumlah maksimum instans yang Anda tentukan. 

1. (Opsional) Untuk **instans Pra-peluncuran**, pilih seberapa jauh sebelumnya Anda ingin instans diluncurkan sebelum perkiraan panggilan agar beban meningkat. 

1. (Opsional) Untuk **perilaku kapasitas Maks**, pilih apakah akan membiarkan Amazon EC2 Auto Scaling keluar lebih tinggi dari kapasitas maksimum grup jika kapasitas yang diprediksi melebihi maksimum yang ditentukan. Mengaktifkan pengaturan ini memungkinkan skala keluar terjadi selama periode ketika lalu lintas Anda diperkirakan berada pada titik tertinggi.

1. (Opsional) Untuk **kapasitas maksimum Buffer di atas kapasitas yang diperkirakan**, pilih berapa banyak kapasitas tambahan yang akan digunakan ketika kapasitas yang diprediksi mendekati atau melebihi kapasitas maksimum. Nilai ditentukan sebagai persentase relatif terhadap kapasitas yang diprediksi. Misalnya, jika buffer adalah 10, ini berarti buffer 10 persen. Oleh karena itu, jika kapasitas yang diprediksi adalah 50 dan kapasitas maksimum adalah 40, kapasitas maksimum efektif adalah 55. 

   Jika disetel ke 0, Amazon EC2 Auto Scaling mungkin menskalakan kapasitas lebih tinggi dari kapasitas maksimum hingga sama tetapi tidak melebihi kapasitas yang diprediksi.

1. Pilih **Buat kebijakan penskalaan prediktif**.

## Buat kebijakan penskalaan prediktif ()AWS CLI
<a name="predictive-scaling-policy-aws-cli"></a>

Gunakan AWS CLI sebagai berikut untuk mengonfigurasi kebijakan penskalaan prediktif untuk grup Auto Scaling 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 yang membuat prakiraan tetapi tidak menskalakan
<a name="predictive-scaling-configuration-ex1"></a>

Contoh kebijakan berikut menunjukkan konfigurasi kebijakan lengkap yang menggunakan metrik pemanfaatan CPU untuk penskalaan prediktif dengan pemanfaatan target. `40` `ForecastOnly`mode digunakan secara default, kecuali Anda secara eksplisit menentukan mode mana yang akan digunakan. Simpan konfigurasi ini dalam file bernama `config.json`.

```
{
    "MetricSpecifications": [
        {
            "TargetValue": 40,
            "PredefinedMetricPairSpecification": {
                "PredefinedMetricType": "ASGCPUUtilization"
            }
        }
    ]
}
```

Untuk membuat kebijakan dari baris perintah, jalankan [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)perintah dengan file konfigurasi yang ditentukan, seperti yang ditunjukkan dalam contoh berikut.

```
aws autoscaling put-scaling-policy --policy-name cpu40-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/cpu40-predictive-scaling-policy",
  "Alarms": []
}
```

### Contoh 2: Kebijakan penskalaan prediktif yang memperkirakan dan menskalakan
<a name="predictive-scaling-configuration-ex2"></a>

Untuk kebijakan yang memungkinkan Amazon EC2 Auto Scaling untuk memperkirakan dan menskalakan, tambahkan properti dengan `Mode` nilai sebesar. `ForecastAndScale` Contoh berikut menunjukkan konfigurasi kebijakan yang menggunakan metrik jumlah permintaan Application Load Balancer. Pemanfaatan target adalah`1000`, dan penskalaan prediktif diatur ke mode. `ForecastAndScale`

```
{
    "MetricSpecifications": [
        {
            "TargetValue": 1000,
            "PredefinedMetricPairSpecification": {
                "PredefinedMetricType": "ALBRequestCount",
                "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff"
            }
        }
    ],
    "Mode": "ForecastAndScale"
}
```

Untuk membuat kebijakan ini, jalankan [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)perintah dengan file konfigurasi yang ditentukan, seperti yang ditunjukkan dalam contoh berikut.

```
aws autoscaling put-scaling-policy --policy-name alb1000-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:19556d63-7914-4997-8c81-d27ca5241386:autoScalingGroupName/my-asg:policyName/alb1000-predictive-scaling-policy",
  "Alarms": []
}
```

### Contoh 3: Kebijakan penskalaan prediktif yang dapat menskalakan lebih tinggi dari kapasitas maksimum
<a name="predictive-scaling-configuration-ex3"></a>

Contoh berikut menunjukkan cara membuat kebijakan yang dapat menskalakan lebih tinggi dari batas ukuran maksimum grup saat Anda membutuhkannya untuk menangani beban yang lebih tinggi dari normal. Secara default, Amazon EC2 Auto Scaling tidak menskalakan kapasitas EC2 Anda lebih tinggi dari kapasitas maksimum yang ditentukan. Namun, mungkin bermanfaat untuk membiarkannya berskala lebih tinggi dengan kapasitas yang sedikit lebih besar untuk menghindari masalah kinerja atau ketersediaan.

Untuk menyediakan ruang bagi Amazon EC2 Auto Scaling untuk menyediakan kapasitas tambahan saat kapasitas diprediksi berada pada atau sangat dekat dengan ukuran maksimum grup Anda, `MaxCapacityBreachBehavior` tentukan properti dan properti, seperti `MaxCapacityBuffer` yang ditunjukkan pada contoh berikut. Anda harus menentukan `MaxCapacityBreachBehavior` dengan nilai`IncreaseMaxCapacity`. Jumlah maksimum instance yang dapat dimiliki grup Anda tergantung pada nilainya. `MaxCapacityBuffer` 

```
{
    "MetricSpecifications": [
        {
            "TargetValue": 70,
            "PredefinedMetricPairSpecification": {
                "PredefinedMetricType": "ASGCPUUtilization"
            }
        }
    ],
    "MaxCapacityBreachBehavior": "IncreaseMaxCapacity",
    "MaxCapacityBuffer": 10
}
```

Dalam contoh ini, kebijakan dikonfigurasi untuk menggunakan buffer (`"MaxCapacityBuffer": 10`) 10 persen, jadi jika kapasitas yang diprediksi adalah 50 dan kapasitas maksimum adalah 40, maka kapasitas maksimum efektif adalah 55. Kebijakan yang dapat menskalakan kapasitas lebih tinggi dari kapasitas maksimum untuk sama tetapi tidak melebihi kapasitas yang diprediksi akan memiliki buffer 0 (`"MaxCapacityBuffer": 0`). 

Untuk membuat kebijakan ini, jalankan [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)perintah dengan file konfigurasi yang ditentukan, seperti yang ditunjukkan dalam contoh berikut.

```
aws autoscaling put-scaling-policy --policy-name cpu70-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:d02ef525-8651-4314-bf14-888331ebd04f:autoScalingGroupName/my-asg:policyName/cpu70-predictive-scaling-policy",
  "Alarms": []
}
```

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

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

Jika grup Auto Scaling baru, berikan Amazon EC2 Auto Scaling 24 jam untuk membuat perkiraan pertama.

Saat Amazon EC2 Auto Scaling membuat perkiraan, ia menggunakan data historis. Jika grup Auto Scaling Anda belum memiliki banyak data historis terbaru, Amazon EC2 Auto Scaling mungkin untuk sementara mengisi ulang perkiraan dengan agregat yang dibuat dari agregat historis yang tersedia saat ini. Prakiraan diisi kembali hingga dua minggu sebelum tanggal pembuatan kebijakan.

**Topics**
+ [Lihat rekomendasi Anda](#view-predictive-scaling-recommendations)
+ [Tinjau grafik pemantauan](#review-predictive-scaling-monitoring-graphs)
+ [Pantau metrik dengan CloudWatch](monitor-predictive-scaling-cloudwatch.md)

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

Untuk analisis yang efektif, Amazon EC2 Auto Scaling 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 EC2 Auto Scaling segera mulai mengevaluasi kebijakan mana yang akan melakukan pekerjaan yang lebih baik dalam menskalakan grup Anda.

**Untuk melihat rekomendasi Anda di konsol Amazon EC2 Auto Scaling**

1. Buka konsol Amazon EC2 di [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/), dan pilih Grup **Auto Scaling** dari panel navigasi.

1. Pilih kotak centang di samping grup Auto Scaling. 

   Panel split terbuka di bagian bawah halaman.

1. Pada tab **Penskalaan otomatis**, di bawah **Kebijakan penskalaan prediktif**, Anda dapat melihat detail tentang kebijakan beserta 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 instans 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 contoh yang berlebihan, dibandingkan dengan tidak menggunakan kebijakan. Dengan terlalu banyak penyediaan, instans 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**, **2 minggu**, **4 minggu**, **6 minggu**, atau **8** 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 Amazon EC2 Auto Scaling, 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 kapasitas aktual Anda.

**Untuk meninjau grafik pemantauan penskalaan prediktif di konsol Amazon EC2 Auto Scaling**

1. Pilih kebijakan dari daftar Kebijakan **penskalaan prediktif**. 

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 contoh yang diprediksi oleh kebijakan. Ini juga mencakup jumlah sebenarnya dari instans 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.

Gambar berikut menunjukkan grafik **Beban** dan **Kapasitas** saat prakiraan telah diterapkan beberapa kali. Prakiraan penskalaan prediktif dimuat berdasarkan data beban historis Anda. Beban yang dihasilkan aplikasi Anda direpresentasikan sebagai jumlah pemanfaatan CPU, masuk/keluar jaringan, permintaan yang diterima, atau metrik kustom untuk setiap instance dalam grup Auto Scaling. Penskalaan prediktif menghitung kebutuhan kapasitas masa depan berdasarkan perkiraan beban dan pemanfaatan target yang ingin Anda capai untuk metrik penskalaan.

![\[Grafik penskalaan prediktif\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/predictive-scaling-graphs.png)


**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 terakhir.

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. **Kapasitas pengamatan aktual menunjukkan kapasitas** aktual grup Auto Scaling Anda sebelumnya saat [GroupTotalInstances](ec2-auto-scaling-metrics.md#as-group-metrics)metrik diaktifkan. Kapasitas ini tergantung pada kebijakan penskalaan Anda yang lain dan ukuran grup minimum selama 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. **Kapasitas yang diperlukan yang disimpulkan** menunjukkan kapasitas ideal untuk mempertahankan metrik penskalaan pada nilai target yang Anda pilih.

1. **Kapasitas minimum** menunjukkan kapasitas minimum grup Auto Scaling.

1. **Kapasitas maksimum** menunjukkan kapasitas maksimum grup Auto Scaling.

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

Rumus untuk kapasitas yang dibutuhkan yang disimpulkan:

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

Sebagai contoh, kita mengambil `actualCapacityUnits` (`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 EC2 Auto Scaling menghitung jumlah instans yang disarankan untuk setiap kebijakan penskalaan dinamis. Kemudian, skala berdasarkan kebijakan yang menyediakan jumlah instance terbesar.
Agar penskalaan masuk terjadi saat beban berkurang, grup Auto Scaling 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 instans yang direkomendasikan yang tidak termasuk dalam rentang kapasitas minimum dan maksimum akan dicegah dari penskalaan masuk dan keluar.

# Pantau metrik penskalaan prediktif dengan CloudWatch
<a name="monitor-predictive-scaling-cloudwatch"></a>

Bergantung pada kebutuhan Anda, Anda mungkin lebih suka mengakses data pemantauan untuk penskalaan prediktif dari Amazon CloudWatch daripada konsol Amazon EC2 Auto Scaling. Setelah Anda membuat kebijakan penskalaan prediktif, kebijakan tersebut mengumpulkan data yang digunakan untuk memperkirakan beban dan kapasitas masa depan Anda. Setelah data ini dikumpulkan, secara otomatis disimpan CloudWatch secara berkala. Kemudian, Anda dapat menggunakannya CloudWatch untuk memvisualisasikan seberapa baik kinerja kebijakan dari waktu ke waktu. Anda juga dapat membuat CloudWatch alarm untuk memberi tahu Anda saat indikator kinerja berubah melampaui batas yang Anda tentukan. CloudWatch

**Topics**
+ [Visualisasikan data perkiraan historis](#visualize-historical-forecast-data)
+ [Buat metrik akurasi menggunakan matematika metrik](#create-accuracy-metrics)

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

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

Untuk informasi selengkapnya, lihat [Metrik dan dimensi penskalaan prediktif](ec2-auto-scaling-metrics.md#predictive-scaling-metrics).

**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 Auto Scaling**.

1. Pilih salah satu opsi berikut untuk melihat perkiraan beban atau metrik perkiraan kapasitas: 
   + **Prakiraan Beban Penskalaan Prediktif**
   + **Prakiraan Kapasitas Penskalaan Prediktif**

1. Di kolom pencarian, masukkan nama kebijakan penskalaan prediktif atau nama grup Auto Scaling, 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 **PredictiveScalingLoadForecast**dan **PredictiveScalingCapacityForecast**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.

   Misalnya, untuk menambahkan nilai aktual untuk pemanfaatan CPU ke grafik, pilih namespace **EC2** dan kemudian pilih By Auto **Scaling** Group. Kemudian, pilih kotak centang untuk **CPUUtilization**metrik dan grup Auto Scaling tertentu. 

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 Amazon EC2 Auto Scaling 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.

```
{
  "MetricDataQueries": [
    {
      "Expression": "TIME_SERIES(AVG(ABS(m1-m2)/m1))",
      "Id": "e1",
      "Period": 3600,
      "Label": "MeanAbsolutePercentageError",
      "ReturnData": true
    },
    {
      "Id": "m1",
      "Label": "ActualLoadValues",
      "MetricStat": {
        "Metric": {
          "Namespace": "AWS/EC2",
          "MetricName": "CPUUtilization",
          "Dimensions": [
            {
              "Name": "AutoScalingGroupName",
              "Value": "my-asg"
            }
          ]
        },
        "Period": 3600,
        "Stat": "Sum"
      },
      "ReturnData": false
    },
    {
      "Id": "m2",
      "Label": "ForecastedLoadValues",
      "MetricStat": {
        "Metric": {
          "Namespace": "AWS/AutoScaling",
          "MetricName": "PredictiveScalingLoadForecast",
          "Dimensions": [
            {
              "Name": "AutoScalingGroupName",
              "Value": "my-asg"
            },
            {
              "Name": "PolicyName",
              "Value": "my-predictive-scaling-policy"
            },
            {
              "Name": "PairIndex",
              "Value": "0"
            }
          ]
        },
        "Period": 3600,
        "Stat": "Average"
      },
      "ReturnData": false
    }
  ]
}
```

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 ((Aktual - 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.

# Ganti nilai perkiraan menggunakan tindakan terjadwal
<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 kapasitas yang dibutuhkan 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 kapasitas minimum yang lebih tinggi dari yang diperkirakan. Saat runtime, Amazon EC2 Auto Scaling memperbarui kapasitas minimum grup Auto Scaling Anda. Karena penskalaan prediktif mengoptimalkan kapasitas, tindakan terjadwal dengan kapasitas minimum yang lebih tinggi dari nilai perkiraan dihormati. Ini mencegah kapasitas menjadi kurang dari yang diharapkan. Untuk berhenti mengesampingkan perkiraan, gunakan tindakan terjadwal kedua untuk mengembalikan kapasitas 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 kapasitas sementara tanpa gangguan dari kebijakan penskalaan prediktif, gunakan mode *perkiraan saja*. Sementara dalam mode perkiraan saja, penskalaan prediktif akan terus menghasilkan perkiraan, tetapi tidak akan secara otomatis meningkatkan kapasitas. Anda kemudian dapat memantau pemanfaatan sumber daya dan secara manual mengurangi ukuran grup Anda sesuai kebutuhan. Untuk informasi selengkapnya tentang penskalaan secara manual, lihat[Skala manual untuk Amazon EC2 Auto Scaling](ec2-auto-scaling-scaling-manually.md). 

## 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://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/get-predictive-scaling-forecast.html) AWS CLI perintah, berikan parameter berikut dalam perintah: 
   + Masukkan nama grup Auto Scaling di parameter. `--auto-scaling-group-name` 
   + 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 autoscaling get-predictive-scaling-forecast --auto-scaling-group-name my-asg \
       --policy-name cpu40-predictive-scaling-policy \
       --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. 

**Untuk membuat dua tindakan terjadwal untuk acara satu kali (konsol)**

1. Buka konsol Amazon EC2 di [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/), dan pilih Grup **Auto Scaling** dari panel navigasi.

1. Pilih kotak centang di samping grup Auto Scaling Anda.

   Panel split terbuka di bagian bawah halaman. 

1. Pada tab **Auto scaling**, di **Tindakan terjadwal**, pilih **Buat tindakan terjadwal**.

1. Isi pengaturan tindakan terjadwal berikut:

   1. Masukkan **Nama** untuk tindakan yang dijadwalkan.

   1. Untuk **Min**, masukkan kapasitas minimum baru untuk grup Auto Scaling Anda. **Min** harus kurang dari atau sama dengan ukuran maksimum grup. Jika nilai Anda untuk **Min** lebih besar dari ukuran maksimum grup, Anda harus memperbarui **Max**. 

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

   1. Untuk **zona waktu**, pilih zona waktu. Jika tidak ada zona waktu yang dipilih, `ETC/UTC` digunakan secara default.

   1. Tentukan **waktu mulai yang spesifik**. 

1. Pilih **Buat**.

   Konsol menampilkan tindakan terjadwal untuk grup Auto Scaling. 

1. Konfigurasikan tindakan terjadwal kedua untuk mengembalikan kapasitas minimum ke pengaturan asli di akhir acara. Penskalaan prediktif dapat menskalakan kapasitas hanya jika nilai yang Anda tetapkan untuk **Min** 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://awscli.amazonaws.com/v2/documentation/api/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://awscli.amazonaws.com/v2/documentation/api/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 membuat, membuat daftar, mengedit, dan menghapus tindakan terjadwal, lihat[Skala terjadwal untuk Amazon EC2 Auto Scaling](ec2-auto-scaling-scheduled-scaling.md).

# Kebijakan penskalaan prediktif lanjutan menggunakan metrik khusus
<a name="predictive-scaling-customized-metric-specification"></a>

Dalam kebijakan penskalaan prediktif, Anda dapat menggunakan metrik yang telah ditentukan atau kustom. Metrik kustom berguna ketika metrik yang telah ditentukan (CPU, I/O jaringan, dan jumlah permintaan Application Load Balancer) tidak cukup menggambarkan pemuatan aplikasi Anda.

Saat membuat kebijakan penskalaan prediktif dengan metrik kustom, Anda dapat menentukan CloudWatch metrik lain 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. *Ketika Anda menggabungkan nilai dalam data Anda, misalnya, dengan menghitung jumlah atau rata-rata baru, itu disebut agregasi.* Data yang dihasilkan disebut *agregat*.

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

**Topics**
+ [Praktik terbaik](#custom-metrics-best-practices)
+ [Prasyarat](#custom-metrics-prerequisites)
+ [Membangun JSON untuk metrik khusus](construct-json-custom-metrics.md)
+ [Pertimbangan untuk metrik kustom dalam kebijakan penskalaan prediktif](custom-metrics-troubleshooting.md)
+ [Batasan](#custom-metrics-limitations)

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

Praktik terbaik berikut dapat membantu Anda menggunakan metrik kustom secara lebih efektif:
+ Untuk spesifikasi metrik beban, metrik yang paling berguna adalah metrik yang mewakili beban pada grup Auto Scaling secara keseluruhan, terlepas dari kapasitas grup.
+ Untuk spesifikasi metrik penskalaan, metrik yang paling berguna untuk diskalakan adalah throughput rata-rata atau pemanfaatan per metrik instance.
+ Metrik penskalaan harus berbanding terbalik dengan kapasitas. Artinya, jika jumlah instance dalam grup Auto Scaling meningkat, metrik penskalaan akan berkurang kira-kira proporsi yang sama. Untuk memastikan bahwa penskalaan prediktif berperilaku seperti yang diharapkan, metrik beban dan metrik penskalaan juga harus berkorelasi kuat satu sama lain. 
+ Pemanfaatan target harus sesuai dengan jenis metrik penskalaan. Untuk konfigurasi kebijakan yang menggunakan pemanfaatan CPU, ini adalah persentase target. Untuk konfigurasi kebijakan yang menggunakan throughput, seperti jumlah permintaan atau pesan, ini adalah jumlah target permintaan atau pesan per instance selama interval satu menit.
+ 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 Amazon EC2 Auto Scaling. Atau, setelah Anda membuat kebijakan penskalaan prediktif, periksa `LoadForecast` dan `CapacityForecast` objek yang ditampilkan oleh panggilan ke API. [GetPredictiveScalingForecast](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_GetPredictiveScalingForecast.html)
+ Kami sangat menyarankan agar Anda mengonfigurasi penskalaan prediktif dalam mode hanya perkiraan sehingga Anda dapat mengevaluasi perkiraan sebelum penskalaan prediktif mulai secara aktif menskalakan kapasitas.

## Prasyarat
<a name="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. Amazon EC2 Auto Scaling mengambil CloudWatch titik data berdasarkan panjang 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. 

# Membangun JSON untuk metrik khusus
<a name="construct-json-custom-metrics"></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 ()AWS CLI](#custom-metrics-ex1)

1. Untuk membuat kebijakan yang dapat menanyakan beberapa CloudWatch metrik dan menggunakan ekspresi matematika untuk membuat deret waktu baru berdasarkan metrik ini, lihat. [Gunakan ekspresi matematika metrik](using-math-expression-examples.md)

## Contoh kebijakan penskalaan prediktif dengan metrik pemuatan dan penskalaan khusus ()AWS CLI
<a name="custom-metrics-ex1"></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://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudwatch/list-metrics.html) 

Untuk membuat kebijakan ini, jalankan [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)perintah menggunakan file JSON sebagai input, seperti yang ditunjukkan dalam contoh berikut.

```
aws 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="using-math-expression-examples"></a>

Bagian berikut memberikan informasi dan contoh kebijakan penskalaan prediktif yang menunjukkan bagaimana Anda dapat menggunakan matematika metrik dalam kebijakan Anda. 

**Topics**
+ [Memahami matematika metrik](#custom-metrics-metric-math)
+ [Contoh kebijakan penskalaan prediktif yang menggabungkan metrik menggunakan metrik matematika ()AWS CLI](#custom-metrics-ex2)
+ [Contoh kebijakan penskalaan prediktif yang akan digunakan dalam skenario blue/green penerapan ()AWS CLI](#custom-metrics-ex3)

## Memahami matematika metrik
<a name="custom-metrics-metric-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 tentukan sebagai bagian dari aplikasi Anda. Misalnya, Anda mungkin ingin menghitung backlog antrian Amazon SQS per instance. Anda dapat melakukannya dengan mengambil perkiraan jumlah pesan yang tersedia untuk diambil dari antrian dan membagi nomor tersebut dengan kapasitas berjalan grup Auto Scaling.

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 kunci dimensi/pasangan nilai 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. Untuk informasi selengkapnya, lihat [Kebijakan penskalaan berdasarkan Amazon SQS](as-using-sqs-queue.md).

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 autoscaling put-scaling-policy --policy-name my-sqs-custom-metrics-policy \
  --auto-scaling-group-name my-asg --policy-type PredictiveScaling \
  --predictive-scaling-configuration file://config.json
{
  "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": []
}
```

## Contoh kebijakan penskalaan prediktif yang akan digunakan dalam skenario blue/green penerapan ()AWS CLI
<a name="custom-metrics-ex3"></a>

Ekspresi penelusuran menyediakan opsi lanjutan di mana Anda dapat melakukan kueri metrik dari beberapa grup Auto Scaling dan melakukan ekspresi matematika pada mereka. Ini sangat berguna untuk blue/green penerapan. 

**catatan**  
Penerapan *biru/hijau adalah metode penerapan* di mana Anda membuat dua grup Auto Scaling yang terpisah namun identik. Hanya satu dari kelompok yang menerima lalu lintas produksi. Lalu lintas pengguna awalnya diarahkan ke grup Auto Scaling sebelumnya (“biru”), sedangkan grup baru (“hijau”) digunakan untuk pengujian dan evaluasi versi baru aplikasi atau layanan. Lalu lintas pengguna dialihkan ke grup Auto Scaling hijau setelah penerapan baru diuji dan diterima. Anda kemudian dapat menghapus grup biru setelah penerapan berhasil.

Saat grup Auto Scaling baru dibuat sebagai bagian dari blue/green penerapan, riwayat metrik setiap grup dapat secara otomatis disertakan dalam kebijakan penskalaan prediktif tanpa Anda harus mengubah spesifikasi metriknya. Untuk informasi selengkapnya, lihat [Menggunakan kebijakan penskalaan prediktif EC2 Auto Scaling dengan penerapan Biru/Hijau di Blog Komputasi](https://aws.amazon.com/blogs/compute/retaining-metrics-across-blue-green-deployment-for-predictive-scaling/). AWS 

Contoh kebijakan berikut menunjukkan bagaimana hal ini dapat dilakukan. Dalam contoh ini, kebijakan menggunakan `CPUUtilization` metrik yang dipancarkan oleh Amazon EC2. Ini menggunakan metrik Amazon EC2 `GroupInServiceInstances` Auto Scaling dan ekspresi matematika untuk menghitung nilai metrik penskalaan per instance. Ini juga menentukan spesifikasi metrik kapasitas untuk mendapatkan `GroupInServiceInstances` metrik.

Ekspresi pencarian menemukan instance di beberapa grup Auto Scaling berdasarkan kriteria pencarian yang ditentukan. `CPUUtilization` Jika nanti Anda membuat grup Auto Scaling baru yang cocok dengan kriteria penelusuran yang sama, instance di grup Auto Scaling baru akan disertakan secara otomatis. `CPUUtilization`

```
aws autoscaling put-scaling-policy --policy-name my-blue-green-predictive-scaling-policy \
  --auto-scaling-group-name my-asg --policy-type PredictiveScaling \
  --predictive-scaling-configuration file://config.json
{
  "MetricSpecifications": [
    {
      "TargetValue": 25,
      "CustomizedScalingMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "load_sum",
            "Expression": "SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" ASG-myapp', 'Sum', 300))",
            "ReturnData": false
          },
          {
            "Id": "capacity_sum",
            "Expression": "SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceInstances\" ASG-myapp', 'Average', 300))",
            "ReturnData": false
          },
          {
            "Id": "weighted_average",
            "Expression": "load_sum / capacity_sum",
            "ReturnData": true
          }
        ]
      },
      "CustomizedLoadMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "load_sum",
            "Expression": "SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" ASG-myapp', 'Sum', 3600))"
          }
        ]
      },
      "CustomizedCapacityMetricSpecification": {
        "MetricDataQueries": [
          {
            "Id": "capacity_sum",
            "Expression": "SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceInstances\" ASG-myapp', 'Average', 300))"
          }
        ]
      }
    }
  ]
}
```

Contoh mengembalikan ARN kebijakan.

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

# Pertimbangan untuk metrik kustom dalam kebijakan penskalaan prediktif
<a name="custom-metrics-troubleshooting"></a>

Jika terjadi masalah saat menggunakan metrik kustom, kami sarankan Anda melakukan hal berikut:
+ Jika pesan kesalahan disediakan, baca pesan dan selesaikan masalah yang dilaporkan, jika memungkinkan. 
+ Jika masalah terjadi saat Anda mencoba menggunakan ekspresi penelusuran dalam skenario blue/green penerapan, pertama-tama pastikan Anda memahami cara membuat ekspresi penelusuran yang mencari kecocokan sebagian, bukan kecocokan persis. Juga, periksa apakah kueri Anda hanya menemukan grup Auto Scaling yang menjalankan 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*. 
+ Jika Anda tidak memvalidasi ekspresi sebelumnya, [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)perintah memvalidasinya 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://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudwatch/get-metric-data.html) Anda juga dapat memecahkan masalah ekspresi dari konsol. CloudWatch 
+ Saat Anda melihat grafik **Beban** dan **Kapasitas** di konsol, grafik **Kapasitas** mungkin tidak menampilkan data apa pun. Untuk memastikan bahwa grafik memiliki data lengkap, pastikan Anda mengaktifkan metrik grup secara konsisten untuk grup Auto Scaling Anda. Untuk informasi selengkapnya, lihat [Aktifkan metrik grup Auto Scaling (konsol)](ec2-auto-scaling-metrics.md#as-enable-group-metrics).
+ Spesifikasi metrik kapasitas hanya berguna untuk penerapan biru/hijau ketika Anda memiliki aplikasi yang berjalan di grup Auto Scaling yang berbeda selama masa pakainya. Metrik kustom ini memungkinkan Anda menyediakan kapasitas total beberapa grup Auto Scaling. Penskalaan prediktif menggunakan ini untuk menampilkan data historis dalam grafik **Kapasitas** di konsol.
+ 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.

## Batasan
<a name="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.