

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

# Meningkatkan atau mengurangi kapasitas komputasi aplikasi Anda dengan penskalaan
<a name="scale-your-group"></a>

*Penskalaan* adalah kemampuan untuk meningkatkan atau menurunkan kapasitas komputasi aplikasi Anda. Penskalaan dimulai dengan suatu peristiwa, atau tindakan penskalaan, yang menginstruksikan grup Auto Scaling untuk meluncurkan atau menghentikan instance Amazon EC2.

Amazon EC2 Auto Scaling menyediakan sejumlah cara untuk menyesuaikan penskalaan yang paling sesuai dengan kebutuhan aplikasi Anda. Oleh karena itu, penting bagi Anda untuk memiliki pemahaman yang baik tentang aplikasi Anda. Perhatikan pertimbangan berikut:
+ Peran apa yang harus dijalankan Amazon EC2 Auto Scaling dalam arsitektur aplikasi Anda? Sering kali kita berpikir tentang penskalaan otomatis terutama sebagai cara untuk meningkatkan dan mengurangi kapasitas, tetapi juga berguna untuk mempertahankan jumlah server yang stabil.
+ Kendala biaya apakah yang penting bagi Anda? Karena Amazon EC2 Auto Scaling menggunakan instans EC2, Anda hanya membayar untuk sumber daya yang Anda gunakan. Memahami keterbatasan biaya akan membantu Anda memutuskan kapan Anda dapat menskalakan aplikasi, dan seberapa banyak.
+ Metrik apa yang penting bagi aplikasi Anda? Amazon CloudWatch mendukung sejumlah metrik berbeda yang dapat Anda gunakan dengan grup Auto Scaling Anda. 

**Topics**
+ [Pilih metode penskalaan Anda](scaling-overview.md)
+ [Tetapkan batas penskalaan](asg-capacity-limits.md)
+ [Mengatur contoh pemanasan default](ec2-auto-scaling-default-instance-warmup.md)
+ [Penskalaan manual](ec2-auto-scaling-scaling-manually.md)
+ [Penskalaan terjadwal](ec2-auto-scaling-scheduled-scaling.md)
+ [Penskalaan dinamis](as-scale-based-on-demand.md)
+ [Penskalaan prediktif](ec2-auto-scaling-predictive-scaling.md)
+ [Pengakhiran instans kontrol](as-instance-termination.md)
+ [Proses resume ditangguhkan](as-suspend-resume-processes.md)

# Pilih metode penskalaan Anda
<a name="scaling-overview"></a>

Amazon EC2 Auto Scaling menyediakan beberapa cara untuk menskalakan grup Auto Scaling Anda.

**Pertahankan jumlah instans yang tetap**  
Default untuk grup Auto Scaling adalah tidak memiliki kebijakan penskalaan terlampir atau tindakan terjadwal, yang menyebabkannya mempertahankan ukuran tetap. Setelah Anda membuat grup Auto Scaling, grup ini dimulai dengan meluncurkan instans yang cukup untuk memenuhi kapasitas yang diinginkan. Jika tidak ada kondisi penskalaan yang melekat pada grup, ia terus mempertahankan kapasitas yang diinginkan bahkan jika sebuah instance menjadi tidak sehat. Amazon EC2 Auto Scaling memantau kesehatan setiap instans di grup Auto Scaling Anda. Ketika menemukan bahwa sebuah instance telah menjadi tidak sehat, ia menggantikannya dengan instance baru. Anda dapat membaca deskripsi yang lebih mendalam tentang proses ini di[Pemeriksaan kondisi untuk instans dalam grup Auto Scaling](ec2-auto-scaling-health-checks.md). 

**Menskalakan secara manual**  
Penskalaan manual adalah cara paling dasar untuk menskalakan grup Auto Scaling Anda. Anda dapat memperbarui kapasitas yang diinginkan dari grup Auto Scaling atau menghentikan instance di grup Auto Scaling. Untuk informasi selengkapnya, lihat [Skala manual untuk Amazon EC2 Auto Scaling](ec2-auto-scaling-scaling-manually.md).

**Menskalakan berdasarkan jadwal**  
Penskalaan berdasarkan jadwal berarti tindakan penskalaan dilakukan secara otomatis sebagai fungsi tanggal dan waktu. Ini berguna saat Anda mengetahui kapan tepatnya menambah atau mengurangi jumlah instance dalam grup Anda, hanya karena kebutuhan tersebut muncul pada jadwal yang dapat diprediksi. Untuk informasi selengkapnya, lihat [Skala terjadwal untuk Amazon EC2 Auto Scaling](ec2-auto-scaling-scheduled-scaling.md).

**Skala dinamis berdasarkan permintaan**  
Cara yang lebih canggih untuk menskalakan sumber daya Anda, menggunakan penskalaan dinamis, memungkinkan Anda menentukan kebijakan penskalaan yang mengubah ukuran grup Auto Scaling secara dinamis untuk memenuhi perubahan permintaan. Misalnya, kita asumsikan Anda memiliki aplikasi web yang saat ini berjalan pada dua instance dan Anda ingin pemanfaatan CPU dari grup Auto Scaling untuk tetap berada di sekitar 50 persen ketika beban pada aplikasi berubah. Metode ini berguna untuk penskalaan karena perubahan lalu lintas terjadi, ketika Anda tidak tahu kapan lalu lintas akan berubah. Anda dapat mengonfigurasi kebijakan penskalaan untuk merespons Anda. Ada beberapa jenis kebijakan (atau kombinasi dari mereka) yang dapat Anda gunakan untuk skala dalam menanggapi perubahan lalu lintas. Untuk informasi selengkapnya, lihat [Penskalaan dinamis untuk Amazon EC2 Auto Scaling](as-scale-based-on-demand.md).

**Skala secara proaktif**  
Anda juga dapat menggabungkan penskalaan prediktif dan penskalaan dinamis (pendekatan proaktif dan reaktif, masing-masing) untuk menskalakan kapasitas EC2 Anda lebih cepat. Gunakan penskalaan prediktif untuk meningkatkan jumlah instans EC2 di grup Auto Scaling Anda sebelum pola harian dan mingguan dalam arus lalu lintas. Untuk informasi selengkapnya, lihat [Penskalaan prediktif untuk Amazon EC2 Auto Scaling](ec2-auto-scaling-predictive-scaling.md).

# Tetapkan batas penskalaan untuk grup Auto Scaling Anda
<a name="asg-capacity-limits"></a>

Batas penskalaan mewakili ukuran grup minimum dan maksimum yang Anda inginkan untuk grup Auto Scaling Anda. Anda menetapkan batas secara terpisah untuk ukuran minimum dan maksimum.

Kapasitas yang diinginkan grup dapat diubah ukurannya menjadi angka yang berada dalam kisaran batas ukuran minimum dan maksimum Anda. Kapasitas yang diinginkan harus sama dengan atau lebih besar dari ukuran kelompok minimum, dan sama dengan atau kurang dari ukuran kelompok maksimum.
+ **Kapasitas yang diinginkan**: Merupakan kapasitas awal grup Auto Scaling pada saat pembuatan. Grup Auto Scaling mencoba mempertahankan kapasitas yang diinginkan. Ini dimulai dengan meluncurkan jumlah instance yang ditentukan untuk kapasitas yang diinginkan, dan mempertahankan jumlah instance ini selama tidak ada kebijakan penskalaan atau tindakan terjadwal yang dilampirkan ke grup Auto Scaling.
+ **Kapasitas minimum**: Merupakan ukuran grup minimum. Ketika kebijakan penskalaan ditetapkan, mereka tidak dapat mengurangi kapasitas yang diinginkan grup lebih rendah dari kapasitas minimum.
+ **Kapasitas maksimum**: Merupakan ukuran grup maksimum. Ketika kebijakan penskalaan ditetapkan, mereka tidak dapat meningkatkan kapasitas yang diinginkan grup lebih tinggi dari kapasitas maksimum.

Batas ukuran minimum dan maksimum juga berlaku dalam skenario berikut:
+ Saat Anda menskalakan grup Auto Scaling secara manual dengan memperbarui kapasitas yang diinginkan.
+ Ketika tindakan terjadwal berjalan yang memperbarui kapasitas yang diinginkan. Jika tindakan terjadwal berjalan tanpa menentukan batas ukuran minimum dan maksimum baru untuk grup, maka batas ukuran minimum dan maksimum grup saat ini berlaku.

Grup Auto Scaling selalu berusaha mempertahankan kapasitas yang diinginkan. Dalam kasus di mana instance berakhir secara tak terduga (misalnya, karena gangguan Instans Spot, kegagalan pemeriksaan kesehatan, atau tindakan manusia), grup secara otomatis meluncurkan instance baru untuk mempertahankan kapasitas yang diinginkan.

**Untuk mengelola pengaturan ini di konsol**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Pada panel navigasi, di bawah **Auto Scaling**, pilih **Grup Auto Scaling**. 

1. Pada halaman **grup Auto Scaling**, pilih kotak centang di samping grup Auto Scaling Anda.

   Panel split terbuka di bagian bawah halaman. 

1. Di panel bawah, di tab **Detail**, lihat atau ubah pengaturan saat ini untuk kapasitas yang diinginkan, minimum, dan maksimum grup. Untuk informasi selengkapnya, lihat [Ubah kapasitas yang diinginkan dari grup Auto Scaling yang ada](ec2-auto-scaling-scaling-manually.md#change-desired-capacity).

Di atas panel **Detail**, Anda dapat menemukan informasi seperti jumlah instans saat ini di grup Auto Scaling, kapasitas minimum, dan maksimum yang diinginkan, dan kolom status. Jika grup Auto Scaling menggunakan bobot instans, Anda juga dapat menemukan jumlah unit kapasitas yang dikontribusikan ke kapasitas yang diinginkan.

Untuk menambah atau menghapus kolom dari daftar, pilih ikon pengaturan di bagian atas halaman. **Kemudian, untuk **atribut grup Auto Scaling**, aktifkan atau nonaktifkan setiap kolom, lalu pilih Konfirmasi.** 

**Untuk memverifikasi ukuran grup Auto Scaling Anda setelah melakukan perubahan**  
Kolom **Instances** menunjukkan jumlah instance yang sedang berjalan. Saat instance diluncurkan atau dihentikan, kolom **Status menampilkan status** *Memperbarui kapasitas*, seperti yang ditunjukkan pada gambar berikut. 

![\[Memperbarui kapasitas grup Auto Scaling.\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/asg-console-updating-capacity.png)


Tunggu beberapa menit, lalu refresh tampilan untuk melihat status terbaru. Setelah aktivitas penskalaan selesai, kolom **Instance** menampilkan nilai yang diperbarui. 

**Anda dapat melihat jumlah instans dan status instans yang sedang berjalan dari tab **Manajemen instans**, di bawah Instans.**

# Menetapkan pemanasan instans default untuk grup Auto Scaling
<a name="ec2-auto-scaling-default-instance-warmup"></a>

CloudWatch mengumpulkan dan menggabungkan data penggunaan, seperti CPU dan jaringan I/O, di seluruh instans Auto Scaling Anda. Anda menggunakan metrik ini untuk membuat kebijakan penskalaan yang menyesuaikan jumlah instance dalam grup Auto Scaling Anda saat nilai metrik yang dipilih meningkat dan menurun.

Anda dapat menentukan berapa lama setelah instance mencapai `InService` status yang ditunggu sebelum menyumbangkan data penggunaan ke metrik agregat. Waktu yang ditentukan ini disebut *pemanasan instance default*. Hal ini membuat penskalaan dinamis tidak terpengaruh oleh metrik untuk instance individual yang belum menangani lalu lintas aplikasi dan yang mungkin mengalami penggunaan sumber daya komputasi yang tinggi untuk sementara waktu. 

Untuk mengoptimalkan kinerja kebijakan pelacakan target dan penskalaan langkah, kami sangat menyarankan agar Anda mengaktifkan dan mengonfigurasi pemanasan instans default. Itu tidak diaktifkan atau dikonfigurasi secara default. 

Saat mengaktifkan pemanasan instans default, ingatlah bahwa jika grup Auto Scaling disetel untuk menggunakan kebijakan pemeliharaan instans, atau Anda menggunakan penyegaran instans untuk mengganti instance, Anda dapat mencegah instance dihitung ke persentase sehat minimum sebelum selesai diinisialisasi. 

**Topics**
+ [Pertimbangan kinerja penskalaan](#scaling-performance-considerations)
+ [Pilih waktu pemanasan instance default](#choose-the-default-instance-warmup)
+ [Aktifkan pemanasan instance default untuk grup](enable-default-instance-warmup.md)
+ [Verifikasi waktu pemanasan instans default untuk grup](verify-default-instance-warmup.md)
+ [Temukan kebijakan penskalaan dengan waktu pemanasan instance yang ditetapkan sebelumnya](find-policies-with-a-previously-set-instance-warmup.md)
+ [Hapus pemanasan instance yang disetel sebelumnya untuk kebijakan penskalaan](clearing-the-previously-set-instance-warmup.md)

## Pertimbangan kinerja penskalaan
<a name="scaling-performance-considerations"></a>

Sangat berguna bagi sebagian besar aplikasi untuk memiliki satu waktu pemanasan instance default yang berlaku untuk semua fitur, daripada waktu pemanasan yang berbeda untuk fitur yang berbeda. Misalnya, jika Anda tidak menyetel pemanasan instans default, fitur penyegaran instance menggunakan masa tenggang pemeriksaan kesehatan sebagai waktu pemanasan default. Jika Anda memiliki kebijakan pelacakan target dan penskalaan langkah, mereka menggunakan nilai yang ditetapkan untuk cooldown default sebagai waktu pemanasan default. Jika Anda memiliki kebijakan penskalaan prediktif, kebijakan tersebut tidak memiliki waktu pemanasan default. 

Saat instans sedang memanas, kebijakan penskalaan dinamis Anda hanya dapat ditingkatkan jika nilai metrik dari instans yang tidak memanas lebih besar daripada ambang batas tinggi alarm kebijakan (atau pemanfaatan target kebijakan penskalaan pelacakan target). Jika permintaan menurun, penskalaan dinamis menjadi lebih konservatif untuk melindungi ketersediaan aplikasi Anda. Ini memblokir skala dalam aktivitas untuk penskalaan dinamis hingga instans baru selesai pemanasan. 

Saat melakukan penskalaan, Amazon EC2 Auto Scaling mempertimbangkan instans yang melakukan pemanasan sebagai bagian dari kapasitas grup saat memutuskan berapa banyak instance yang akan ditambahkan ke grup. Oleh karena itu, beberapa pelanggaran alarm yang memerlukan jumlah kapasitas yang sama untuk ditambahkan menghasilkan aktivitas penskalaan tunggal. Tujuannya adalah untuk terus meningkatkan skala, tanpa melakukannya secara berlebihan.

Jika pemanasan instans default tidak diaktifkan, jumlah waktu instance menunggu sebelum mengirim metrik CloudWatch dan menghitungnya ke kapasitas saat ini akan bervariasi dari satu instance ke instance lainnya. Jadi, ada potensi kebijakan penskalaan Anda untuk berkinerja tidak terduga dibandingkan dengan beban kerja aktual yang terjadi. 

Misalnya, pertimbangkan aplikasi dengan pola on-and-off beban kerja berulang. Kebijakan penskalaan prediktif digunakan untuk membuat keputusan berulang tentang apakah akan meningkatkan jumlah instance. Karena tidak ada waktu pemanasan default untuk kebijakan penskalaan prediktif, instans mulai berkontribusi pada metrik agregat segera. Jika instance ini memiliki penggunaan sumber daya yang lebih tinggi saat startup, maka menambahkan instance dapat menyebabkan metrik agregat melonjak. Bergantung pada berapa lama waktu yang dibutuhkan untuk menstabilkan penggunaan, ini dapat memengaruhi kebijakan penskalaan dinamis apa pun yang menggunakan metrik ini. Jika ambang batas tinggi alarm kebijakan penskalaan dinamis dilanggar, maka ukuran grup bertambah lagi. Sementara contoh baru sedang memanas, skala aktivitas akan diblokir.

## Pilih waktu pemanasan instance default
<a name="choose-the-default-instance-warmup"></a>

Kunci untuk menyetel pemanasan instans default adalah menentukan berapa lama instans Anda harus menyelesaikan inisialisasi dan agar konsumsi sumber daya stabil setelah mencapai status. `InService` Saat memilih waktu pemanasan instans, cobalah untuk menjaga keseimbangan optimal antara mengumpulkan data penggunaan untuk lalu lintas yang sah, dan meminimalkan pengumpulan data yang terkait dengan lonjakan penggunaan sementara saat startup. 

Misalkan Anda memiliki grup Auto Scaling yang terpasang pada penyeimbang beban Elastic Load Balancing. Ketika instance baru selesai diluncurkan, mereka terdaftar ke penyeimbang beban sebelum memasuki status. `InService` Setelah instance memasuki `InService` status, konsumsi sumber daya masih dapat mengalami lonjakan sementara dan perlu waktu untuk menstabilkan. Misalnya, konsumsi sumber daya untuk server aplikasi yang harus mengunduh dan menyimpan aset besar membutuhkan waktu lebih lama untuk menstabilkan daripada server web ringan tanpa aset besar untuk diunduh. Instance warmup menyediakan penundaan waktu yang diperlukan agar konsumsi sumber daya stabil. 

**penting**  
Jika Anda tidak yakin berapa banyak waktu yang Anda butuhkan untuk waktu pemanasan, Anda bisa mulai dengan 300 detik. Kemudian secara bertahap kurangi atau tingkatkan hingga Anda mendapatkan kinerja penskalaan terbaik untuk aplikasi Anda. Anda mungkin perlu melakukan ini beberapa kali untuk melakukannya dengan benar. Atau, jika Anda memiliki kebijakan penskalaan yang memiliki waktu pemanasan (`EstimatedInstanceWarmup`) sendiri, Anda dapat menggunakan nilai ini untuk memulai. Untuk informasi selengkapnya, lihat [Temukan kebijakan penskalaan dengan waktu pemanasan instance yang ditetapkan sebelumnya](find-policies-with-a-previously-set-instance-warmup.md).

Pertimbangkan untuk menggunakan kait siklus hidup untuk kasus penggunaan di mana Anda memiliki tugas konfigurasi atau skrip untuk dijalankan saat startup. Pengait siklus hidup dapat menunda instance baru agar tidak dimasukkan ke dalam layanan hingga selesai diinisialisasi. Mereka sangat berguna jika Anda memiliki skrip bootstrap yang membutuhkan waktu beberapa saat untuk diselesaikan. Jika Anda menambahkan kait siklus hidup, Anda dapat mengurangi nilai pemanasan instance default. Untuk informasi selengkapnya tentang penggunaan kait siklus hidup, lihat. [Hook siklus aktif Amazon EC2 Auto Scaling](lifecycle-hooks.md)

# Aktifkan pemanasan instance default untuk grup
<a name="enable-default-instance-warmup"></a>

Anda dapat mengaktifkan pemanasan instans default saat membuat grup Auto Scaling. Anda juga dapat mengaktifkannya untuk grup yang ada. 

Dengan mengaktifkan fitur pemanasan instance default, Anda tidak lagi harus menentukan nilai untuk parameter pemanasan untuk fitur berikut:
+ [Penyegaran contoh](instance-refresh-overview.md#instance-refresh-core-concepts)
+ [Penskalaan pelacakan target](as-scaling-target-tracking.md#as-target-tracking-scaling-warmup)
+ [Penskalaan langkah](as-scaling-simple-step.md#as-step-scaling-warmup)

------
#### [ Console ]

**Untuk mengaktifkan pemanasan instance default untuk grup baru (konsol)**  
Saat Anda membuat grup Auto Scaling, pada halaman **Konfigurasi opsi lanjutan**, di bawah **Pengaturan tambahan**, pilih opsi **Aktifkan pemanasan instans default**. Pilih waktu pemanasan yang Anda butuhkan untuk aplikasi Anda.

------
#### [ AWS CLI ]

**Untuk mengaktifkan pemanasan instance default untuk grup baru ()AWS CLI**  
Untuk mengaktifkan pemanasan instance default untuk grup Auto Scaling, tambahkan `--default-instance-warmup` opsi dan tentukan nilai, dalam hitungan detik, dari 0 hingga 3600. Setelah diaktifkan, nilai `-1` akan mematikan pengaturan ini.

[create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)Perintah berikut membuat grup Auto Scaling dengan nama *my-asg* dan memungkinkan pemanasan instance default dengan nilai detik. *120*

```
aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --default-instance-warmup 120 ...
```

**Tip**  
Jika perintah ini menimbulkan kesalahan, pastikan Anda telah memperbarui AWS CLI secara lokal ke versi terbaru.

------

------
#### [ Console ]

**Untuk mengaktifkan pemanasan instance default untuk grup yang ada (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. Pada bilah navigasi di bagian atas layar, pilih tempat Wilayah AWS Anda membuat grup Auto Scaling.

1. Pilih kotak centang di samping grup Auto Scaling.

   Panel split terbuka di bagian bawah halaman. 

1. Pada tab **Detail**, pilih **Konfigurasi lanjutan**, **Edit**.

1. Untuk **pemanasan contoh Default**, pilih waktu pemanasan yang Anda butuhkan untuk aplikasi Anda.

1. Pilih **Perbarui**.

------
#### [ AWS CLI ]

**Untuk mengaktifkan pemanasan instance default untuk grup () yang ada AWS CLI**  
Contoh berikut menggunakan [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)perintah untuk mengaktifkan pemanasan instance default dengan nilai *120* detik untuk grup Auto Scaling yang ada bernama. *my-asg*

```
aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --default-instance-warmup 120
```

**Tip**  
Jika perintah ini menimbulkan kesalahan, pastikan Anda telah memperbarui AWS CLI secara lokal ke versi terbaru.

------

# Verifikasi waktu pemanasan instans default untuk grup
<a name="verify-default-instance-warmup"></a>

Gunakan prosedur berikut untuk memverifikasi waktu pemanasan instans default untuk grup Auto Scaling menggunakan. AWS CLI

**Untuk memverifikasi waktu pemanasan instans default untuk grup Auto Scaling**  
Gunakan perintah berikut [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html). Ganti *my-asg* dengan nama grup Auto Scaling Anda.

```
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg
```

Berikut ini adalah contoh respons.

```
{
    "AutoScalingGroups": [
        {
            "AutoScalingGroupName": "my-asg",
            "AutoScalingGroupARN": "arn",
            ...
            "DefaultInstanceWarmup": 120
        }
    ]
}
```

# Temukan kebijakan penskalaan dengan waktu pemanasan instance yang ditetapkan sebelumnya
<a name="find-policies-with-a-previously-set-instance-warmup"></a>

Untuk mengidentifikasi apakah Anda memiliki kebijakan yang memiliki waktu pemanasan sendiri`EstimatedInstanceWarmup`, jalankan [perintah deskripsikan](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-policies.html) kebijakan berikut menggunakan. AWS CLI Ganti *my-asg* dengan nama grup Auto Scaling Anda.

```
aws autoscaling describe-policies --auto-scaling-group-name my-asg
  --query 'ScalingPolicies[?EstimatedInstanceWarmup!=`null`]'
```

Berikut ini adalah output contoh. 

```
[
  {
    "AutoScalingGroupName":"my-asg",
    "PolicyName":"cpu50-target-tracking-scaling-policy",
    "PolicyARN":"arn",
    "PolicyType":"TargetTrackingScaling",
    "StepAdjustments":[],
    "EstimatedInstanceWarmup":120,
    "Alarms":[{
        "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e",
        "AlarmName": "TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e"
      },
      {
            "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2",
            "AlarmName": "TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2"
    }],
    "TargetTrackingConfiguration":{
      "PredefinedMetricSpecification":{
        "PredefinedMetricType":"ASGAverageCPUUtilization"
      },
      "TargetValue":50.0,
      "DisableScaleIn":false
    },
    "Enabled":true
  },
  
    ... additional policies ...
                        
]
```

# Hapus pemanasan instance yang disetel sebelumnya untuk kebijakan penskalaan
<a name="clearing-the-previously-set-instance-warmup"></a>

Setelah mengaktifkan pemanasan instance default, perbarui kebijakan penskalaan apa pun yang masih memiliki waktu pemanasan sendiri untuk menghapus nilai yang ditetapkan sebelumnya. Jika tidak, itu akan mengganti pemanasan instance default.

Anda dapat memperbarui kebijakan penskalaan menggunakan konsol, AWS CLI, atau AWS SDKs. Bagian ini mencakup langkah-langkah untuk konsol. Jika Anda menggunakan AWS CLI atau AWS SDKs, pastikan Anda mempertahankan konfigurasi kebijakan yang ada, tetapi hapus `EstimatedInstanceWarmup` properti. Saat memperbarui kebijakan penskalaan yang ada, kebijakan tersebut akan diganti dengan kebijakan yang Anda tentukan saat Anda menelepon secara terprogram. [PutScalingPolicy](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_PutScalingPolicy.html) Nilai asli tidak disimpan.

**Untuk menghapus pemanasan instance yang disetel sebelumnya untuk kebijakan penskalaan (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. 

   Panel split terbuka di bagian bawah halaman.

1. **Pada tab **Penskalaan otomatis**, di Kebijakan **penskalaan dinamis**, pilih kebijakan yang Anda minati, lalu pilih **Tindakan**, Edit.**

1. Untuk **pemanasan Instance**, kosongkan nilai pemanasan instance untuk menggunakan nilai pemanasan instance default sebagai gantinya.

1. Pilih **Perbarui**.

# Skala manual untuk Amazon EC2 Auto Scaling
<a name="ec2-auto-scaling-scaling-manually"></a>

Anda dapat secara manual menyesuaikan jumlah instans EC2 di grup Auto Scaling kapan saja. Proses mengubah jumlah instance secara manual ini disebut sebagai *penskalaan manual*. Penskalaan manual adalah alternatif untuk penskalaan otomatis, terutama jika Anda ingin melakukan perubahan kapasitas satu kali.

Setelah Anda menskalakan grup secara manual, Amazon EC2 Auto Scaling melanjutkan aktivitas penskalaan otomatis normal berdasarkan kebijakan penskalaan dan tindakan terjadwal yang Anda tentukan. Untuk grup dengan pemanasan instans default diaktifkan, setiap instance baru akan melalui periode pemanasan sebelum mereka mulai berkontribusi pada metrik yang digunakan untuk penskalaan otomatis. Periode pemanasan ini membantu menstabilkan kelompok pada kapasitas baru. Untuk informasi selengkapnya, lihat [Menetapkan pemanasan instans default untuk grup Auto Scaling](ec2-auto-scaling-default-instance-warmup.md).

Terkadang, Anda mungkin ingin menonaktifkan sementara kebijakan penskalaan dan tindakan terjadwal sebelum menskalakan grup secara manual. Melakukannya mencegah timbulnya konflik antara tindakan penskalaan manual dan aktivitas penskalaan otomatis. Untuk informasi selengkapnya, lihat [Matikan aktivitas penskalaan](CHAP_Troubleshooting.md#turn-off-scaling-activities).

**Topics**
+ [Ubah kapasitas yang diinginkan dari grup Auto Scaling yang ada](#change-desired-capacity)
+ [Mengakhiri instance di grup Auto Scaling ()AWS CLI](#terminate-an-instance-aws-cli)

## Ubah kapasitas yang diinginkan dari grup Auto Scaling yang ada
<a name="change-desired-capacity"></a>

Saat Anda mengubah kapasitas grup Auto Scaling yang diinginkan, Amazon EC2 Auto Scaling mengelola proses peluncuran dan penghentian instans untuk mencapai ukuran baru yang diinginkan.

------
#### [ Console ]

**Untuk mengubah ukuran grup Auto Scaling Anda**

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 ditampilkan di bagian bawah halaman. 

1. Pada tab **Detail**, pilih **Detail grup**, **Edit**.

1. Untuk **kapasitas yang diinginkan**, tambah atau kurangi kapasitas yang diinginkan. Misalnya, untuk menambah ukuran grup dengan satu, jika nilai saat ini`1`, masukkan`2`.

   Jika nilai baru Anda untuk **kapasitas yang diinginkan** lebih besar dari **kapasitas yang diinginkan Min** dan **kapasitas Max yang diinginkan**, **kapasitas Max yang diinginkan** secara otomatis ditingkatkan ke nilai kapasitas baru yang diinginkan.

1. Setelah selesai, pilih **Perbarui**.

Verifikasi bahwa ukuran grup yang Anda tentukan menghasilkan jumlah instans yang sama yang diluncurkan. Misalnya, jika Anda menambah ukuran grup satu per satu, verifikasi bahwa grup Auto Scaling Anda telah meluncurkan satu instance tambahan.

**Untuk memverifikasi bahwa ukuran grup Auto Scaling Anda telah berubah**

1. Pada tab **Aktivitas**, dalam **riwayat Aktivitas**, Anda dapat melihat kemajuan aktivitas yang terkait dengan grup Auto Scaling. Kolom **Status** menunjukkan status instans Anda saat ini. Saat instance Anda diluncurkan, kolom status akan ditampilkan`Not yet in service`. Status berubah menjadi `Successful` setelah instance diluncurkan. Anda juga dapat menggunakan ikon penyegaran untuk melihat status instans Anda saat ini. Untuk informasi selengkapnya, lihat [Memverifikasi aktivitas penskalaan untuk grup Auto Scaling](as-verify-scaling-activity.md).

1. Pada tab **Manajemen instans**, di **Instans**, Anda dapat melihat status instance. Butuh waktu singkat untuk meluncurkan sebuah instans. 
   + Kolom **Siklus Aktif** menunjukkan status instans Anda. Pada awalnya, instans Anda ada pada status `Pending`. Setelah instans siap untuk menerima lalu lintas, statusnya adalah `InService`.
   + Kolom **status Kesehatan** menunjukkan hasil pemeriksaan kesehatan Amazon EC2 Auto Scaling pada instans Anda.

------
#### [ AWS CLI ]

Contoh berikut mengasumsikan bahwa Anda telah membuat grup Auto Scaling dengan ukuran minimum 1 dan ukuran maksimum 5. Oleh karena itu, grup tersebut saat ini memiliki satu instance yang sedang berjalan.

**Untuk mengubah ukuran grup Auto Scaling Anda**  
Gunakan [set-desired-capacity](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/set-desired-capacity.html) untuk mengubah ukuran grup Auto Scaling Anda, seperti yang ditunjukkan dalam contoh berikut.

```
aws autoscaling set-desired-capacity --auto-scaling-group-name my-asg \
  --desired-capacity 2
```

Jika Anda memilih untuk menghargai periode pendinginan default untuk grup Auto Scaling Anda, Anda harus menentukan opsi `–-honor-cooldown` seperti yang ditunjukkan dalam contoh berikut. Untuk informasi selengkapnya, lihat [Menskalakan jeda pakai untuk Amazon EC2 Auto Scaling](ec2-auto-scaling-scaling-cooldowns.md).

```
aws autoscaling set-desired-capacity --auto-scaling-group-name my-asg \
  --desired-capacity 2 --honor-cooldown
```

**Untuk memverifikasi ukuran grup Auto Scaling Anda**  
Gunakan perintah [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) untuk mengonfirmasikan bahwa ukuran grup Auto Scaling Anda telah berubah, seperti pada contoh berikut.

```
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg
```

Berikut ini adalah contoh output, yang memberikan rincian tentang grup dan instance yang diluncurkan.

```
{
    "AutoScalingGroups": [
        {
            "AutoScalingGroupName": "my-asg",
            "AutoScalingGroupARN": "arn",
            "LaunchTemplate": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1",
                "LaunchTemplateId": "lt-050555ad16a3f9c7f"
            },
            "MinSize": 1,
            "MaxSize": 5,
            "DesiredCapacity": 2,
            "DefaultCooldown": 300,
            "AvailabilityZones": [
                "us-west-2a"
            ],
            "LoadBalancerNames": [],
            "TargetGroupARNs": [],
            "HealthCheckType": "EC2",
            "HealthCheckGracePeriod": 300,
            "Instances": [
                {
                    "ProtectedFromScaleIn": false,
                    "AvailabilityZone": "us-west-2a",
                    "LaunchTemplate": {
                        "LaunchTemplateName": "my-launch-template",
                        "Version": "1",
                        "LaunchTemplateId": "lt-050555ad16a3f9c7f"
                    },
                    "InstanceId": "i-05b4f7d5be44822a6",
                    "InstanceType": "t3.micro",
                    "HealthStatus": "Healthy",
                    "LifecycleState": "Pending"
                },
                {
                    "ProtectedFromScaleIn": false,
                    "AvailabilityZone": "us-west-2a",
                    "LaunchTemplate": {
                        "LaunchTemplateName": "my-launch-template",
                        "Version": "1",
                        "LaunchTemplateId": "lt-050555ad16a3f9c7f"
                    },
                    "InstanceId": "i-0c20ac468fa3049e8",
                    "InstanceType": "t3.micro",
                    "HealthStatus": "Healthy",
                    "LifecycleState": "InService"
                }
            ],
            "CreatedTime": "2019-03-18T23:30:42.611Z",
            "SuspendedProcesses": [],
            "VPCZoneIdentifier": "subnet-c87f2be0",
            "EnabledMetrics": [],
            "Tags": [],
            "TerminationPolicies": [
                "Default"
            ],
            "NewInstancesProtectedFromScaleIn": false,
            "ServiceLinkedRoleARN": "arn",
            "TrafficSources": []
        }
    ]
}
```

Perhatikan bahwa `DesiredCapacity` menampilkan nilai baru. Grup Auto Scaling Anda telah meluncurkan sebuah instance tambahan.

------

## Mengakhiri instance di grup Auto Scaling ()AWS CLI
<a name="terminate-an-instance-aws-cli"></a>

Ada kalanya Anda mungkin ingin menskalakan secara manual di grup Auto Scaling tetapi ingin menghentikan instance tertentu. Anda dapat menskalakan secara manual di grup Auto Scaling dengan menggunakan perintah [terminate-instance-in-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/terminate-instance-in-auto-scaling-group.html) dan menentukan ID instance yang ingin Anda akhiri dan `--should-decrement-desired-capacity` opsi seperti yang ditunjukkan pada contoh berikut. 

```
aws autoscaling terminate-instance-in-auto-scaling-group \
  --instance-id i-026e4c9f62c3e448c --should-decrement-desired-capacity
```

Berikut ini adalah contoh output, yang memberikan rincian tentang aktivitas penskalaan.

```
{
    "Activities": [
        {
            "ActivityId": "b8d62b03-10d8-9df4-7377-e464ab6bd0cb",
            "AutoScalingGroupName": "my-asg",
            "Description": "Terminating EC2 instance: i-026e4c9f62c3e448c",
            "Cause": "At 2023-09-23T06:39:59Z instance i-026e4c9f62c3e448c was taken out of service in response to a user request, shrinking the capacity from 1 to 0.",
            "StartTime": "2023-09-23T06:39:59.015000+00:00",
            "StatusCode": "InProgress",
            "Progress": 0,
            "Details": "{\"Subnet ID\":\"subnet-6194ea3b\",\"Availability Zone\":\"us-west-2c\"}"
        }
    ]
}
```

Opsi ini tidak tersedia di konsol. Namun, Anda dapat menggunakan halaman **Instans** konsol Amazon EC2 untuk menghentikan instance di grup Auto Scaling. Ketika Anda melakukannya, Amazon EC2 Auto Scaling mendeteksi bahwa instans tidak lagi berjalan dan menggantinya secara otomatis sebagai bagian dari proses pemeriksaan kesehatan. Dibutuhkan satu atau dua menit setelah Anda menghentikan instance sebelum instance baru diluncurkan. Untuk informasi tentang cara menghentikan instance, lihat [Mengakhiri instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html) di Panduan Pengguna *Amazon EC2*.

Jika Anda menghentikan instans di grup dan menyebabkan distribusi tidak merata di seluruh Availability Zone, Amazon EC2 Auto Scaling akan menyeimbangkan kembali grup untuk membuat kembali distribusi yang merata kecuali Anda menangguhkan prosesnya. `AZRebalance` Untuk informasi selengkapnya, lihat [Menangguhkan dan melanjutkan proses Penskalaan Otomatis Amazon EC2](as-suspend-resume-processes.md).

# Skala terjadwal untuk Amazon EC2 Auto Scaling
<a name="ec2-auto-scaling-scheduled-scaling"></a>

Dengan penskalaan terjadwal, Anda dapat mengatur penskalaan otomatis untuk aplikasi berdasarkan perubahan beban yang dapat diprediksi. Anda membuat tindakan terjadwal yang meningkatkan atau mengurangi kapasitas yang diinginkan grup Anda pada waktu tertentu.

Misalnya, Anda mengalami pola lalu lintas mingguan reguler di mana beban meningkat pertengahan minggu dan menurun menjelang akhir minggu. Anda dapat mengonfigurasi jadwal penskalaan di Amazon EC2 Auto Scaling yang selaras dengan pola ini:
+ Pada Rabu pagi, satu tindakan terjadwal meningkatkan kapasitas dengan meningkatkan kapasitas yang diinginkan sebelumnya dari grup Auto Scaling.
+ Pada Jumat malam, tindakan terjadwal lainnya mengurangi kapasitas dengan mengurangi kapasitas yang diinginkan sebelumnya dari grup Auto Scaling.

Tindakan penskalaan terjadwal ini memungkinkan Anda mengoptimalkan biaya dan kinerja. Aplikasi Anda memiliki kapasitas yang cukup untuk menangani puncak lalu lintas tengah minggu, tetapi tidak menyediakan kapasitas yang tidak dibutuhkan secara berlebihan di lain waktu.

Anda dapat menggunakan kebijakan penskalaan dan penskalaan terjadwal bersama-sama untuk mendapatkan manfaat dari kedua pendekatan penskalaan. Setelah tindakan penskalaan terjadwal berjalan, kebijakan penskalaan dapat terus membuat keputusan tentang apakah akan meningkatkan kapasitas skala lebih lanjut. Ini membantu memastikan bahwa Anda memiliki kapasitas yang cukup untuk menangani beban untuk aplikasi Anda. Meskipun aplikasi Anda menskalakan sesuai dengan permintaan, kapasitas saat ini harus berada di antara kapasitas minimum dan maksimum yang ditetapkan oleh tindakan terjadwal Anda. 

**Topics**
+ [Cara kerja penskalaan terjadwal](#scheduled-scaling-how-it-works)
+ [Jadwal berulang](#scheduled-scaling-recurring-schedules)
+ [Zona waktu](#scheduled-scaling-time-zone)
+ [Pertimbangan-pertimbangan](#scheduled-scaling-considerations)
+ [Batasan](#scheduled-scaling-limitations)
+ [Buat tindakan terjadwal](scheduled-scaling-create-scheduled-action.md)
+ [Lihat detail tindakan terjadwal](scheduled-scaling-view-scheduled-actions.md)
+ [Hapus tindakan terjadwal](scheduled-scaling-delete-scheduled-action.md)

## Cara kerja penskalaan terjadwal
<a name="scheduled-scaling-how-it-works"></a>

Untuk menggunakan penskalaan terjadwal, buat *tindakan terjadwal*, yang memberi tahu Amazon EC2 Auto Scaling untuk melakukan aktivitas penskalaan pada waktu tertentu. Saat membuat tindakan terjadwal, Anda menentukan grup Auto Scaling, kapan aktivitas penskalaan harus terjadi, kapasitas baru yang diinginkan, dan secara opsional kapasitas minimum baru dan kapasitas maksimum baru. Anda dapat membuat tindakan terjadwal yang menskalakan satu kali saja atau menskalakan berdasarkan jadwal berulang. 

Pada waktu yang ditentukan, Amazon EC2 Auto Scaling menskalakan berdasarkan nilai kapasitas baru, dengan membandingkan kapasitas saat ini dengan kapasitas yang diinginkan yang ditentukan. 
+ Jika kapasitas saat ini kurang dari kapasitas yang diinginkan, Amazon EC2 Auto Scaling akan menskalakan, atau menambahkan instans, ke kapasitas yang diinginkan yang ditentukan.
+ Jika kapasitas arus lebih besar dari kapasitas yang diinginkan, Amazon EC2 Auto Scaling menskalakan, atau menghapus instans, ke kapasitas yang diinginkan.

Tindakan terjadwal menetapkan kapasitas yang diinginkan, minimum, dan maksimum grup pada tanggal dan waktu yang ditentukan. Anda dapat membuat tindakan terjadwal hanya untuk satu dari kapasitas ini pada satu waktu, misalnya, kapasitas yang diinginkan. Namun, ada beberapa kasus di mana Anda harus memasukkan kapasitas minimum dan maksimum untuk memastikan bahwa kapasitas yang diinginkan yang Anda tentukan dalam tindakan tidak berada di luar batas ini.

## Jadwal berulang
<a name="scheduled-scaling-recurring-schedules"></a>

Untuk membuat jadwal berulang menggunakan AWS CLI atau SDK, tentukan ekspresi cron dan zona waktu untuk menjelaskan kapan tindakan terjadwal itu akan berulang. Anda dapat secara opsional menentukan tanggal dan waktu untuk waktu mulai, waktu akhir, atau keduanya. 

Untuk membuat jadwal berulang menggunakan Konsol Manajemen AWS, tentukan pola pengulangan, zona waktu, waktu mulai, dan waktu akhir opsional dari tindakan terjadwal Anda. Semua opsi pola pengulangan didasarkan pada ekspresi cron. Atau, Anda dapat menulis ekspresi cron kustom Anda sendiri. 

Format ekspresi cron yang didukung terdiri dari lima bidang yang dipisahkan oleh spasi putih: [Minute] [Hour] [Day\$1of\$1month] [Month\$1of\$1year] [day\$1of\$1week]. Misalnya, ekspresi cron `30 6 * * 2` mengonfigurasi tindakan terjadwal yang berulang setiap hari Selasa pukul 6:30 pagi. Tanda bintang digunakan sebagai wildcard untuk mencocokkan semua nilai untuk bidang. Untuk contoh ekspresi cron lainnya, lihat [https://crontab.guru/examples.html](https://crontab.guru/examples.html). Untuk informasi tentang menulis ekspresi cron Anda sendiri dalam format ini, lihat [Crontab](http://crontab.org). 

Pilih waktu mulai dan akhir Anda dengan hati-hati. Ingatlah hal-hal berikut ini:
+ Jika Anda menentukan waktu mulai, Amazon EC2 Auto Scaling akan melakukan tindakan saat ini, lalu melakukan tindakan berdasarkan pengulangan yang ditentukan.
+ Jika Anda menentukan waktu akhir, tindakan berhenti berulang setelah waktu ini. Tindakan terjadwal tidak tersimpan di akun Anda setelah mencapai waktu akhir.
+ Jika waktu pengulangan sama persis dengan waktu akhir, Amazon EC2 Auto Scaling tidak akan melakukan tindakan yang dijadwalkan pada waktu akhir.
+ Waktu mulai dan waktu akhir harus diatur dalam UTC saat Anda menggunakan AWS CLI atau SDK.

## Zona waktu
<a name="scheduled-scaling-time-zone"></a>

Secara default, jadwal berulang yang Anda tetapkan berada di Coordinated Universal Time (UTC). Anda dapat mengubah zona waktu agar sesuai dengan zona waktu lokal Anda atau zona waktu untuk bagian lain dari jaringan Anda. Ketika Anda menentukan zona waktu yang mengamati Daylight Saving Time (DST), tindakan secara otomatis menyesuaikan untuk DST. 

Nilai yang valid adalah nama kanonik untuk zona waktu dari database Zona Waktu Internet Assigned Numbers Authority (IANA). Misalnya, waktu Timur AS secara kanonik diidentifikasi sebagai. `America/New_York` Untuk informasi lebih lanjut, lihat [https://www.iana.org/time-zones](https://www.iana.org/time-zones).

Zona waktu berbasis lokasi seperti menyesuaikan `America/New_York` secara otomatis untuk DST. Namun, zona waktu berbasis UTC seperti `Etc/UTC` adalah waktu absolut dan tidak akan menyesuaikan untuk DST. 

Misalnya, Anda memiliki jadwal berulang yang zona waktunya. `America/New_York` Tindakan penskalaan pertama terjadi di zona `America/New_York` waktu sebelum DST dimulai. Tindakan penskalaan berikutnya terjadi di zona `America/New_York` waktu setelah DST dimulai. Aksi pertama dimulai pukul 8:00 UTC-5 di waktu setempat, sedangkan yang kedua dimulai pukul 8:00 UTC-4 pada waktu setempat.

Jika Anda membuat tindakan terjadwal menggunakan Konsol Manajemen AWS dan menentukan zona waktu yang mengamati DST, jadwal berulang dan waktu mulai dan akhir secara otomatis menyesuaikan untuk DST. 

## Pertimbangan-pertimbangan
<a name="scheduled-scaling-considerations"></a>

Saat Anda membuat tindakan terjadwal, ingatlah hal berikut:
+ Urutan pelaksanaan untuk tindakan terjadwal dijamin dalam grup yang sama, tetapi tidak untuk tindakan terjadwal di seluruh grup.
+ Tindakan terjadwal umumnya berjalan dalam hitungan detik. Namun, tindakan tersebut mungkin tertunda hingga selama dua menit dari waktu mulai yang sudah dijadwalkan. Karena tindakan terjadwal dalam grup Auto Scaling dijalankan sesuai urutan yang ditentukan, tindakan dengan waktu mulai yang dijadwalkan berdekatan satu sama lain dapat memakan waktu lebih lama untuk dijalankan.
+ Anda dapat mematikan sementara penskalaan terjadwal untuk grup Auto Scaling dengan menangguhkan `ScheduledActions` proses. Ini membantu Anda mencegah tindakan terjadwal agar tidak aktif tanpa harus menghapusnya. Anda kemudian dapat melanjutkan penskalaan terjadwal ketika Anda ingin menggunakannya lagi. Untuk informasi selengkapnya, lihat [Menangguhkan dan melanjutkan proses Penskalaan Otomatis Amazon EC2](as-suspend-resume-processes.md).
+ Setelah membuat tindakan terjadwal, Anda dapat memperbarui pengaturannya kecuali namanya.
+ Ketika beberapa tindakan terjadwal dalam grup Auto Scaling yang sama memiliki ekspresi cron yang identik, urutan eksekusi menjadi arbitrer dan tidak terdefinisi. Untuk memastikan perilaku yang dapat diprediksi, Anda dapat menggunakan waktu mulai terjadwal yang unik untuk setiap tindakan terjadwal.

## Batasan
<a name="scheduled-scaling-limitations"></a>
+ Nama tindakan terjadwal harus unik per grup Auto Scaling. 
+ Tindakan terjadwal harus memiliki nilai waktu yang unik. Jika Anda mencoba menjadwalkan aktivitas pada saat aktivitas penskalaan lain sudah dijadwalkan, panggilan ditolak dan menampilkan kesalahan yang menunjukkan bahwa tindakan terjadwal dengan waktu mulai terjadwal ini sudah ada.
+ Anda dapat membuat maksimal 125 tindakan terjadwal untuk setiap grup Auto Scaling.

# Buat tindakan terjadwal
<a name="scheduled-scaling-create-scheduled-action"></a>

Untuk membuat tindakan terjadwal untuk grup Auto Scaling Anda, gunakan salah satu metode berikut:

------
#### [ Console ]

**Untuk membuat tindakan terjadwal**

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. Masukkan **Nama** untuk tindakan yang dijadwalkan.

1. Untuk **kapasitas yang diinginkan**, **Min**, **Max**, pilih kapasitas baru yang diinginkan dari grup dan batas ukuran minimum dan maksimum yang baru. Kapasitas yang diinginkan harus sama dengan atau lebih besar dari ukuran kelompok minimum, dan sama dengan atau kurang dari ukuran kelompok maksimum.

1. Untuk **Recurrence**, pilih salah satu opsi yang tersedia.
   + Jika Anda ingin menskalakan pada jadwal berulang, pilih seberapa sering Amazon EC2 Auto Scaling harus menjalankan tindakan terjadwal. 
     + Jika Anda memilih opsi yang dimulai dengan **Setiap**, ekspresi cron akan dibuat untuk Anda.
     + Jika Anda memilih **Cron**, masukkan ekspresi cron yang menentukan kapan harus melakukan tindakan. 
   + Jika Anda ingin menskalakan hanya sekali, pilih **Sekali**.

1. Untuk **zona waktu**, pilih zona waktu. Nilai default-nya `Etc/UTC`.

   Semua zona waktu yang tercantum berasal dari database Zona Waktu IANA. Untuk informasi lebih lanjut, lihat [https://en.wikipedia. org/wiki/List\$1of\$1tz\$1database\$1time\$1zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).

1. Tentukan tanggal dan waktu untuk **waktu mulai spesifik**.
   + Jika Anda memilih jadwal berulang, waktu mulai menentukan kapan tindakan terjadwal pertama dalam seri berulang berjalan. 
   + Jika Anda memilih **Once** sebagai pengulangan, waktu mulai menentukan tanggal dan waktu untuk menjalankan tindakan jadwal. 

1.  (Opsional) Untuk jadwal berulang, Anda dapat menentukan waktu akhir dengan memilih **Atur Waktu Akhir** dan kemudian memilih tanggal dan waktu untuk **Akhir** oleh.

1. Pilih **Buat**. Konsol menampilkan tindakan terjadwal untuk grup Auto Scaling. 

------
#### [ AWS CLI ]

Untuk membuat tindakan terjadwal, Anda dapat menggunakan salah satu perintah contoh berikut. Ganti masing-masing *user input placeholder* dengan informasi Anda sendiri.

**Contoh: Untuk skala satu kali saja**  
Gunakan perintah [put-scheduled-update-group-action](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scheduled-update-group-action.html) berikut dengan `--desired-capacity` opsi `--start-time "YYYY-MM-DDThh:mm:ssZ"` dan. 

```
aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-one-time-action \
  --auto-scaling-group-name my-asg --start-time "2021-03-31T08:00:00Z" --desired-capacity 3
```

**Contoh: Untuk menjadwalkan penskalaan pada jadwal berulang**  
Gunakan perintah [put-scheduled-update-group-action](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scheduled-update-group-action.html) berikut dengan `--desired-capacity` opsi `--recurrence "cron expression"` dan.

```
aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-recurring-action \
  --auto-scaling-group-name my-asg --recurrence "0 9 * * *" --desired-capacity 3
```

Secara default, Amazon EC2 Auto Scaling menjalankan jadwal pengulangan yang ditentukan berdasarkan zona waktu UTC. Untuk menentukan zona waktu yang berbeda, sertakan `--time-zone` opsi dan nama zona waktu IANA, seperti pada contoh berikut.

```
--time-zone "America/New_York"
```

Untuk informasi lebih lanjut, lihat [https://en.wikipedia. org/wiki/List\$1of\$1tz\$1database\$1time\$1zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).

------

# Lihat detail tindakan terjadwal
<a name="scheduled-scaling-view-scheduled-actions"></a>

Untuk melihat detail tindakan terjadwal yang akan datang untuk grup Auto Scaling Anda, gunakan salah satu metode berikut:

------
#### [ Console ]

**Untuk melihat detail tindakan terjadwal**

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

1. Pada tab **Penskalaan otomatis**, di bagian **Tindakan terjadwal**, Anda dapat melihat tindakan terjadwal yang akan datang.

Perhatikan bahwa konsol menampilkan nilai untuk **Waktu mulai dan Waktu** **akhir di waktu** lokal Anda dengan offset UTC berlaku pada tanggal dan waktu yang ditentukan. Offset UTC adalah perbedaan, dalam jam dan menit, dari waktu setempat ke UTC. Nilai untuk **zona Waktu menunjukkan zona** waktu yang Anda minta, misalnya,`America/New_York`. 

------
#### [ AWS CLI ]

Gunakan perintah berikut [describe-scheduled-actions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-scheduled-actions.html). 

```
aws autoscaling describe-scheduled-actions --auto-scaling-group-name my-asg
```

Jika berhasil, perintah ini mengembalikan output yang serupa dengan yang berikut.

```
{
  "ScheduledUpdateGroupActions": [
    {
      "AutoScalingGroupName": "my-asg",
      "ScheduledActionName": "my-recurring-action",
      "Recurrence": "30 0 1 1,6,12 *",
      "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action",
      "StartTime": "2020-12-01T00:30:00Z",
      "Time": "2020-12-01T00:30:00Z",
      "MinSize": 1,
      "MaxSize": 6,
      "DesiredCapacity": 4
    }
  ]
}
```

------

## Verifikasi aktivitas penskalaan
<a name="scheduled-scaling-verify-scaling-activities"></a>

Untuk memverifikasi aktivitas penskalaan yang terkait dengan penskalaan terjadwal, lihat. [Memverifikasi aktivitas penskalaan untuk grup Auto Scaling](as-verify-scaling-activity.md) 

# Hapus tindakan terjadwal
<a name="scheduled-scaling-delete-scheduled-action"></a>

Untuk menghapus tindakan terjadwal, gunakan salah satu metode berikut:

------
#### [ Console ]

**Untuk menghapus tindakan terjadwal**

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

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

1. Pilih **Tindakan**, **Hapus**.

1. Ketika diminta konfirmasi, pilih **Ya, Hapus**.

------
#### [ AWS CLI ]

Gunakan perintah berikut [delete-scheduled-action](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/delete-scheduled-action.html).

```
aws autoscaling delete-scheduled-action --auto-scaling-group-name my-asg \
  --scheduled-action-name my-recurring-action
```

------

# Penskalaan dinamis untuk Amazon EC2 Auto Scaling
<a name="as-scale-based-on-demand"></a>

Penskalaan dinamis menskalakan kapasitas grup Auto Scaling Anda saat terjadi perubahan lalu lintas.

Amazon EC2 Auto Scaling mendukung jenis kebijakan penskalaan dinamis berikut:
+ **Penskalaan pelacakan target** —Tingkatkan dan kurangi kapasitas grup saat ini berdasarkan CloudWatch metrik Amazon dan nilai target. Ini bekerja mirip dengan cara termostat Anda mempertahankan suhu rumah Anda—Anda memilih suhu dan termostat melakukan sisanya.
+ **Penskalaan langkah** — Meningkatkan dan mengurangi kapasitas grup saat ini berdasarkan serangkaian penyesuaian penskalaan, yang dikenal sebagai *penyesuaian langkah*, yang bervariasi berdasarkan ukuran pelanggaran alarm.
+ **Penskalaan sederhana** —Meningkatkan dan mengurangi kapasitas grup saat ini berdasarkan penyesuaian penskalaan tunggal, dengan periode cooldown antara setiap aktivitas penskalaan.

Kami sangat menyarankan agar Anda menggunakan kebijakan penskalaan pelacakan target dan memilih metrik yang berubah berbanding terbalik dengan perubahan kapasitas grup Auto Scaling Anda. Jadi, jika Anda menggandakan ukuran grup Auto Scaling Anda, metriknya berkurang 50 persen. Hal ini memungkinkan data metrik untuk secara akurat memicu peristiwa penskalaan proporsional. Termasuk metrik seperti pemanfaatan CPU rata-rata atau jumlah permintaan rata-rata per target.

Dengan pelacakan target, grup Auto Scaling Anda menskalakan dalam proporsi langsung dengan beban aktual pada aplikasi Anda. Itu berarti bahwa selain memenuhi kebutuhan mendesak akan kapasitas dalam menanggapi perubahan beban, kebijakan pelacakan target juga dapat beradaptasi dengan perubahan beban yang terjadi dari waktu ke waktu, misalnya, karena variasi musim.

Kebijakan pelacakan target juga menghilangkan kebutuhan untuk menentukan CloudWatch alarm dan penyesuaian penskalaan secara manual. Amazon EC2 Auto Scaling menangani ini secara otomatis berdasarkan target yang Anda tetapkan.

**Topics**
+ [Cara kerja kebijakan penskalaan dinamis](#as-how-scaling-policies-work)
+ [Beberapa kebijakan penskalaan dinamis](#multiple-scaling-policy-resolution)
+ [Kebijakan penskalaan pelacakan target untuk Amazon EC2 Auto Scaling](as-scaling-target-tracking.md)
+ [Kebijakan penskalaan langkah dan sederhana untuk Amazon EC2 Auto Scaling](as-scaling-simple-step.md)
+ [Menskalakan jeda pakai untuk Amazon EC2 Auto Scaling](ec2-auto-scaling-scaling-cooldowns.md)
+ [Kebijakan penskalaan berdasarkan Amazon SQS](as-using-sqs-queue.md)
+ [Memverifikasi aktivitas penskalaan untuk grup Auto Scaling](as-verify-scaling-activity.md)
+ [Menonaktifkan kebijakan penskalaan untuk grup Auto Scaling](as-enable-disable-scaling-policy.md)
+ [Menghapus kebijakan penskalaan untuk grup Auto Scaling](deleting-scaling-policy.md)
+ [Contoh kebijakan penskalaan untuk AWS CLI](examples-scaling-policies.md)

## Cara kerja kebijakan penskalaan dinamis
<a name="as-how-scaling-policies-work"></a>

Kebijakan penskalaan dinamis menginstruksikan Amazon EC2 Auto Scaling untuk melacak metrik CloudWatch tertentu, dan menentukan tindakan apa yang harus diambil saat alarm terkait ada di ALARM. CloudWatch Metrik yang digunakan untuk memanggil status alarm adalah agregasi metrik yang berasal dari semua instance dalam grup Auto Scaling. (Misalnya, katakanlah Anda memiliki grup Auto Scaling dengan dua instance di mana satu instance berada pada CPU 60 persen dan yang lainnya pada CPU 40 persen. Rata-rata, mereka berada di CPU 50 persen.) Saat kebijakan diberlakukan, Amazon EC2 Auto Scaling menyesuaikan kapasitas grup yang diinginkan naik atau turun saat ambang alarm dilanggar.

Ketika kebijakan penskalaan dinamis dipanggil, jika penghitungan kapasitas menghasilkan angka di luar rentang ukuran minimum dan maksimum grup, Amazon EC2 Auto Scaling memastikan bahwa kapasitas baru tidak pernah melampaui batas ukuran minimum dan maksimum. Kapasitas diukur dengan salah satu dari dua cara: menggunakan unit yang sama yang Anda pilih saat Anda mengatur kapasitas yang diinginkan dalam hal instance, atau menggunakan unit kapasitas (jika [bobot instance](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md) diterapkan).
+ Contoh 1: Grup Auto Scaling memiliki kapasitas maksimum 3, kapasitas saat ini 2, dan kebijakan penskalaan dinamis yang menambahkan 3 instans. Saat menjalankan kebijakan ini, Amazon EC2 Auto Scaling hanya menambahkan 1 instans ke grup untuk mencegah grup melebihi ukuran maksimumnya. 
+ Contoh 2: Grup Auto Scaling memiliki kapasitas minimum 2, kapasitas saat ini 3, dan kebijakan penskalaan dinamis yang menghapus 2 instans. Saat menjalankan kebijakan ini, Amazon EC2 Auto Scaling hanya menghapus 1 instans dari grup untuk mencegah grup menjadi kurang dari ukuran minimumnya. 

Ketika kapasitas yang diinginkan mencapai batas ukuran maksimum, penskalaan berhenti. Jika permintaan turun dan kapasitas turun, Amazon EC2 Auto Scaling dapat kembali menaikkan skala. 

Pengecualiannya adalah saat Anda menggunakan bobot instance. Dalam instance ini, Amazon EC2 Auto Scaling dapat menskalakan di atas batas ukuran maksimum, tetapi hanya sampai dengan bobot maksimal yang Anda inginkan. Tujuannya adalah untuk sedekat mungkin dengan kapasitas baru yang diinginkan tetapi tetap mematuhi strategi alokasi yang ditentukan untuk grup. Strategi alokasi menentukan jenis instance yang akan diluncurkan. Bobot tersebut menentukan berapa banyak unit kapasitas yang dikontribusikan tiap-tiap instance pada kapasitas yang diinginkan grup berdasarkan tipe instance.
+ Contoh 3: Grup Auto Scaling memiliki kapasitas maksimum 12, kapasitas saat ini 10, dan kebijakan penskalaan dinamis yang menambahkan 5 unit kapasitas. Jenis instance memiliki satu dari tiga bobot yang ditetapkan: 1, 4, atau 6. Saat menjalankan kebijakan, Amazon EC2 Auto Scaling memilih untuk meluncurkan jenis instans dengan bobot 6 berdasarkan strategi alokasi. Hasil dari peristiwa peningkatan skala ini adalah grup dengan kapasitas yang diinginkan sebesar 12 dan kapasitas saat ini sebesar 16.

## Beberapa kebijakan penskalaan dinamis
<a name="multiple-scaling-policy-resolution"></a>

Dalam sebagian besar kasus, kebijakan penskalaan pelacakan target cukup untuk mengonfigurasi grup Auto Scaling Anda untuk menaikkan atau menurunkan skala secara otomatis. Kebijakan penskalaan pelacakan target memungkinkan Anda memilih hasil yang diinginkan dan meminta grup Auto Scaling menambahkan dan menghapus instance sesuai kebutuhan untuk mencapai hasil tersebut. 

Untuk konfigurasi penskalaan tingkat lanjut, grup Auto Scaling Anda dapat memiliki lebih dari satu kebijakan penskalaan. Misalnya, Anda dapat menentukan satu atau lebih kebijakan penskalaan pelacakan target, satu atau lebih kebijakan penskalaan langkah, atau keduanya. Ini memberikan fleksibilitas yang lebih besar untuk mencakup beberapa skenario. 

Untuk mengilustrasikan cara kerja bersama beberapa kebijakan penskalaan dinamis, pertimbangkan aplikasi yang menggunakan grup Auto Scaling dan antrean Amazon SQS untuk mengirim permintaan ke satu instans EC2. Untuk membantu memastikan bahwa aplikasi bekerja pada tingkat optimal, ada dua kebijakan yang mengontrol ketika grup Auto Scaling harus ditingkatkan. Salah satunya adalah kebijakan pelacakan target yang menggunakan metrik khusus untuk menambah dan menghapus kapasitas berdasarkan jumlah pesan SQS dalam antrean. Yang lainnya adalah kebijakan penskalaan langkah yang menggunakan CloudWatch `CPUUtilization` metrik Amazon untuk menambah kapasitas ketika instance melebihi 90 persen pemanfaatan untuk jangka waktu tertentu. 

Jika ada beberapa kebijakan yang berlaku pada saat yang sama, ada kemungkinan bahwa setiap kebijakan dapat menginstruksikan grup Auto Scaling untuk meningkatkan skala (atau menurunkan skala) pada saat yang sama. Misalnya, ada kemungkinan bahwa `CPUUtilization` metrik melonjak dan melanggar ambang CloudWatch alarm pada saat yang sama ketika metrik kustom SQS melonjak dan melanggar ambang alarm metrik khusus. 

Jika situasi ini terjadi, Amazon EC2 Auto Scaling memilih kebijakan yang menyediakan kapasitas terbesar untuk menaikan dan menurunkan skala. Misalkan, kebijakan untuk `CPUUtilization` meluncurkan satu instance, sementara kebijakan untuk antrean SQS meluncurkan dua instance. Jika kriteria peningkatan skala untuk kedua kebijakan terpenuhi pada saat yang sama, Amazon EC2 Auto Scaling memberikan prioritas pada kebijakan antrean SQS. Hal ini menghasilkan grup Auto Scaling yang meluncurkan dua instance. 

Pendekatan pemberian prioritas terhadap kebijakan yang memberikan kapasitas terbesar berlaku bahkan ketika kebijakan menggunakan kriteria yang berbeda untuk penskalaan. Misalnya, jika satu kebijakan menghentikan tiga instance, kebijakan lain mengurangi jumlah instance sebesar 25 persen, dan grup memiliki delapan instance pada saat menurunkan skala, Amazon EC2 Auto Scaling memberikan prioritas pada kebijakan yang menyediakan jumlah instance terbesar untuk grup tersebut. Ini menghasilkan grup Auto Scaling yang menghentikan dua instance (25 persen dari 8 = 2). Tujuannya adalah untuk mencegah Amazon EC2 Auto Scaling menghapus terlalu banyak instance.

Namun, kami menyarankan Anda berhati-hati ketika menggunakan kebijakan penskalaan pelacakan target dengan kebijakan penskalaan langkah karena adanya konflik di antara kebijakan ini dapat menyebabkan perilaku yang tidak diinginkan. Misalnya, jika kebijakan penskalaan langkah memulai skala dalam aktivitas sebelum kebijakan pelacakan target siap untuk diskalakan, skala dalam aktivitas tidak akan diblokir. Setelah skala aktivitas selesai, kebijakan pelacakan target dapat menginstruksikan kelompok untuk meningkatkan skala lagi. 

# Kebijakan penskalaan pelacakan target untuk Amazon EC2 Auto Scaling
<a name="as-scaling-target-tracking"></a>

Kebijakan penskalaan pelacakan target secara otomatis menskalakan kapasitas grup Auto Scaling Anda berdasarkan nilai metrik target. Secara otomatis menyesuaikan dengan pola penggunaan unik dari aplikasi individual Anda. Hal ini memungkinkan aplikasi Anda mempertahankan kinerja optimal dan pemanfaatan tinggi untuk instans EC2 Anda untuk efisiensi biaya yang lebih baik tanpa intervensi manual.

Dengan pelacakan target, Anda memilih metrik dan nilai target untuk mewakili tingkat pemanfaatan atau throughput rata-rata yang ideal untuk aplikasi Anda. Amazon EC2 Auto Scaling membuat dan CloudWatch mengelola alarm yang memanggil peristiwa penskalaan saat metrik menyimpang dari target. Sebagai contoh, ini mirip dengan bagaimana termostat mempertahankan suhu target.

Misalnya, katakanlah Anda saat ini memiliki aplikasi yang berjalan pada dua instance, dan Anda ingin pemanfaatan CPU dari grup Auto Scaling tetap sekitar 50 persen saat beban pada aplikasi berubah. Ini memberi Anda kapasitas ekstra untuk menangani lonjakan lalu lintas tanpa mempertahankan jumlah berlebih dari sumber daya yang tidak aktif. 

Anda dapat memenuhi kebutuhan ini dengan membuat kebijakan penskalaan pelacakan target yang menargetkan pemanfaatan CPU rata-rata 50 persen. Kemudian, grup Auto Scaling Anda akan meningkatkan skala, atau meningkatkan kapasitas, ketika CPU melebihi 50 persen untuk menangani peningkatan beban. Ini akan menskalakan, atau mengurangi kapasitas, ketika CPU turun di bawah 50 persen untuk mengoptimalkan biaya selama periode pemanfaatan rendah.

**Topics**
+ [Beberapa kebijakan penskalaan pelacakan target](#target-tracking-multiple-policies)
+ [Pilih metrik](#target-tracking-choose-metrics)
+ [Tentukan nilai target](#target-tracking-define-target-value)
+ [Tentukan waktu pemanasan instance](#as-target-tracking-scaling-warmup)
+ [Pertimbangan-pertimbangan](#target-tracking-considerations)
+ [Buat kebijakan penskalaan pelacakan target](policy_creating.md)
+ [Membuat kebijakan pelacakan target menggunakan metrik resolusi tinggi untuk respons yang lebih cepat](policy-creating-high-resolution-metrics.md)
+ [Buat kebijakan penskalaan pelacakan target menggunakan matematika metrik](ec2-auto-scaling-target-tracking-metric-math.md)

## Beberapa kebijakan penskalaan pelacakan target
<a name="target-tracking-multiple-policies"></a>

Untuk membantu mengoptimalkan kinerja penskalaan, Anda dapat menggunakan beberapa kebijakan penskalaan pelacakan target secara bersamaan, asalkan masing-masing menggunakan metrik yang berbeda. Misalnya, pemanfaatan dan throughput dapat saling mempengaruhi. Setiap kali salah satu metrik ini berubah, biasanya menyiratkan bahwa metrik lain juga akan terpengaruh. Oleh karena itu, penggunaan beberapa metrik memberikan informasi tambahan tentang beban yang dimiliki grup Auto Scaling Anda. Ini dapat membantu Amazon EC2 Auto Scaling membuat keputusan yang lebih tepat saat menentukan berapa banyak kapasitas yang akan ditambahkan ke grup Anda. 

Tujuan Amazon EC2 Auto Scaling adalah untuk selalu memprioritaskan ketersediaan. Ini akan memperkecil grup Auto Scaling jika ada kebijakan pelacakan target yang siap untuk diskalakan. Ini akan menskalakan hanya jika semua kebijakan pelacakan target (dengan skala dalam porsi diaktifkan) siap untuk diskalakan.

## Pilih metrik
<a name="target-tracking-choose-metrics"></a>

Anda dapat membuat kebijakan penskalaan pelacakan target dengan metrik yang telah ditentukan sebelumnya atau metrik khusus. Metrik yang telah ditentukan sebelumnya memberi Anda akses yang lebih mudah ke metrik yang paling umum digunakan untuk penskalaan. Metrik khusus memungkinkan Anda menskalakan CloudWatch metrik lain yang tersedia termasuk [metrik resolusi tinggi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Resolution_definition) yang diterbitkan pada interval yang lebih halus dalam urutan beberapa detik. Anda dapat mempublikasikan metrik atau metrik resolusi tinggi Anda sendiri yang dipublikasikan oleh layanan lain AWS .

Untuk informasi selengkapnya tentang membuat kebijakan pelacakan target menggunakan metrik resolusi tinggi, lihat[Membuat kebijakan pelacakan target menggunakan metrik resolusi tinggi untuk respons yang lebih cepat](policy-creating-high-resolution-metrics.md).

Pelacakan target mendukung metrik yang telah ditentukan berikut:
+ `ASGAverageCPUUtilization`—Penggunaan CPU rata-rata grup Auto Scaling.
+ `ASGAverageNetworkIn`—Rata-rata jumlah byte yang diterima di semua antarmuka jaringan oleh grup Auto Scaling.
+ `ASGAverageNetworkOut`—Rata-rata jumlah byte yang dikirim ke semua antarmuka jaringan oleh grup Auto Scaling.
+ `ALBRequestCountPerTarget`—Rata-rata jumlah permintaan Application Load Balancer per target untuk grup Auto Scaling Anda.

**penting**  
*Informasi berharga lainnya tentang metrik untuk pemanfaatan CPU, I/O jaringan, dan jumlah permintaan Application Load Balancer per target dapat ditemukan di [Daftar metrik yang CloudWatch tersedia untuk topik instans Anda di Panduan Pengguna *Amazon EC2* dan metrik untuk](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html) topik [Application Load Balancer Anda di Panduan Pengguna CloudWatch untuk Penyeimbang Beban Aplikasi](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html), masing-masing.*

Anda dapat memilih CloudWatch metrik lain yang tersedia atau metrik Anda sendiri CloudWatch dengan menentukan metrik khusus. Untuk contoh yang menentukan spesifikasi metrik yang disesuaikan untuk kebijakan penskalaan pelacakan target menggunakan AWS CLI, lihat. [Contoh kebijakan penskalaan untuk AWS CLI](examples-scaling-policies.md)

Ingatlah hal-hal berikut ini saat memilih metrik:
+ Kami menyarankan Anda hanya menggunakan metrik yang tersedia pada interval satu menit atau lebih rendah untuk membantu Anda menskalakan lebih cepat dalam menanggapi perubahan pemanfaatan. Metrik yang diterbitkan pada interval yang lebih rendah memungkinkan kebijakan pelacakan target mendeteksi dan merespons lebih cepat perubahan dalam pemanfaatan grup Auto Scaling Anda.
+ Jika Anda memilih metrik yang telah ditentukan sebelumnya yang diterbitkan oleh Amazon EC2, seperti pemanfaatan CPU, sebaiknya aktifkan pemantauan terperinci. Secara default, semua metrik Amazon EC2 diterbitkan dalam interval lima menit, tetapi dapat dikonfigurasi ke interval yang lebih rendah dari satu menit dengan mengaktifkan pemantauan terperinci. Untuk informasi tentang cara mengaktifkan pemantauan terperinci, lihat[Konfigurasikan pemantauan untuk instans Auto Scaling](enable-as-instance-metrics.md).
+ Tidak semua metrik khusus berfungsi untuk pelacakan target. Metrik harus berupa metrik penggunaan yang valid dan menjelaskan seberapa sibuk instance. Nilai metrik harus meningkatkan atau menurunkan secara proporsional jumlah instance dalam grup Auto Scaling. Dengan demikian, data metrik dapat digunakan untuk meningkatkan atau menurunkan jumlah instance secara proporsional. Misalnya, pemanfaatan CPU pekerjaan grup Auto Scaling (yaitu, `CPUUtilization` metrik Amazon EC2 dengan `AutoScalingGroupName` dimensi metrik), jika beban pada grup Auto Scaling didistribusikan di seluruh instance. 
+ Metrik berikut tidak berfungsi untuk pelacakan target:
  + Jumlah permintaan yang diterima oleh load balancer di depan grup Auto Scaling (yaitu, metrik Elastic Load Balancing `RequestCount`). Jumlah permintaan yang diterima oleh load balancer tidak berubah berdasarkan penggunaan grup Auto Scaling.
  + Latensi permintaan penyeimbang muatan (yaitu, metrik Elastic Load Balancing `Latency`). Permintaan latensi dapat meningkat berdasarkan peningkatan pemanfaatan, tetapi tidak selalu berubah secara proporsional.
  + Metrik antrian CloudWatch Amazon SQS. `ApproximateNumberOfMessagesVisible` Jumlah pesan dalam antrian mungkin tidak berubah secara proporsional dengan ukuran grup Auto Scaling yang memproses pesan dari antrian. Namun, metrik kustom yang mengukur jumlah pesan dalam antrian per instans EC2 di grup Auto Scaling dapat berfungsi. Untuk informasi selengkapnya, lihat [Kebijakan penskalaan berdasarkan Amazon SQS](as-using-sqs-queue.md).
+ Untuk menggunakan `ALBRequestCountPerTarget` metrik, Anda harus menentukan `ResourceLabel` parameter untuk mengidentifikasi kelompok target penyeimbang beban yang terkait dengan metrik. Untuk contoh yang menentukan `ResourceLabel` parameter untuk kebijakan penskalaan pelacakan target menggunakan AWS CLI, lihat. [Contoh kebijakan penskalaan untuk AWS CLI](examples-scaling-policies.md)
+ Ketika metrik memancarkan nilai 0 nyata ke CloudWatch (misalnya,`ALBRequestCountPerTarget`), grup Auto Scaling dapat menskalakan ke 0 ketika tidak ada lalu lintas ke aplikasi Anda untuk jangka waktu yang berkelanjutan. Agar grup Auto Scaling Anda masuk ke 0 saat tidak ada permintaan yang dirutekan, kapasitas minimum grup harus disetel ke 0.
+ Alih-alih menerbitkan metrik baru untuk digunakan dalam kebijakan penskalaan, Anda dapat menggunakan matematika metrik untuk menggabungkan metrik yang ada. Untuk informasi selengkapnya, lihat [Buat kebijakan penskalaan pelacakan target menggunakan matematika metrik](ec2-auto-scaling-target-tracking-metric-math.md).

## Tentukan nilai target
<a name="target-tracking-define-target-value"></a>

Saat membuat kebijakan penskalaan pelacakan target, Anda harus menentukan nilai target. Nilai target mewakili pemanfaatan atau throughput rata-rata optimal untuk grup Auto Scaling. Untuk menggunakan biaya sumber daya secara efisien, tetapkan nilai target setinggi mungkin dengan buffer yang masuk akal untuk peningkatan lalu lintas yang tidak terduga. Ketika aplikasi Anda diskalakan secara optimal untuk arus lalu lintas normal, nilai metrik sebenarnya harus berada pada atau tepat di bawah nilai target. 

Ketika kebijakan penskalaan didasarkan pada throughput, seperti jumlah permintaan per target untuk Application Load Balancer, I/O jaringan, atau metrik hitungan lainnya, nilai target mewakili throughput rata-rata optimal dari satu instans, untuk periode satu menit.

## Tentukan waktu pemanasan instance
<a name="as-target-tracking-scaling-warmup"></a>

Anda memiliki opsi untuk menentukan jumlah detik yang diperlukan untuk pemanasan instans yang baru diluncurkan. Sampai waktu pemanasan yang ditentukan berakhir, instans tidak diperhitungkan dalam agregat metrik instans EC2 grup Auto Scaling.

Sementara kasus berada dalam periode pemanasan, kebijakan penskalaan Anda hanya akan diperkecil jika nilai metrik dari instans yang tidak memanas lebih besar daripada penggunaan target kebijakan.

Jika kelompok menskalakan lagi, contoh yang masih memanas dihitung sebagai bagian dari kapasitas yang diinginkan untuk aktivitas penskalaan berikutnya. Tujuannya adalah untuk terus (tetapi tidak berlebihan) menskalakan ke luar.

Sementara aktivitas scale-out sedang berlangsung, semua skala dalam aktivitas yang diprakarsai oleh kebijakan penskalaan diblokir hingga instans selesai memanas. Ketika contoh selesai pemanasan, jika skala dalam peristiwa terjadi, setiap contoh yang saat ini dalam proses penghentian akan dihitung terhadap kapasitas grup saat ini ketika menghitung kapasitas baru yang diinginkan. Oleh karena itu, kami tidak menghapus lebih banyak instance daripada yang diperlukan oleh grup Auto Scaling.

**Nilai default**  
Jika tidak ada nilai yang disetel, maka kebijakan penskalaan akan menggunakan nilai default, yang merupakan nilai untuk [pemanasan instance default](ec2-auto-scaling-default-instance-warmup.md) yang ditentukan untuk grup. [Jika pemanasan instance default adalah null, maka itu kembali ke nilai cooldown default.](ec2-auto-scaling-scaling-cooldowns.md#set-default-cooldown) Sebaiknya gunakan pemanasan instans default untuk mempermudah pembaruan semua kebijakan penskalaan saat waktu pemanasan berubah.

## Pertimbangan-pertimbangan
<a name="target-tracking-considerations"></a>

Pertimbangan berikut berlaku saat bekerja dengan kebijakan penskalaan pelacakan target:
+ Jangan membuat, mengedit, atau menghapus CloudWatch alarm yang digunakan dengan kebijakan penskalaan pelacakan target. Amazon EC2 Auto Scaling membuat dan CloudWatch mengelola alarm yang terkait dengan kebijakan penskalaan pelacakan target Anda dan dapat mengedit, mengganti, atau menghapusnya bila diperlukan untuk menyesuaikan pengalaman penskalaan untuk aplikasi Anda dan pola pemanfaatannya yang berubah. 
+ Kebijakan penskalaan pelacakan target memprioritaskan ketersediaan selama periode tingkat lalu lintas yang berfluktuasi dengan menskalakan secara lebih bertahap ketika lalu lintas menurun. Jika Anda menginginkan kontrol yang lebih besar, kebijakan penskalaan langkah mungkin merupakan pilihan yang lebih baik. Anda dapat menonaktifkan sementara bagian scale-in dari kebijakan pelacakan target. Ini membantu mempertahankan jumlah minimum instance untuk penerapan yang berhasil. 
+ Jika metrik kehilangan titik data, ini menyebabkan status CloudWatch alarm berubah menjadi`INSUFFICIENT_DATA`. Ketika ini terjadi, Amazon EC2 Auto Scaling tidak dapat menskalakan grup Anda hingga titik data baru ditemukan.
+ Jika metrik jarang dilaporkan oleh desain, matematika metrik dapat membantu. Misalnya, untuk menggunakan nilai terbaru, maka gunakan `FILL(m1,REPEAT)` fungsi di `m1` mana metrik.
+ Anda mungkin melihat kesenjangan antara nilai target dan titik data metrik aktualnya. Ini karena kami bertindak konservatif dengan membulatkan ke atas atau ke bawah saat menentukan berapa banyak instance untuk ditambahkan atau dihapus. Hal ini mencegah kami menambahkan jumlah instance yang tidak mencukupi atau menghilangkan terlalu banyak instance. Namun, untuk grup Auto Scaling yang lebih kecil dengan lebih sedikit instance, pemanfaatan grup mungkin tampak jauh dari nilai target.

  Misalnya, Anda menetapkan nilai target 50 persen untuk pemanfaatan CPU dan grup Auto Scaling Anda kemudian melebihi target. Kami dapat menentukan bahwa penambahan 1,5 instance akan mengurangi penggunaan CPU hingga mendekati 50 persen. Karena tidak mungkin untuk menambahkan 1,5 instance, kami membulatkan ke atas dan menambahkan dua instance. Hal ini dapat mengurangi penggunaan CPU menjadi nilai di bawah 50 persen, tetapi memastikan bahwa aplikasi Anda memiliki sumber daya yang cukup untuk mendukungnya. Demikian pula, jika kami menentukan bahwa menghapus 0,5 instance meningkatkan pemanfaatan CPU Anda hingga di atas 50 persen, kami akan memilih untuk tidak meningkatkan skala sampai metrik cukup rendah sehingga kami pikir penskalaan tidak akan menyebabkan osilasi. 

  Untuk grup Auto Scaling yang lebih besar dengan lebih banyak instance, penggunaan tersebut disebarkan pada sejumlah besar instance, di mana penambahan atau penghapusan instance menyebabkan lebih sedikit kesenjangan antara nilai target dan titik data metrik aktual.
+ Kebijakan penskalaan pelacakan target mengasumsikan bahwa harus meningkatkan skala grup Auto Scaling Anda ketika metrik yang telah ditentukan berada di atas nilai target. Anda tidak dapat menggunakan kebijakan penskalaan pelacakan target untuk memperkecil grup Auto Scaling jika metrik yang ditentukan berada di bawah nilai target.

# Buat kebijakan penskalaan pelacakan target
<a name="policy_creating"></a>

Untuk membuat kebijakan penskalaan pelacakan target untuk grup Auto Scaling Anda, gunakan salah satu metode berikut. 

Sebelum memulai, konfirmasikan bahwa metrik pilihan Anda tersedia pada interval 1 menit (dibandingkan dengan interval 5 menit default metrik Amazon EC2).

------
#### [ Console ]

**Untuk membuat kebijakan penskalaan pelacakan target untuk grup Auto Scaling baru**

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

1. Pada Langkah 1, 2, dan 3, pilih opsi yang diinginkan dan lanjutkan ke **Langkah 4: Konfigurasikan kebijakan ukuran dan penskalaan grup**.

1. Di bawah **Penskalaan**, tentukan rentang yang ingin Anda skalakan dengan memperbarui kapasitas **Min yang diinginkan dan kapasitas** **Maks yang diinginkan**. Kedua pengaturan ini memungkinkan grup Auto Scaling Anda untuk menskalakan secara dinamis. Untuk informasi selengkapnya, lihat [Tetapkan batas penskalaan untuk grup Auto Scaling Anda](asg-capacity-limits.md).

1. Di bawah **Penskalaan otomatis, pilih Kebijakan penskalaan** **pelacakan target.**

1. Untuk menentukan kebijakan, lakukan hal berikut:

   1. Tentukan nama untuk kebijakan tersebut.

   1. Untuk **Jenis metrik**, pilih metrik. 

      Jika Anda memilih **jumlah permintaan Application Load Balancer per target**, pilih grup target di grup **Target**.

   1. Tentukan **Nilai target** untuk metrik.

   1. (Opsional) Untuk **pemanasan Instance**, perbarui nilai pemanasan instance sesuai kebutuhan.

   1. (Opsional) Pilih **Nonaktifkan penurunan skala untuk membuat hanya kebijakan peningkatan skala**. Ini memungkinkan Anda membuat kebijakan penurunan skala terpisah dari jenis yang berbeda jika diinginkan.

1. Lanjutkan untuk membuat grup Auto Scaling. Kebijakan penskalaan Anda akan dibuat setelah grup Auto Scaling dibuat. 

**Untuk membuat kebijakan penskalaan pelacakan target untuk grup Auto Scaling yang ada**

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. Verifikasi bahwa batas penskalaan ditetapkan dengan tepat. Misalnya, jika kapasitas yang diinginkan grup Anda sudah maksimal, Anda perlu menentukan maksimum baru untuk meningkatkan skala. Untuk informasi selengkapnya, lihat [Tetapkan batas penskalaan untuk grup Auto Scaling Anda](asg-capacity-limits.md).

1. Pada tab **Penskalaan otomatis**, dalam Kebijakan **penskalaan dinamis, pilih Buat kebijakan** **penskalaan dinamis**.

1. Untuk menentukan kebijakan, lakukan hal berikut:

   1. Untuk **jenis Kebijakan**, pertahankan default **penskalaan pelacakan Target**. 

   1. Tentukan nama untuk kebijakan tersebut.

   1. Untuk **Jenis metrik**, pilih metrik. Anda hanya dapat memilih satu jenis metrik. Untuk menggunakan lebih dari satu metrik, buat beberapa kebijakan.

      Jika Anda memilih **jumlah permintaan Application Load Balancer per target**, pilih grup target di grup **Target**.

   1. Tentukan **Nilai target** untuk metrik.

   1. (Opsional) Untuk **pemanasan Instance**, perbarui nilai pemanasan instance sesuai kebutuhan.

   1. (Opsional) Pilih **Nonaktifkan penurunan skala untuk membuat hanya kebijakan peningkatan skala**. Ini memungkinkan Anda membuat kebijakan penurunan skala terpisah dari jenis yang berbeda jika diinginkan.

1. Pilih **Buat**.

------
#### [ AWS CLI ]

Untuk membuat kebijakan penskalaan pelacakan target, Anda dapat menggunakan contoh berikut untuk membantu Anda memulai. Ganti masing-masing *user input placeholder* dengan informasi Anda sendiri.

**catatan**  
Untuk contoh lainnya, lihat [Contoh kebijakan penskalaan untuk AWS CLI](examples-scaling-policies.md).

**Untuk membuat kebijakan penskalaan pelacakan target ()AWS CLI**

1. Gunakan `cat` perintah berikut untuk menyimpan nilai target untuk kebijakan penskalaan Anda dan spesifikasi metrik yang telah ditentukan sebelumnya dalam file JSON yang diberi nama `config.json` di direktori home Anda. Berikut ini adalah contoh konfigurasi pelacakan target yang menjaga pemanfaatan CPU rata-rata sebesar 50 persen.

   ```
   $ cat ~/config.json
   {
     "TargetValue": 50.0,
     "PredefinedMetricSpecification": 
       {
         "PredefinedMetricType": "ASGAverageCPUUtilization"
       }
   }
   ```

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

1. Gunakan perintah [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html), beserta file `config.json` yang Anda buat di langkah sebelumnya, untuk membuat kebijakan penskalaan Anda.

   ```
   aws autoscaling put-scaling-policy --policy-name cpu50-target-tracking-scaling-policy \
     --auto-scaling-group-name my-asg --policy-type TargetTrackingScaling \
     --target-tracking-configuration file://config.json
   ```

   Jika berhasil, perintah ini mengembalikan ARNs dan nama dari dua CloudWatch alarm yang dibuat atas nama Anda.

   ```
   {
       "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:228f02c2-c665-4bfd-aaac-8b04080bea3c:autoScalingGroupName/my-asg:policyName/cpu50-target-tracking-scaling-policy",
       "Alarms": [
           {
               "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e",
               "AlarmName": "TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e"
           },
           {
               "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2",
               "AlarmName": "TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2"
           }
       ]
   }
   ```

------

# Membuat kebijakan pelacakan target menggunakan metrik resolusi tinggi untuk respons yang lebih cepat
<a name="policy-creating-high-resolution-metrics"></a>

Pelacakan target mendukung CloudWatch metrik resolusi tinggi dengan titik data tingkat detik yang diterbitkan pada interval yang lebih rendah dari satu menit. Konfigurasikan kebijakan pelacakan target untuk memantau pemanfaatan melalui CloudWatch metrik resolusi tinggi untuk aplikasi yang memiliki pola permintaan yang tidak stabil, seperti API yang melayani klien, layanan streaming langsung, situs web e-niaga, dan pemrosesan data sesuai permintaan. Untuk mencapai presisi yang lebih tinggi dalam mencocokkan kapasitas dengan permintaan, pelacakan target menggunakan pemantauan berbutir halus ini untuk mendeteksi dan menanggapi perubahan permintaan dan pemanfaatan instans EC2 Anda dengan lebih cepat.

Untuk informasi selengkapnya tentang cara memublikasikan metrik pada resolusi tinggi, lihat [Menerbitkan metrik kustom](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) di * CloudWatch Panduan Pengguna Amazon*. [Untuk mengakses dan mempublikasikan metrik EC2, seperti pemanfaatan CPU pada resolusi tinggi, Anda mungkin ingin menggunakan agen. CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)

## Wilayah AWS
<a name="policy-creating-high-resolution-metrics-regions"></a>

Pelacakan target menggunakan metrik resolusi tinggi tersedia di semua Wilayah AWS kecuali. AWS GovCloud (US) Regions

## Cara kerja kebijakan pelacakan target dengan metrik resolusi tinggi
<a name="policy-high-resolution-metrics-how-works"></a>

Anda membuat kebijakan pelacakan target dengan menentukan metrik yang ingin dilacak dan nilai target yang ingin Anda pertahankan untuk metrik tersebut. Untuk menskalakan metrik resolusi tinggi, tentukan nama metrik dan atur periode metrik di mana pelacakan target mengamati metrik ini ke nilai yang lebih rendah dari 60 detik. Saat ini interval terendah yang didukung adalah 10 detik. Anda dapat mempublikasikan metrik Anda pada interval yang lebih rendah dari ini.

**catatan**  
Periode metrik yang lebih besar dari 60 tidak didukung.

Anda dapat mengonfigurasi pelacakan target pada satu CloudWatch metrik atau kueri beberapa CloudWatch metrik dan menggunakan ekspresi matematika untuk membuat deret waktu tunggal baru berdasarkan metrik ini. Kedua opsi memungkinkan Anda untuk menentukan periode metrik.

## Contoh
<a name="high-resolution-metrics-examples"></a>

**Contoh 1**  
Contoh berikut membuat kebijakan pelacakan target berdasarkan CloudWatch metrik resolusi tinggi. Metrik diterbitkan pada resolusi 10 detik. Dengan menentukan periode, Anda dapat mengaktifkan pelacakan target untuk memantau metrik ini pada granularitas 10 detik. Ganti masing-masing *user input placeholder* dengan informasi Anda sendiri.

```
$ cat ~/config.json
{
  "TargetValue": 100.0,
  "CustomizedMetricSpecification": {
      "MetricName": "MyHighResolutionMetric",
      "Namespace": "MyNamespace",
      "Dimensions": [
        {
          "Name": "MyOptionalDimensionName",
          "Value": "MyOptionalMetricDimensionValue"
        }
      ],
      "Statistic": "Average",
      "Unit": "None"
      "Period": "10                  
  }
}
```

**Contoh 2**  
Anda dapat menggunakan ekspresi matematika metrik untuk menggabungkan beberapa metrik menjadi satu deret waktu untuk penskalaan. Matematika metrik sangat berguna untuk mengubah metrik yang ada menjadi rata-rata per instance. Mengonversi metrik sangat penting karena pelacakan target mengasumsikan bahwa metrik berbanding terbalik dengan kapasitas grup Auto Scaling. Jadi ketika kapasitas meningkat, metrik harus berkurang dengan proporsi yang hampir sama.

Misalnya, Anda memiliki metrik yang mewakili pekerjaan yang tertunda untuk diproses oleh aplikasi Anda. Anda dapat menggunakan matematika metrik untuk membagi pekerjaan yang tertunda dengan kapasitas berjalan grup Auto Scaling Anda. Auto Scaling menerbitkan metrik kapasitas pada granularitas 1 menit, jadi tidak akan ada nilai untuk metrik ini untuk interval sub-menit. Jika Anda ingin menggunakan resolusi yang lebih tinggi untuk penskalaan, ini dapat menyebabkan ketidakcocokan periode antara kapasitas dan metrik pekerjaan yang tertunda. Untuk menghindari ketidakcocokan ini, kami sarankan Anda menggunakan ekspresi FILL untuk mengisi nilai yang hilang dengan nomor kapasitas yang direkam dalam stempel waktu menit sebelumnya. 

Contoh berikut menggunakan matematika metrik untuk membagi metrik pekerjaan yang tertunda dengan kapasitas. Untuk periode, kami mengatur kedua metrik pada 10 detik. Karena metrik diterbitkan pada interval 1 menit, kami menggunakan operasi FILL pada metrik kapasitas.

Untuk menggunakan matematika metrik untuk memodifikasi beberapa metrik

```
{
    "CustomizedMetricSpecification": {
        "Metrics": [
            {
                "Label": "Pending jobs to be processed",
                "Id": "m1",
                "MetricStat": {
                    "Metric": {
                        "MetricName": "MyPendingJobsMetric",
                        "Namespace": "Custom",
                    },
                    "Stat": "Sum"
                    "Period": 10
                },
                "ReturnData": false
            },
            {
                "Label": "Get the running instance capacity (matching the period to that of the m1)",
                "Id": "m2",
                "MetricStat": {
                    "Metric": {
                        "MetricName": "GroupInServiceInstances",
                        "Namespace": "AWS/AutoScaling",
                        "Dimensions": [
                            {
                                "Name": "AutoScalingGroupName",
                                "Value": "my-asg"
                            }
                        ]
                    },
                    "Stat": "Average"
                    "Period": 10
                },
                "ReturnData": false
            },
            {
                "Label": "Calculate the pending job per capacity (note the use of the FILL expression)",
                "Id": "e1",
                "Expression": "m1 / FILL(m2,REPEAT)",
                "ReturnData": true
            }
        ]
    },
    "TargetValue": 100
}
```

## Pertimbangan-pertimbangan
<a name="high-resolution-considerations"></a>

Pertimbangkan hal berikut saat menggunakan pelacakan target dan metrik resolusi tinggi.
+ Untuk memastikan bahwa Anda tidak memiliki titik data yang hilang yang dapat menyebabkan hasil penskalaan otomatis yang tidak diinginkan, CloudWatch metrik Anda harus dipublikasikan pada resolusi yang sama atau lebih tinggi dari periode yang Anda tentukan.
+ Tentukan nilai target sebagai nilai per-instance-per-minute metrik yang ingin Anda pertahankan untuk grup Auto Scaling Anda. Menetapkan nilai target yang sesuai sangat penting jika Anda menggunakan metrik yang nilainya dapat dikalikan berdasarkan periode metrik. Misalnya, setiap metrik berbasis hitungan seperti jumlah permintaan atau pekerjaan tertunda yang menggunakan statistik SUM akan memiliki nilai metrik yang berbeda tergantung pada periode yang dipilih. Anda masih harus berasumsi bahwa Anda menetapkan target terhadap rata-rata per menit.
+ Meskipun tidak ada biaya tambahan untuk menggunakan Amazon EC2 Auto Scaling, Anda harus membayar sumber daya seperti CloudWatch instans, metrik, dan alarm Amazon EC2. CloudWatch Alarm resolusi tinggi yang dibuat pada contoh sebelumnya diberi harga berbeda dari alarm standar. CloudWatch Untuk informasi selengkapnya tentang CloudWatch harga, lihat [ CloudWatch Harga Amazon](https://aws.amazon.com/cloudwatch/pricing/).
+ Pelacakan target mengharuskan metrik mewakili penggunaan rata-rata per instans dari instans EC2 Anda. Untuk mencapai hal ini, Anda dapat menggunakan [operasi matematika metrik](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html) sebagai bagian dari konfigurasi kebijakan pelacakan target Anda. Bagilah metrik Anda dengan kapasitas berjalan grup Auto Scaling Anda. Pastikan periode metrik yang sama ditentukan untuk setiap metrik yang Anda gunakan untuk membuat satu deret waktu. Jika metrik ini diterbitkan pada interval yang berbeda, gunakan operasi FILL pada metrik dengan interval yang lebih tinggi untuk mengisi titik data yang hilang.

# Buat kebijakan penskalaan pelacakan target menggunakan matematika metrik
<a name="ec2-auto-scaling-target-tracking-metric-math"></a>

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

Pertimbangan berikut berlaku untuk ekspresi matematika metrik:
+ Anda dapat menanyakan CloudWatch metrik apa pun yang tersedia. Setiap metrik adalah kombinasi unik dari nama metrik, namespace, dan nol atau lebih dimensi. 
+ 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. 
+ Setiap ekspresi yang digunakan dalam spesifikasi metrik pada akhirnya harus mengembalikan satu deret waktu.
+ Anda dapat memverifikasi 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: backlog antrian Amazon SQS per instance
<a name="metric-math-sqs-queue-backlog"></a>

Untuk menghitung backlog antrean Amazon SQS per instance, ambil perkiraan jumlah pesan yang tersedia untuk diambil dari antrian dan bagi nomor tersebut dengan kapasitas berjalan grup Auto Scaling, yang merupakan jumlah instance dalam status. `InService` Untuk informasi selengkapnya, lihat [Kebijakan penskalaan berdasarkan Amazon SQS](as-using-sqs-queue.md).

Logika untuk ekspresi adalah ini:

 `sum of (number of messages in the queue)/(number of InService instances)`

Maka informasi CloudWatch metrik Anda adalah sebagai berikut.


| ID | CloudWatch metrik | Statistik | Periode | 
| --- | --- | --- | --- | 
| m1 | ApproximateNumberOfMessagesVisible | Jumlah | 1 menit | 
| m2 | GroupInServiceInstances | Rata-rata | 1 menit | 

ID dan ekspresi matematika metrik Anda adalah sebagai berikut.


| ID | Ekspresi | 
| --- | --- | 
| e1 | (m1)/(m2) | 

Diagram berikut menggambarkan arsitektur untuk metrik ini:

![\[Amazon EC2 Auto Scaling menggunakan diagram arsitektur antrean\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/sqs-as-custom-metric-diagram.png)


**Untuk menggunakan matematika metrik ini untuk membuat kebijakan penskalaan pelacakan target ()AWS CLI**

1. Simpan ekspresi matematika metrik sebagai bagian dari spesifikasi metrik yang disesuaikan dalam file JSON bernama`config.json`. 

   Gunakan contoh berikut untuk membantu Anda memulai. Ganti masing-masing *user input placeholder* dengan informasi Anda sendiri.

   ```
   {
       "CustomizedMetricSpecification": {
           "Metrics": [
               {
                   "Label": "Get the queue size (the number of messages waiting to be processed)",
                   "Id": "m1",
                   "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 InService instances)",
                   "Id": "m2",
                   "MetricStat": {
                       "Metric": {
                           "MetricName": "GroupInServiceInstances",
                           "Namespace": "AWS/AutoScaling",
                           "Dimensions": [
                               {
                                   "Name": "AutoScalingGroupName",
                                   "Value": "my-asg"
                               }
                           ]
                       },
                       "Stat": "Average"
                   },
                   "ReturnData": false
               },
               {
                   "Label": "Calculate the backlog per instance",
                   "Id": "e1",
                   "Expression": "m1 / m2",
                   "ReturnData": true
               }
           ]
       },
       "TargetValue": 100
   }
   ```

   Untuk informasi lebih lanjut, lihat [TargetTrackingConfiguration](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_TargetTrackingConfiguration.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) 

1. 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 sqs-backlog-target-tracking-scaling-policy \
     --auto-scaling-group-name my-asg --policy-type TargetTrackingScaling \
     --target-tracking-configuration file://config.json
   ```

   Jika berhasil, perintah ini mengembalikan Amazon Resource Name (ARN) kebijakan dan dua CloudWatch alarm ARNs yang dibuat atas nama Anda.

   ```
   {
       "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:228f02c2-c665-4bfd-aaac-8b04080bea3c:autoScalingGroupName/my-asg:policyName/sqs-backlog-target-tracking-scaling-policy",
       "Alarms": [
           {
               "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e",
               "AlarmName": "TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e"
           },
           {
               "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2",
               "AlarmName": "TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2"
           }
       ]
   }
   ```
**catatan**  
Jika perintah ini menimbulkan kesalahan, pastikan Anda telah memperbarui AWS CLI secara lokal ke versi terbaru.

# Kebijakan penskalaan langkah dan sederhana untuk Amazon EC2 Auto Scaling
<a name="as-scaling-simple-step"></a>

Kebijakan penskalaan langkah dan penskalaan sederhana menskalakan kapasitas grup Auto Scaling Anda dalam peningkatan yang telah ditentukan berdasarkan alarm. CloudWatch Anda dapat menentukan kebijakan penskalaan terpisah untuk menangani penskalaan (peningkatan kapasitas) dan penskalaan (penurunan kapasitas) saat ambang alarm dilanggar.

[Kapasitas grup Auto Scaling diukur dalam satuan instans atau unit kapasitas jika Anda menggunakan bobot instans.](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md) Juga, ada perbedaan antara kapasitas yang diinginkan dan kapasitas saat ini.
+ Kapasitas yang diinginkan — Jumlah instance (atau unit kapasitas) yang ingin Anda miliki dalam grup Anda. Kapasitas yang diinginkan dapat disesuaikan secara manual atau otomatis menggunakan kebijakan penskalaan.
+ Kapasitas saat ini — Jumlah instance (atau unit kapasitas) dalam grup Anda yang telah melewati periode pemanasan dan cooldown mereka dan berjalan dan siap digunakan.

Dengan penskalaan langkah dan penskalaan sederhana, Anda membuat dan mengelola CloudWatch alarm yang menjalankan proses penskalaan. Saat alarm dilanggar, Amazon EC2 Auto Scaling memulai kebijakan penskalaan yang terkait dengan alarm tersebut.

Kami sangat menyarankan agar Anda menggunakan kebijakan penskalaan pelacakan target untuk menskalakan metrik seperti pemanfaatan CPU rata-rata atau jumlah permintaan rata-rata per target. Metrik yang menurun saat kapasitas meningkat dan meningkat ketika kapasitas menurun dapat digunakan untuk meningkatkan dan menurunkan jumlah instance secara proporsional menggunakan pelacakan target. Ini membantu memastikan Amazon EC2 Auto Scaling mengikuti kurva permintaan untuk aplikasi Anda dengan ketat. Untuk informasi selengkapnya, lihat [Kebijakan penskalaan pelacakan target](as-scaling-target-tracking.md).

**Contents**
+ [Cara kerja kebijakan penskalaan langkah](#step-scaling-how-it-works)
+ [Penyesuaian langkah untuk penskalaan langkah](#as-scaling-steps)
+ [Jenis penyesuaian penskalaan](#as-scaling-adjustment)
+ [Pemanasan instans](#as-step-scaling-warmup)
+ [Pertimbangan-pertimbangan](#step-scaling-considerations)
+ [Buat kebijakan penskalaan langkah untuk skala keluar](step-scaling-create-scale-out-policy.md)
+ [Buat kebijakan penskalaan langkah untuk skala di](step-scaling-create-scale-in-policy.md)
+ [Kebijakan penskalaan sederhana](simple-scaling-policies.md)

## Cara kerja kebijakan penskalaan langkah
<a name="step-scaling-how-it-works"></a>

Untuk menggunakan penskalaan langkah, pertama-tama Anda membuat CloudWatch alarm yang memantau metrik untuk grup Auto Scaling Anda. Tentukan metrik, nilai ambang batas, dan jumlah periode evaluasi yang menentukan pelanggaran alarm. Kemudian, buat kebijakan penskalaan langkah yang menentukan cara menskalakan grup Anda saat ambang alarm dilanggar. Anda dapat menggunakan persentase kapasitas grup Auto Scaling saat ini atau unit kapasitas untuk jenis penyesuaian penskalaan. Untuk informasi selengkapnya, lihat [Jenis penyesuaian penskalaan](#as-scaling-adjustment).

Tambahkan penyesuaian langkah dalam kebijakan. Anda dapat menentukan penyesuaian langkah yang berbeda berdasarkan ukuran pelanggaran alarm. Contoh:
+ Skalakan 10 instance jika metrik alarm mencapai 60 persen
+ Skala hingga 30 instance jika metrik alarm mencapai 75 persen
+ Skala hingga 40 instance jika metrik alarm mencapai 85 persen

Jika ambang batas alarm dilanggar untuk jumlah periode evaluasi yang ditentukan, Amazon EC2 Auto Scaling akan menerapkan penyesuaian langkah yang ditentukan dalam kebijakan. Penyesuaian dapat berlanjut untuk pelanggaran alarm tambahan hingga status alarm kembali ke. `OK` 

Setiap instance memiliki periode pemanasan untuk mencegah aktivitas penskalaan menjadi terlalu reaktif terhadap perubahan yang terjadi selama periode waktu yang singkat. Anda dapat mengonfigurasi periode pemanasan secara opsional untuk kebijakan penskalaan Anda. Namun, sebaiknya gunakan pemanasan instans default untuk mempermudah pembaruan semua kebijakan penskalaan saat waktu pemanasan berubah. Untuk informasi selengkapnya, lihat [Menetapkan pemanasan instans default untuk grup Auto Scaling](ec2-auto-scaling-default-instance-warmup.md).

Kebijakan penskalaan sederhana mirip dengan kebijakan penskalaan langkah, kecuali kebijakan tersebut didasarkan pada penyesuaian penskalaan tunggal, dengan periode cooldown antara setiap aktivitas penskalaan. Untuk informasi selengkapnya, lihat [Kebijakan penskalaan sederhana](simple-scaling-policies.md).

## Penyesuaian langkah untuk penskalaan langkah
<a name="as-scaling-steps"></a>

Saat Anda membuat kebijakan penskalaan langkah, Anda menetapkan satu penyesuaian langkah atau lebih yang secara otomatis menskalakan jumlah instance secara dinamis berdasarkan ukuran pelanggaran alarm. Setiap penyesuaian langkah menentukan hal berikut: 
+ Batas bawah untuk nilai metrik
+ Batas atas untuk nilai metrik
+ Jumlah yang ditentukan untuk diskalakan, berdasarkan jenis penyesuaian penskalaan 

CloudWatch mengumpulkan titik data metrik berdasarkan statistik untuk metrik yang terkait dengan CloudWatch alarm Anda. Ketika alarm dilanggar, kebijakan penskalaan yang sesuai dipanggil. Amazon EC2 Auto Scaling menerapkan jenis agregasi ke CloudWatch titik data metrik terbaru dari (sebagai lawan dari data metrik mentah). Penskalaan ini membandingkan nilai metrik agregat ini terhadap batas atas dan bawah yang ditentukan oleh penyesuaian langkah untuk menentukan penyesuaian langkah mana yang harus dilakukan. 

Anda menentukan batas atas dan bawah terkait dengan ambang batas pelanggaran. Sebagai contoh, katakanlah Anda membuat CloudWatch alarm dan kebijakan scale-out ketika metrik di atas 50 persen. Anda kemudian membuat alarm kedua dan kebijakan skala dalam ketika metrik di bawah 50 persen. Anda membuat serangkaian penyesuaian langkah dengan jenis penyesuaian `PercentChangeInCapacity` (atau **Persentase grup** di konsol) untuk setiap kebijakan: 


**Contoh: Penyesuaian langkah untuk kebijakan menskalakan keluar**  

| **Batas bawah** | **Batas atas** | **Penyesuaian** | 
| --- | --- | --- | 
|  0  |  10  |  0  | 
|  10  |  20  |  10  | 
|  20  |  nol  |  30  | 


**Contoh: Penyesuaian langkah untuk kebijakan penskalaaan kedalam**  

| **Batas bawah** | **Batas atas** | **Penyesuaian** | 
| --- | --- | --- | 
|  -10  |  0  |  0  | 
|  -20  |  -10  |  -10  | 
|  nol  |  -20  |  -30  | 

Ini membuat konfigurasi penskalaan berikut.

```
Metric value

-infinity          30%    40%          60%     70%             infinity
-----------------------------------------------------------------------
          -30%      | -10% | Unchanged  | +10%  |       +30%        
-----------------------------------------------------------------------
```

Sekarang, katakanlah Anda menggunakan konfigurasi penskalaan ini pada grup Auto Scaling yang memiliki kapasitas saat ini dan kapasitas yang diinginkan 10. Titik-titik berikut merangkum perilaku konfigurasi penskalaan dalam kaitannya dengan kapasitas grup yang diinginkan dan saat ini:
+ Kapasitas yang diinginkan dan kapasitas saat ini dipertahankan sementara nilai metrik agregat lebih besar dari 40 dan kurang dari 60.
+ Jika nilai metrik mencapai 60, kapasitas yang diinginkan grup meningkat sebesar 1 instance, menjadi 11 instance, berdasarkan penyesuaian langkah kedua kebijakan peningkatan skala (tambah 10 persen dari 10 instance). Setelah instance baru berjalan dan waktu pemanasan yang ditentukan telah kedaluwarsa, kapasitas grup saat ini meningkat menjadi 11 instance. Jika nilai metrik meningkat menjadi 70 bahkan setelah peningkatan kapasitas ini, kapasitas yang diinginkan grup meningkat sebesar 3 instance, menjadi 14 instance. Hal ini didasarkan pada penyesuaian langkah ketiga dari kebijakan peningkatan skala (tambah 30 persen dari 11 instance, 3,3 instance, dibulatkan ke 3 instance).
+ Jika nilai metrik mencapai 40, kapasitas yang diinginkan dari grup menurun sebesar 1 kali, menjadi 13 instance, berdasarkan penyesuaian langkah kedua kebijakan penurunan skala (menghapus 10 persen dari 14 instance, 1,4 instance, dibulatkan ke 1 instance). Jika nilai metrik turun menjadi 30 bahkan setelah penurunan kapasitas ini, kapasitas yang diinginkan dari grup turun sebesar 3 instance lagi, menjadi 10 instance. Ini didasarkan pada penyesuaian langkah ketiga kebijakan scale-in (hapus 30 persen dari 13 instance, 3.9 instance, dibulatkan ke bawah menjadi 3 instance).

Saat Anda menentukan penyesuaian langkah untuk kebijakan penskalaan Anda, perhatikan hal berikut:
+ Jika Anda menggunakan Konsol Manajemen AWS, Anda menentukan batas atas dan bawah sebagai nilai absolut. Jika Anda menggunakan AWS CLI atau SDK, Anda menentukan batas atas dan bawah relatif terhadap ambang batas pelanggaran. 
+ Rentang penyesuaian langkah Anda tidak dapat tumpang tindih atau memiliki kesenjangan.
+ Hanya satu penyesuaian langkah yang dapat memiliki batas bawah nol (negatif tak terhingga). Jika satu penyesuaian langkah memiliki batas bawah negatif, maka harus ada penyesuaian langkah dengan batas bawah nol.
+ Hanya satu penyesuaian langkah yang dapat memiliki batas atas nol (positif tak terhingga). Jika satu penyesuaian langkah memiliki batas atas positif, maka harus ada penyesuaian langkah dengan batas atas nol.
+ Batas atas dan bawah tidak boleh nol dalam penyesuaian langkah yang sama.
+ Apabila nilai metrik berada di atas ambang batas penembusan, batas bawah bersifat inklusif dan batas atas bersifat eksklusif. Apabila nilai metrik berada di bawah ambang batas penembusan, batas bawah bersifat eksklusitf dan batas atas bersifat inklusif.

## Jenis penyesuaian penskalaan
<a name="as-scaling-adjustment"></a>

Anda dapat menentukan kebijakan penskalaan yang melakukan tindakan penskalaan optimal, berdasarkan jenis penyesuaian penskalaan yang Anda pilih. Anda dapat menentukan jenis penyesuaian sebagai persentase kapasitas saat ini dari grup Auto Scaling, atau dalam unit kapasitas. Biasanya unit kapasitas berarti satu contoh, kecuali jika Anda menggunakan fitur bobot instance. 

Amazon EC2 Auto Scaling mendukung jenis penyesuaian berikut untuk penskalaan langkah dan penskalaan sederhana:
+ `ChangeInCapacity` — Meningkatkan atau mengurangi kapasitas grup saat ini menurut nilai yang telah ditentukan. Nilai positif meningkatkan kapasitas dan nilai penyesuaian negatif menurunkan kapasitas. Misalnya: Jika kapasitas grup saat ini adalah 3 dan penyesuaiannya adalah 5, maka ketika kebijakan ini dilakukan, kami menambahkan 5 unit kapasitas ke kapasitas untuk total 8 unit kapasitas. 
+ `ExactCapacity` — Mengubah kapasitas grup saat ini ke nilai yang telah ditentukan. Tentukan nilai non-negatif dengan jenis penyesuaian ini. Misalnya: Jika kapasitas grup saat ini adalah 3 dan penyesuaiannya adalah 5, maka ketika kebijakan ini dilakukan, kami mengubah kapasitas menjadi 5 unit kapasitas. 
+ `PercentChangeInCapacity` — Meningkatkan atau mengurangi kapasitas grup saat ini berdasarkan persentase yang telah ditentukan. Nilai positif meningkatkan kapasitas dan nilai negatif menurunkan kapasitas. Misalnya: Jika kapasitas saat ini adalah 10 dan penyesuaian 10 persen, maka ketika kebijakan ini dilakukan, kami menambahkan 1 unit kapasitas ke kapasitas untuk total 11 unit kapasitas. 
**catatan**  
Jika nilai yang dihasilkan bukan bilangan bulat, maka akan dibulatkan sebagai berikut:  
Nilai yang lebih besar dari 1 dibulatkan ke bawah. Misalnya, `12.7` dibulatkan ke `12`.
Nilai antara 0 dan 1 dibulatkan ke 1. Misalnya, `.67` dibulatkan ke `1`.
Nilai antara 0 dan -1 dibulatkan ke -1. Misalnya, `-.58` dibulatkan ke `-1`.
Nilai kurang dari -1 dibulatkan ke atas. Misalnya, `-6.67` dibulatkan ke `-6`.

Dengan `PercentChangeInCapacity`, Anda juga dapat menentukan jumlah minimum instance untuk diskalakan menggunakan parameter `MinAdjustmentMagnitude`. Misalnya, diasumsikan Anda membuat kebijakan yang menambahkan 25 persen dan Anda menentukan kenaikan minimum 2 instance. Jika Anda memiliki grup Auto Scaling dengan 4 instance dan kebijakan penskalaan dijalankan, 25 persen dari 4 adalah 1 instance. Namun, karena Anda menentukan peningkatan minimum sebesar 2, ada 2 instance yang ditambahkan.

Saat Anda menggunakan [bobot instance](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md), efek pengaturan `MinAdjustmentMagnitude` parameter ke nilai bukan nol berubah. Nilainya adalah dalam unit kapasitas. Untuk menetapkan jumlah minimum instance ke skala, atur parameter ini ke nilai yang setidaknya sebesar bobot instance terbesar Anda.

Jika Anda menggunakan bobot instans, ingatlah bahwa kapasitas grup Auto Scaling Anda saat ini dapat melebihi kapasitas yang diinginkan sesuai kebutuhan. Jika jumlah absolut Anda yang akan berkurang, atau jumlah yang menurut persentase tersebut akan berkurang, adalah kurang dari perbedaan antara kapasitas saat ini dan yang diinginkan, tidak ada tindakan penskalaan yang diambil. Anda harus mempertimbangkan perilaku ini ketika Anda melihat hasil dari kebijakan penskalaan ketika alarm ambang batas dilanggar. Misalnya, kita asumsikan bahwa kapasitas yang diinginkan adalah 30 dan kapasitas saat ini adalah 32. Ketika alarm melanggar, jika kebijakan penskalaan mengurangi kapasitas yang diinginkan sebesar 1, maka tidak ada tindakan penskalaan yang diambil.

## Pemanasan instans
<a name="as-step-scaling-warmup"></a>

Untuk penskalaan langkah, Anda dapat menentukan jumlah detik yang diperlukan untuk pemanasan instans yang baru diluncurkan. Sampai waktu pemanasan yang ditentukan berakhir, instans tidak diperhitungkan dalam agregat metrik instans EC2 grup Auto Scaling.

Saat instans berada dalam periode pemanasan, kebijakan penskalaan Anda hanya dapat ditingkatkan jika nilai metrik dari instans yang tidak memanas lebih besar daripada ambang batas tinggi alarm kebijakan.

Jika kelompok menskalakan lagi, contoh yang masih memanas dihitung sebagai bagian dari kapasitas yang diinginkan untuk aktivitas penskalaan berikutnya. Oleh karena itu, beberapa penembusan alarm yang masuk dalam rentang penyesuaian langkah yang sama menyebabkan aktivitas penskalaan tunggal. Tujuannya adalah untuk terus (tetapi tidak berlebihan) menskalakan ke luar.

Misalnya, katakanlah Anda membuat kebijakan dengan dua langkah. Langkah pertama menambahkan 10 persen ketika metrik mencapai 60, dan langkah kedua menambahkan 30 persen ketika metrik mencapai 70 persen. Grup Auto Scaling Anda memiliki kapasitas 10 yang diinginkan dan saat ini. Kapasitas yang diinginkan dan saat ini tidak berubah sedangkan nilai metrik agregat kurang dari 60. Misalkan metrik mencapai 60, jadi 1 instance ditambahkan (10 persen dari 10 instance). Kemudian, metrik mencapai 62 saat instance baru masih memanas. Kebijakan penskalaan menghitung kapasitas baru yang diinginkan berdasarkan kapasitas saat ini, yang masih 10. Namun, kapasitas grup yang diinginkan telah meningkat menjadi 11 instance, sehingga kebijakan penskalaan tidak meningkatkan kapasitas yang diinginkan lebih lanjut. Jika metrik mencapai 70 pada saat instance baru masih pada tahap persiapan, kita harus menambahkan 3 instance (30 persen dari 10 instance). Namun, kapasitas yang diinginkan dari grup tersebut sudah 11, jadi kami hanya menambahkan 2 instance, untuk kapasitas baru yang diinginkan sebesar 13 instance.

Saat aktivitas penskalaan sedang berlangsung, semua aktivitas penskalaan yang dimulai oleh kebijakan penskalaan diblokir hingga instans selesai memanas. Ketika contoh selesai pemanasan, jika peristiwa skala dalam terjadi, setiap contoh yang saat ini dalam proses penghentian akan dihitung terhadap kapasitas grup saat ini ketika menghitung kapasitas baru yang diinginkan. Oleh karena itu, kami tidak menghapus lebih banyak instance daripada yang diperlukan oleh grup Auto Scaling. Misalnya, ketika sebuah instance sudah berakhir, jika alarm dilanggar dalam kisaran penyesuaian langkah yang sama yang mengurangi kapasitas yang diinginkan sebesar 1, maka tidak ada tindakan penskalaan yang diambil.

**Nilai default**  
Jika tidak ada nilai yang disetel, maka kebijakan penskalaan akan menggunakan nilai default, yang merupakan nilai untuk [pemanasan instance default](ec2-auto-scaling-default-instance-warmup.md) yang ditentukan untuk grup. [Jika pemanasan instance default adalah null, maka itu kembali ke nilai cooldown default.](ec2-auto-scaling-scaling-cooldowns.md#set-default-cooldown)

## Pertimbangan-pertimbangan
<a name="step-scaling-considerations"></a>

Pertimbangan berikut berlaku saat bekerja dengan langkah dan kebijakan penskalaan sederhana:
+ Pertimbangkan apakah Anda dapat memprediksi penyesuaian langkah pada aplikasi dengan cukup akurat untuk menggunakan penskalaan langkah. Jika metrik penskalaan Anda meningkat atau menurun secara proporsional dengan kapasitas target yang dapat diskalakan, sebaiknya gunakan kebijakan penskalaan pelacakan target sebagai gantinya. Anda masih memiliki opsi untuk menggunakan penskalaan langkah sebagai kebijakan tambahan untuk konfigurasi yang lebih canggih. Misalnya, Anda dapat mengonfigurasi respons yang lebih agresif saat pemanfaatan mencapai tingkat tertentu.
+ Pastikan untuk memilih margin yang memadai antara ambang batas scale-out dan scale-in untuk mencegah flapping. Flapping adalah lingkaran penskalaan dan penskalaan yang tak terbatas. Artinya, jika tindakan penskalaan diambil, nilai metrik akan berubah dan memulai tindakan penskalaan lain dalam arah sebaliknya.

# Buat kebijakan penskalaan langkah untuk skala keluar
<a name="step-scaling-create-scale-out-policy"></a>

Untuk membuat kebijakan penskalaan langkah untuk skala keluar untuk grup Auto Scaling Anda, gunakan salah satu metode berikut:

------
#### [ Console ]

**Langkah 1: Buat CloudWatch alarm untuk ambang batas tinggi metrik**

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

1. Jika perlu, ubah Wilayah. Dari bilah navigasi, pilih Wilayah tempat grup Auto Scaling Anda berada.

1. **Di panel navigasi, pilih **Alarm, Semua alarm, lalu pilih Buat alarm**.**

1. Pilih **Pilih metrik**. 

1. Pada tab **Semua metrik**, pilih **EC2**, **Dengan Grup Auto Scaling**, dan masukkan nama grup Auto Scaling di bidang pencarian. Lalu, pilih `CPUUtilization` dan pilih **Pilih metrik**. Halaman **Tentukan metrik dan kondisi** akan muncul, memperlihatkan grafik dan informasi lain tentang metrik. 

1. Untuk **Periode**, pilih periode evaluasi untuk alarm, misalnya, 1 menit. Saat Anda mengevaluasi alarm, tiap periode akan digabungkan menjadi satu titik data. 
**catatan**  
Periode yang lebih pendek menciptakan alarm yang lebih sensitif.

1. Pada **Ketentuan**, lakukan hal berikut:
   + Untuk **Jenis ambang batas**, pilih **Statis**.
   + Untuk **Kapan pun `CPUUtilization` ada**, tentukan apakah Anda ingin nilai metrik lebih besar dari atau lebih besar dari atau sama dengan ambang batas untuk melanggar alarm. Kemudian, di bawah **dari**, masukkan nilai ambang batas yang ingin Anda tembus alarm.

1. Di bagian **Konfigurasi tambahan**, lakukan tindakan berikut:
   + Agar titik **data alarm**, masukkan jumlah titik data (periode evaluasi) di mana nilai metrik harus memenuhi kondisi ambang batas untuk alarm. Misalnya, dua periode berturut-turut selama 5 menit akan memakan waktu 10 menit untuk memanggil status alarm.
   + Untuk **Perlakuan data yang hilang**, pilih **Perlakukan data yang hilang sebagai buruk (menembus ambang batas)**. Untuk informasi selengkapnya, lihat [Mengonfigurasi cara CloudWatch alarm menangani data yang hilang](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data) di * CloudWatch Panduan Pengguna Amazon*.

1. Pilih **Berikutnya**.

   Halaman **Konfigurasi tindakan** muncul.

1. Di bawah **Pemberitahuan**, pilih topik Amazon SNS untuk memberi tahu saat alarm dalam `ALARM` status, status, atau `OK` status. `INSUFFICIENT_DATA`

   Agar alarm mengirimkan beberapa notifikasi untuk status alarm yang sama atau untuk status alarm yang berbeda, silakan pilih **Tambahkan notifikasi**.

   Agar alarm tidak mengirim notifikasi, silakan pilih **Hapus**.

1. Anda dapat membiarkan bagian lain dari halaman **Konfigurasi tindakan** kosong. Membiarkan bagian lain kosong akan membuat alarm tanpa mengaitkannya dengan kebijakan penskalaan. Anda kemudian dapat mengaitkan alarm dengan kebijakan penskalaan dari konsol Amazon EC2 Auto Scaling.

1. Pilih **Berikutnya**.

1. Masukkan nama (misalnya, `Step-Scaling-AlarmHigh-AddCapacity`) dan, secara opsional, deskripsi untuk alarm, lalu pilih **Selanjutnya**.

1. Pilih **Buat alarm**.

Gunakan prosedur berikut untuk melanjutkan di mana Anda tinggalkan setelah membuat CloudWatch alarm Anda. 

**Langkah 2: Buat kebijakan penskalaan langkah untuk skala keluar**

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. Verifikasi bahwa batas penskalaan ditetapkan dengan tepat. Misalnya, jika kapasitas yang diinginkan grup Anda sudah maksimal, Anda perlu menentukan maksimum baru untuk meningkatkan skala. Untuk informasi selengkapnya, lihat [Tetapkan batas penskalaan untuk grup Auto Scaling Anda](asg-capacity-limits.md).

1. Pada tab **Penskalaan otomatis**, dalam Kebijakan **penskalaan dinamis, pilih Buat kebijakan** **penskalaan dinamis**.

1. Untuk **jenis Kebijakan**, pilih **Penskalaan langkah**, lalu tentukan nama untuk kebijakan tersebut.

1. Untuk **alarm CloudWatch **, pilih alarm Anda. Jika Anda belum membuat alarm, pilih **Buat CloudWatch alarm** dan selesaikan langkah 4 hingga langkah 14 di prosedur sebelumnya untuk membuat alarm.

1. Tentukan perubahan dalam ukuran grup saat ini yang akan dibuat kebijakan ini ketika dijalankan menggunakan **Ambil tindakan**. Anda dapat menambahkan jumlah instance atau persentase tertentu dari ukuran grup yang ada, atau mengatur grup ke ukuran yang tepat. 

   Misalnya, untuk membuat kebijakan penskalaan yang meningkatkan kapasitas grup sebesar 30 persen, pilih`Add`, masukkan `30` di bidang berikutnya, lalu pilih. `percent of group` Secara default, batas bawah untuk penyesuaian langkah ini adalah ambang alarm dan batas atas adalah tak terhingga positif (\$1). 

1. Untuk menambahkan langkah lain, pilih **Tambahkan langkah** kemudian tentukan jumlah yang akan disesuaikan skalanya dan batas bawah dan atas langkah dibandingkan terhadap ambang batas alarm. 

1. Untuk menetapkan jumlah minimum instance untuk diskalakan, perbarui kolom angka dalam **Tambahkan unit kapasitas dalam satuan setidaknya** `1` **unit kapasitas**. 

1. (Opsional) Untuk **pemanasan Instance**, perbarui nilai pemanasan instance sesuai kebutuhan.

1. Pilih **Buat**.

------
#### [ AWS CLI ]

Untuk membuat kebijakan penskalaan langkah untuk skala keluar (meningkatkan kapasitas), Anda dapat menggunakan perintah contoh berikut. Ganti masing-masing *user input placeholder* dengan informasi Anda sendiri.

Saat menggunakan AWS CLI, pertama-tama Anda membuat kebijakan penskalaan langkah yang memberikan petunjuk ke Amazon EC2 Auto Scaling tentang cara menskalakan saat nilai metrik meningkat. Kemudian, Anda membuat alarm dengan mengidentifikasi metrik yang akan ditonton, menentukan ambang batas tinggi metrik dan detail lain untuk alarm, dan mengaitkan alarm dengan kebijakan penskalaan. 

**Langkah 1: Buat kebijakan untuk skala keluar**  
Gunakan [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)perintah berikut untuk membuat kebijakan penskalaan langkah bernama`my-step-scale-out-policy`, dengan jenis penyesuaian `PercentChangeInCapacity` yang meningkatkan kapasitas grup berdasarkan penyesuaian langkah berikut (dengan asumsi ambang CloudWatch alarm 60 persen):
+ Tingkatkan jumlah instans sebesar 10 persen ketika nilai metrik lebih besar dari atau sama dengan 60 persen tetapi kurang dari 75 persen 
+ Tingkatkan jumlah instans sebesar 20 persen ketika nilai metrik lebih besar dari atau sama dengan 75 persen tetapi kurang dari 85 persen
+ Tingkatkan jumlah instance sebesar 30 persen ketika nilai metrik lebih besar dari atau sama dengan 85 persen

```
aws autoscaling put-scaling-policy \
  --auto-scaling-group-name my-asg  \
  --policy-name my-step-scale-out-policy \
  --policy-type StepScaling \
  --adjustment-type PercentChangeInCapacity \
  --metric-aggregation-type Average \
  --step-adjustments MetricIntervalLowerBound=0.0,MetricIntervalUpperBound=15.0,ScalingAdjustment=10 \
                     MetricIntervalLowerBound=15.0,MetricIntervalUpperBound=25.0,ScalingAdjustment=20 \
                     MetricIntervalLowerBound=25.0,ScalingAdjustment=30 \
  --min-adjustment-magnitude 1
```

Merekam Amazon Resource Name (ARN) kebijakan. Anda membutuhkannya untuk membuat CloudWatch alarm untuk kebijakan tersebut. 

```
{
    "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:4ee9e543-86b5-4121-b53b-aa4c23b5bbcc:autoScalingGroupName/my-asg:policyName/my-step-scale-in-policy
}
```

**Langkah 2: Buat CloudWatch alarm untuk ambang batas tinggi metrik**  
Gunakan CloudWatch [put-metric-alarm](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudwatch/put-metric-alarm.html)perintah berikut untuk membuat alarm yang meningkatkan ukuran grup Auto Scaling berdasarkan nilai ambang CPU rata-rata 60 persen untuk setidaknya dua periode evaluasi berturut-turut selama dua menit. Untuk menggunakan metrik kustom Anda sendiri, sebutkan namanya di `--metric-name` dan ruang namanya di `--namespace`.

```
aws cloudwatch put-metric-alarm --alarm-name Step-Scaling-AlarmHigh-AddCapacity \
  --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average \
  --period 120 --evaluation-periods 2 --threshold 60 \
  --comparison-operator GreaterThanOrEqualToThreshold \
  --dimensions "Name=AutoScalingGroupName,Value=my-asg" \
  --alarm-actions PolicyARN
```

------

# Buat kebijakan penskalaan langkah untuk skala di
<a name="step-scaling-create-scale-in-policy"></a>

Untuk membuat kebijakan penskalaan langkah untuk penskalaan grup Auto Scaling Anda, gunakan salah satu metode berikut:

------
#### [ Console ]

**Langkah 1: Buat CloudWatch alarm untuk ambang batas rendah metrik**

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

1. Jika perlu, ubah Wilayah. Dari bilah navigasi, pilih Wilayah tempat grup Auto Scaling Anda berada.

1. **Di panel navigasi, pilih **Alarm, Semua alarm, lalu pilih Buat alarm**.**

1. Pilih **Pilih metrik**. 

1. Pada tab **Semua metrik**, pilih **EC2**, **Dengan Grup Auto Scaling**, dan masukkan nama grup Auto Scaling di bidang pencarian. Lalu, pilih `CPUUtilization` dan pilih **Pilih metrik**. Halaman **Tentukan metrik dan kondisi** akan muncul, memperlihatkan grafik dan informasi lain tentang metrik. 

1. Untuk **Periode**, pilih periode evaluasi untuk alarm, misalnya, 1 menit. Saat Anda mengevaluasi alarm, tiap periode akan digabungkan menjadi satu titik data. 
**catatan**  
Periode yang lebih pendek menciptakan alarm yang lebih sensitif.

1. Pada **Ketentuan**, lakukan hal berikut:
   + Untuk **Jenis ambang batas**, pilih **Statis**.
   + Untuk **Kapan pun `CPUUtilization` ada**, tentukan apakah Anda ingin nilai metrik kurang dari atau kurang dari atau sama dengan ambang batas untuk melanggar alarm. Kemudian, di bawah **dari**, masukkan nilai ambang batas yang ingin Anda tembus alarm.
**penting**  
Agar alarm dapat digunakan dengan skala dalam kebijakan (metrik rendah), pastikan Anda tidak memilih lebih besar dari atau lebih besar dari atau sama dengan ambang batas.

1. Di bagian **Konfigurasi tambahan**, lakukan tindakan berikut:
   + Agar titik **data alarm**, masukkan jumlah titik data (periode evaluasi) di mana nilai metrik harus memenuhi kondisi ambang batas untuk alarm. Misalnya, dua periode berturut-turut selama 5 menit akan memakan waktu 10 menit untuk memanggil status alarm.
   + Untuk **Perlakuan data yang hilang**, pilih **Perlakukan data yang hilang sebagai buruk (menembus ambang batas)**. Untuk informasi selengkapnya, lihat [Mengonfigurasi cara CloudWatch alarm menangani data yang hilang](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data) di * CloudWatch Panduan Pengguna Amazon*.

1. Pilih **Berikutnya**.

   Halaman **Konfigurasi tindakan** muncul.

1. Di bawah **Pemberitahuan**, pilih topik Amazon SNS untuk memberi tahu saat alarm dalam `ALARM` status, status, atau `OK` status. `INSUFFICIENT_DATA`

   Agar alarm mengirimkan beberapa notifikasi untuk status alarm yang sama atau untuk status alarm yang berbeda, silakan pilih **Tambahkan notifikasi**.

   Agar alarm tidak mengirim notifikasi, silakan pilih **Hapus**.

1. Anda dapat membiarkan bagian lain dari halaman **Konfigurasi tindakan** kosong. Membiarkan bagian lain kosong akan membuat alarm tanpa mengaitkannya dengan kebijakan penskalaan. Anda kemudian dapat mengaitkan alarm dengan kebijakan penskalaan dari konsol Amazon EC2 Auto Scaling.

1. Pilih **Berikutnya**.

1. Masukkan nama (misalnya, `Step-Scaling-AlarmLow-RemoveCapacity`) dan, secara opsional, deskripsi untuk alarm, lalu pilih **Selanjutnya**.

1. Pilih **Buat alarm**.

Gunakan prosedur berikut untuk melanjutkan di mana Anda tinggalkan setelah membuat CloudWatch alarm Anda.

**Langkah 2: Buat kebijakan penskalaan langkah untuk skala**

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. Verifikasi bahwa batas penskalaan ditetapkan dengan tepat. Misalnya, jika kapasitas yang diinginkan grup Anda sudah minimum, Anda perlu menentukan minimum baru untuk menskalakan. Untuk informasi selengkapnya, lihat [Tetapkan batas penskalaan untuk grup Auto Scaling Anda](asg-capacity-limits.md).

1. Pada tab **Penskalaan otomatis**, dalam Kebijakan **penskalaan dinamis, pilih Buat kebijakan** **penskalaan dinamis**.

1. Untuk **jenis Kebijakan**, pilih **Penskalaan langkah**, lalu tentukan nama untuk kebijakan tersebut.

1. Untuk **alarm CloudWatch **, pilih alarm Anda. Jika Anda belum membuat alarm, pilih **Buat CloudWatch alarm** dan selesaikan langkah 4 hingga langkah 14 di prosedur sebelumnya untuk membuat alarm.

1. Tentukan perubahan dalam ukuran grup saat ini yang akan dibuat kebijakan ini ketika dijalankan menggunakan **Ambil tindakan**. Anda dapat menghapus sejumlah instance tertentu atau persentase ukuran grup yang ada, atau mengatur grup ke ukuran yang tepat. 

   Misalnya, untuk membuat skala dalam kebijakan yang mengurangi kapasitas grup sebanyak dua instance, pilih`Remove`, masukkan `2` di bidang berikutnya, lalu pilih`capacity units`. Secara default, batas atas untuk penyesuaian langkah ini adalah ambang alarm dan batas bawah negatif (-) tak terhingga. 

1. Untuk menambahkan langkah lain, pilih **Tambahkan langkah** kemudian tentukan jumlah yang akan disesuaikan skalanya dan batas bawah dan atas langkah dibandingkan terhadap ambang batas alarm. 

1. Pilih **Buat**.

------
#### [ AWS CLI ]

Untuk membuat kebijakan penskalaan langkah untuk skala (kurangi kapasitas), Anda dapat menggunakan perintah contoh berikut. Ganti masing-masing *user input placeholder* dengan informasi Anda sendiri.

Saat menggunakan AWS CLI, pertama-tama Anda membuat kebijakan penskalaan langkah yang memberikan petunjuk ke Amazon EC2 Auto Scaling tentang cara menskalakan saat nilai metrik menurun. Kemudian, Anda membuat alarm dengan mengidentifikasi metrik yang akan ditonton, menentukan ambang batas rendah metrik dan detail lain untuk alarm, dan mengaitkan alarm dengan kebijakan penskalaan. 

**Langkah 1: Buat kebijakan untuk skala**  
Gunakan [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)perintah berikut untuk membuat kebijakan penskalaan langkah bernama`my-step-scale-in-policy`, dengan jenis penyesuaian `ChangeInCapacity` yang mengurangi kapasitas grup sebanyak 2 instance saat CloudWatch alarm terkait melanggar nilai ambang batas rendah metrik.

```
aws autoscaling put-scaling-policy \
  --auto-scaling-group-name my-asg  \
  --policy-name my-step-scale-in-policy \
  --policy-type StepScaling \
  --adjustment-type ChangeInCapacity \
  --step-adjustments MetricIntervalUpperBound=0.0,ScalingAdjustment=-2
```

Merekam Amazon Resource Name (ARN) kebijakan. Anda membutuhkannya untuk membuat CloudWatch alarm untuk kebijakan tersebut. 

```
{
    "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:ac542982-cbeb-4294-891c-a5a941dfa787:autoScalingGroupName/my-asg:policyName/my-step-scale-out-policy
}
```

**Langkah 2: Buat CloudWatch alarm untuk ambang batas rendah metrik**  
Gunakan CloudWatch [put-metric-alarm](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudwatch/put-metric-alarm.html)perintah berikut untuk membuat alarm yang mengurangi ukuran grup Auto Scaling berdasarkan nilai ambang CPU rata-rata 40 persen untuk setidaknya dua periode evaluasi berturut-turut selama dua menit. Untuk menggunakan metrik kustom Anda sendiri, sebutkan namanya di `--metric-name` dan ruang namanya di `--namespace`.

```
aws cloudwatch put-metric-alarm --alarm-name Step-Scaling-AlarmLow-RemoveCapacity \
  --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average \
  --period 120 --evaluation-periods 2 --threshold 40 \
  --comparison-operator LessThanOrEqualToThreshold \
  --dimensions "Name=AutoScalingGroupName,Value=my-asg" \
  --alarm-actions PolicyARN
```

------

# Kebijakan penskalaan sederhana
<a name="simple-scaling-policies"></a>

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan perintah CLI untuk membuat kebijakan penskalaan sederhana. Mereka tetap dalam dokumen ini sebagai referensi untuk setiap pelanggan yang ingin menggunakannya, tetapi kami menyarankan Anda menggunakan pelacakan target atau kebijakan penskalaan langkah sebagai gantinya.

Mirip dengan kebijakan penskalaan langkah, kebijakan penskalaan sederhana mengharuskan Anda membuat CloudWatch alarm untuk kebijakan penskalaan Anda. Dalam kebijakan yang Anda buat, Anda juga harus menentukan apakah akan menambah atau menghapus instance, dan berapa banyak, atau menyetel grup ke ukuran yang tepat. 

Salah satu perbedaan utama antara kebijakan penskalaan langkah dan kebijakan penskalaan sederhana adalah penyesuaian langkah yang Anda dapatkan dengan kebijakan penskalaan langkah. Dengan penskalaan langkah, Anda dapat membuat perubahan yang lebih besar atau lebih kecil pada ukuran grup berdasarkan penyesuaian langkah yang Anda tentukan.

Kebijakan penskalaan sederhana juga harus menunggu aktivitas penskalaan yang sedang berlangsung atau penggantian pemeriksaan kesehatan selesai dan [periode cooldown](ec2-auto-scaling-scaling-cooldowns.md) berakhir sebelum merespons alarm tambahan. Sebaliknya, dengan penskalaan langkah, kebijakan terus merespons alarm tambahan, bahkan saat aktivitas penskalaan atau penggantian pemeriksaan kesehatan sedang berlangsung. Ini berarti bahwa Amazon EC2 Auto Scaling mengevaluasi semua pelanggaran alarm saat menerima pesan alarm. Karena itu, kami menyarankan Anda menggunakan kebijakan penskalaan langkah sebagai gantinya, meskipun Anda hanya memiliki satu penyesuaian penskalaan. 

Amazon EC2 Auto Scaling awalnya hanya mendukung kebijakan penskalaan sederhana. Jika Anda membuat kebijakan penskalaan sebelum kebijakan pelacakan target dan penskalaan langkah diperkenalkan, kebijakan Anda diperlakukan sebagai kebijakan penskalaan sederhana.

## Buat kebijakan penskalaan sederhana untuk skala keluar
<a name="simple-scaling-create-scale-out-policy"></a>

Gunakan [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)perintah berikut untuk membuat kebijakan penskalaan sederhana bernama`my-simple-scale-out-policy`, dengan jenis penyesuaian `PercentChangeInCapacity` yang meningkatkan kapasitas grup sebesar 30 persen saat CloudWatch alarm terkait melanggar nilai ambang batas tinggi metrik.

```
aws autoscaling put-scaling-policy --policy-name my-simple-scale-out-policy \
  --auto-scaling-group-name my-asg --scaling-adjustment 30 \
  --adjustment-type PercentChangeInCapacity
```

Merekam Amazon Resource Name (ARN) kebijakan. Anda membutuhkannya untuk membuat CloudWatch alarm untuk kebijakan tersebut. 

## Buat kebijakan penskalaan sederhana untuk skala di
<a name="simple-scaling-create-scale-in-policy"></a>

Gunakan [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)perintah berikut untuk membuat kebijakan penskalaan sederhana bernama`my-simple-scale-in-policy`, dengan jenis penyesuaian `ChangeInCapacity` yang mengurangi kapasitas grup dengan satu instance saat CloudWatch alarm terkait melanggar nilai ambang batas rendah metrik.

```
aws autoscaling put-scaling-policy --policy-name my-simple-scale-in-policy \
  --auto-scaling-group-name my-asg --scaling-adjustment -1 \
  --adjustment-type ChangeInCapacity --cooldown 180
```

Merekam Amazon Resource Name (ARN) kebijakan. Anda membutuhkannya untuk membuat CloudWatch alarm untuk kebijakan tersebut. 

# Menskalakan jeda pakai untuk Amazon EC2 Auto Scaling
<a name="ec2-auto-scaling-scaling-cooldowns"></a>

**penting**  
Sebagai praktik terbaik, kami menyarankan Anda untuk tidak menggunakan kebijakan penskalaan sederhana dan cooldown penskalaan. Kebijakan penskalaan pelacakan target atau kebijakan penskalaan langkah lebih baik untuk penskalaan kinerja. Untuk kebijakan penskalaan yang mengubah ukuran grup Auto Scaling Anda secara proporsional saat nilai metrik penskalaan menurun atau meningkat, kami menyarankan [pelacakan target](as-scaling-target-tracking.md) menggunakan penskalaan sederhana atau penskalaan langkah.

Saat Anda membuat kebijakan penskalaan sederhana untuk grup Auto Scaling, sebaiknya Anda mengonfigurasi cooldown penskalaan secara bersamaan.

Setelah grup Auto Scaling Anda meluncurkan atau menghentikan instans, grup ini menunggu periode cooldown berakhir sebelum aktivitas penskalaan lebih lanjut yang dimulai oleh kebijakan penskalaan sederhana dapat dimulai. Tujuan dari periode cooldown adalah agar grup Auto Scaling Anda stabil dan mencegahnya meluncurkan atau menghentikan instance tambahan sebelum efek aktivitas penskalaan sebelumnya terlihat. 

Misalkan, misalnya, bahwa kebijakan penskalaan sederhana untuk pemanfaatan CPU merekomendasikan peluncuran dua instance. Amazon EC2 Auto Scaling meluncurkan dua instans dan kemudian menjeda aktivitas penskalaan hingga periode cooldown berakhir. Setelah periode cooldown berakhir, aktivitas penskalaan apa pun yang diprakarsai oleh kebijakan penskalaan sederhana dapat dilanjutkan. Jika pemanfaatan CPU melanggar ambang batas tinggi alarm lagi, grup Auto Scaling keluar lagi, dan periode cooldown berlaku lagi. Namun, jika dua contoh cukup untuk menurunkan nilai metrik, grup tetap pada ukurannya saat ini.

**Topics**
+ [Pertimbangan-pertimbangan](#cooldown-considerations)
+ [Kait siklus hidup dapat menyebabkan penundaan tambahan](#cooldowns-lifecycle-hooks)
+ [Ubah periode cooldown default](#set-default-cooldown)
+ [Tetapkan periode cooldown untuk kebijakan penskalaan sederhana tertentu](#cooldowns-scaling-specific)

## Pertimbangan-pertimbangan
<a name="cooldown-considerations"></a>

Pertimbangan berikut berlaku saat bekerja dengan kebijakan penskalaan sederhana dan cooldown penskalaan:
+ Kebijakan pelacakan target dan penskalaan langkah dapat segera memulai aktivitas penskalaan tanpa menunggu periode cooldown berakhir. Sebagai gantinya, setiap kali grup Auto Scaling Anda meluncurkan instance, masing-masing instance memiliki periode pemanasan. Untuk informasi selengkapnya, lihat [Menetapkan pemanasan instans default untuk grup Auto Scaling](ec2-auto-scaling-default-instance-warmup.md).
+ Saat aktivitas penskalaan sedang berlangsung, semua aktivitas penskalaan penskalaan target dan penskalaan langkah diblokir hingga instans selesai memanas. Aktivitas scale-in juga dapat ditunda ketika grup Auto Scaling berada dalam periode cooldown.
+ Ketika tindakan terjadwal dimulai pada waktu yang dijadwalkan, itu juga dapat memulai aktivitas penskalaan segera tanpa menunggu periode cooldown berakhir. 
+ Jika instans menjadi tidak sehat, Amazon EC2 Auto Scaling tidak menunggu periode cooldown berakhir sebelum mengganti instans yang tidak sehat.
+ Saat beberapa instance diluncurkan atau dihentikan, periode cooldown (baik cooldown default atau cooldown khusus kebijakan penskalaan) berlaku mulai saat instance terakhir selesai diluncurkan atau dihentikan.
+ Saat Anda menskalakan grup Auto Scaling secara manual, defaultnya adalah tidak menunggu cooldown berakhir. Namun, Anda dapat mengganti perilaku ini dan menghormati cooldown default saat Anda menggunakan AWS CLI atau SDK untuk menskalakan secara manual. 
+ Secara default, Elastic Load Balancing menunggu 300 detik untuk menyelesaikan proses deregistrasi (connection draining). Jika grup berada di belakang penyeimbang beban Elastic Load Balancing, ia akan menunggu instans penghentian untuk membatalkan pendaftaran sebelum memulai periode cooldown.

## Kait siklus hidup dapat menyebabkan penundaan tambahan
<a name="cooldowns-lifecycle-hooks"></a>

Jika [pengait siklus hidup](lifecycle-hooks.md) dipanggil, periode cooldown dimulai setelah Anda menyelesaikan tindakan siklus hidup atau setelah periode batas waktu berakhir. Misalnya, pertimbangkan grup Auto Scaling yang memiliki kait siklus hidup misalnya peluncuran. Ketika aplikasi mengalami peningkatan permintaan, grup meluncurkan instance untuk menambah kapasitas. Karena ada kait siklus hidup, instance dimasukkan ke dalam status tunggu dan aktivitas penskalaan karena kebijakan penskalaan sederhana dijeda. Saat instance masuk ke status `InService`, periode jeda pakai dimulai. Ketika periode cooldown berakhir, kegiatan kebijakan penskalaan sederhana dilanjutkan.

Ketika Elastic Load Balancing diaktifkan, untuk tujuan penskalaan, periode cooldown dimulai ketika instance yang dipilih untuk penghentian memulai pengurasan koneksi (penundaan deregistrasi). Periode cooldown tidak menunggu koneksi terkuras selesai atau pengait siklus hidup untuk menyelesaikan aksinya. Ini berarti bahwa setiap kegiatan penskalaan karena kebijakan penskalaan sederhana dapat dilanjutkan segera setelah hasil skala tersebut tercermin dalam kapasitas grup. Jika tidak, menunggu untuk menyelesaikan ketiga aktivitas—pengurasan koneksi, pengait siklus hidup, dan periode cooldown—akan secara signifikan meningkatkan jumlah waktu yang dibutuhkan grup Auto Scaling untuk menjeda penskalaan.

## Ubah periode cooldown default
<a name="set-default-cooldown"></a>

Anda tidak dapat mengatur cooldown default saat pertama kali membuat grup Auto Scaling di konsol Amazon EC2 Auto Scaling. Secara default, periode cooldown ini diatur ke 300 detik (5 menit). Jika perlu, Anda dapat memperbarui ini setelah grup dibuat. 

**Untuk mengubah periode cooldown default (konsol)**  
**Setelah membuat grup Auto Scaling, pada tab **Detail**, pilih **Konfigurasi lanjutan**, Edit.** Untuk **cooldown Default**, pilih jumlah waktu yang Anda inginkan berdasarkan waktu startup instans Anda atau kebutuhan aplikasi lainnya.

**Untuk mengubah periode cooldown default ()AWS CLI**  
Gunakan perintah berikut untuk mengubah cooldown default untuk grup Auto Scaling baru atau yang sudah ada. Jika cooldown default tidak ditentukan, nilai default 300 detik digunakan. 
+ [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)
+ [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)

Untuk mengkonfirmasi nilai cooldown default, gunakan [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html)perintah.

## Tetapkan periode cooldown untuk kebijakan penskalaan sederhana tertentu
<a name="cooldowns-scaling-specific"></a>

Secara default, semua kebijakan penskalaan sederhana menggunakan periode cooldown default yang ditentukan untuk grup Auto Scaling. Untuk menetapkan periode cooldown untuk kebijakan penskalaan sederhana tertentu, gunakan parameter cooldown opsional saat Anda membuat atau memperbarui kebijakan. Ketika periode cooldown ditentukan untuk kebijakan, itu akan mengganti cooldown default.

Salah satu penggunaan umum untuk periode cooldown khusus kebijakan penskalaan adalah dengan skala kebijakan. Karena kebijakan ini menghentikan instance, Amazon EC2 Auto Scaling membutuhkan waktu yang lebih sedikit untuk menentukan apakah akan menghentikan instance tambahan. Pengakhiran instance akan menjadi operasi yang jauh lebih cepat daripada meluncurkan instance. Oleh karena itu periode jeda pakai default selama 300 detik terlalu lama. Dalam hal ini, periode cooldown khusus kebijakan penskalaan dengan nilai yang lebih rendah untuk skala Anda dalam kebijakan dapat membantu Anda mengurangi biaya dengan memungkinkan grup untuk menskalakan lebih cepat. 

Untuk membuat atau memperbarui kebijakan penskalaan sederhana di konsol, pilih tab **Penskalaan otomatis** setelah Anda membuat grup. Untuk membuat atau memperbarui kebijakan penskalaan sederhana menggunakan AWS CLI, gunakan [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html)perintah. Untuk informasi selengkapnya, lihat [Kebijakan penskalaan langkah dan sederhana](as-scaling-simple-step.md).

# Kebijakan penskalaan berdasarkan Amazon SQS
<a name="as-using-sqs-queue"></a>

**penting**  
Informasi dan langkah-langkah berikut menunjukkan cara menghitung backlog antrean Amazon SQS per instance menggunakan atribut antrian sebelum mempublikasikannya sebagai metrik kustom. `ApproximateNumberOfMessages` CloudWatch Namun, Anda sekarang dapat menghemat biaya dan upaya untuk menerbitkan metrik Anda sendiri dengan menggunakan matematika metrik. Untuk informasi selengkapnya, lihat [Buat kebijakan penskalaan pelacakan target menggunakan matematika metrik](ec2-auto-scaling-target-tracking-metric-math.md).

Anda dapat menskalakan grup Auto Scaling sebagai respons terhadap perubahan pemuatan sistem dalam antrian Amazon Simple Queue Service (Amazon SQS). Untuk mempelajari lebih lanjut tentang cara menggunakan Amazon SQS, lihat [Panduan Pengembang Amazon Simple Queue Service](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/).

Ada beberapa skenario di mana Anda mungkin berpikir tentang penskalaan sebagai respons terhadap aktivitas dalam antrean Amazon SQS. Misalnya, kita asumsikan Anda memiliki aplikasi web yang memungkinkan pengguna mengunggah gambar dan menggunakannya secara online. Dalam skenario ini, setiap gambar perlu mengubah ukuran dan mengenkodekannya sebelum dapat diterbitkan. Aplikasi ini berjalan pada instance EC2 dalam grup Auto Scaling, dan dikonfigurasi untuk menangani tingkat pengunggahan standar Anda. Instance yang tidak sehat dihentikan dan diganti untuk memelihara tingkat instance saat ini setiap saat. Aplikasi ini menempatkan data gambar bitmap mentah dalam antrean SQS untuk pemrosesan. Aplikasi ini memproses gambar dan menerbitkan gambar yang diproses di mana gambar tersebut dapat dilihat oleh pengguna. Arsitektur untuk skenario ini berfungsi dengan baik jika jumlah pengunggahan gambar tidak bervariasi dari waktu ke waktu. Tetapi jika jumlah unggahan berubah dari waktu ke waktu, Anda dapat mempertimbangkan menggunakan penskalaan dinamis untuk menskalakan kapasitas grup Auto Scaling Anda.

**Topics**
+ [Gunakan pelacakan target dengan metrik yang tepat](#scale-sqs-queue-custom-metric)
+ [Batasan](#scale-sqs-queue-limitations)
+ [Mengonfigurasi penskalaan berdasarkan Amazon SQS](scale-sqs-queue-cli.md)
+ [Amazon SQS dan perlindungan penskalaan instans](#scale-sqs-queue-scale-in-protection)

## Gunakan pelacakan target dengan metrik yang tepat
<a name="scale-sqs-queue-custom-metric"></a>

Jika Anda menggunakan kebijakan penskalaan pelacakan target berdasarkan metrik antrean Amazon SQS kustom, penskalaan dinamis dapat menyesuaikan kurva permintaan aplikasi Anda secara lebih efektif. Untuk informasi selengkapnya tentang memilih metrik untuk pelacakan target, lihat [Pilih metrik](as-scaling-target-tracking.md#target-tracking-choose-metrics).

Masalah dengan menggunakan metrik CloudWatch Amazon SQS seperti `ApproximateNumberOfMessagesVisible` untuk pelacakan target adalah bahwa jumlah pesan dalam antrian mungkin tidak berubah secara proporsional dengan ukuran grup Auto Scaling yang memproses pesan dari antrian. Hal itu karena jumlah pesan dalam antrean SQS Anda tidak hanya menentukan jumlah instance yang diperlukan. Jumlah instance dalam grup Auto Scaling Anda dapat didorong oleh beberapa faktor, termasuk berapa lama waktu yang diperlukan untuk memproses pesan dan jumlah latensi yang dapat diterima (penundaan antrean). 

Solusinya adalah menggunakan metrik *backlog per instance* dengan nilai target menjadi *backlog yang dapat diterima per instance* untuk dipertahankan. Anda dapat menghitung angka-angka ini sebagai berikut:
+ **Backlog per instance**: Untuk menghitung backlog per instance, mulailah dengan atribut `ApproximateNumberOfMessages` antrian untuk menentukan panjang antrian SQS (jumlah pesan yang tersedia untuk diambil dari antrian). Bagi jumlahnya berdasarkan kapasitas berjalan fleet, yang untuk grup Auto Scaling adalah jumlah instance dalam status `InService`, untuk mendapatkan backlog per instance.
+ **Backlog yang dapat diterima per instance**: Untuk menghitung nilai target Anda, tentukan terlebih dahulu apa yang dapat diterima aplikasi Anda dalam hal latensi. Kemudian, ambil nilai latensi yang dapat diterima dan bagi dengan waktu rata-rata yang diperlukan oleh instance EC2 untuk memproses pesan. 

Sebagai contoh, katakanlah Anda saat ini memiliki grup Auto Scaling dengan 10 instance dan jumlah pesan yang terlihat dalam antrian () `ApproximateNumberOfMessages` adalah 1500. Jika waktu pemrosesan rata-rata adalah 0,1 detik untuk setiap pesan dan latensi terpanjang yang dapat diterima adalah 10 detik, maka backlog yang dapat diterima per instance adalah 10/0,1, yang sama dengan 100 pesan. Ini berarti bahwa 100 adalah nilai target untuk kebijakan pelacakan target Anda. Ketika backlog per instance mencapai nilai target, peristiwa scale-out akan terjadi. Karena backlog per instance sudah 150 pesan (1500 pesan/10 instance), grup Anda menskalakan, dan skalanya menjadi lima instance untuk mempertahankan proporsi dengan nilai target.

Prosedur berikut mendemonstrasikan cara mempublikasikan metrik khusus dan membuat kebijakan penskalaan pelacakan target yang mengonfigurasi grup Auto Scaling Anda ke skala berdasarkan perhitungan ini.

**penting**  
Ingat, untuk mengurangi biaya, gunakan matematika metrik sebagai gantinya. Untuk informasi selengkapnya, lihat [Buat kebijakan penskalaan pelacakan target menggunakan matematika metrik](ec2-auto-scaling-target-tracking-metric-math.md).

Ada tiga bagian utama untuk konfigurasi ini:
+ Grup Auto Scaling untuk mengelola instance EC2 untuk tujuan pemrosesan pesan dari antrean SQS. 
+ Metrik khusus untuk dikirim ke Amazon CloudWatch yang mengukur jumlah pesan dalam antrian per instans EC2 di grup Auto Scaling.
+ Kebijakan pelacakan target yang mengonfigurasi grup Auto Scaling Anda untuk menskalakan berdasarkan metrik kustom dan nilai target yang ditetapkan. CloudWatch alarm memanggil kebijakan penskalaan. 

Diagram berikut menggambarkan arsitektur konfigurasi ini. 

![\[Amazon EC2 Auto Scaling menggunakan diagram arsitektur antrean\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/sqs-as-custom-metric-diagram.png)


## Batasan
<a name="scale-sqs-queue-limitations"></a>

Anda harus menggunakan AWS CLI atau SDK untuk mempublikasikan metrik kustom Anda. CloudWatch Anda kemudian dapat memantau metrik Anda dengan Konsol Manajemen AWS.

Di bagian berikut Anda menggunakan AWS CLI untuk tugas yang perlu Anda lakukan. Misalnya, untuk mendapatkan data metrik yang mencerminkan penggunaan antrean saat ini, Anda menggunakan perintah SQS [get-queue-attributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/get-queue-attributes.html). 

# Mengonfigurasi penskalaan berdasarkan Amazon SQS
<a name="scale-sqs-queue-cli"></a>

Prosedur berikut menjelaskan cara mengonfigurasi penskalaan otomatis berdasarkan Amazon SQS. Anda akan mempelajari cara membuat metrik CloudWatch kustom, cara menyiapkan kebijakan pelacakan target menggunakan AWS CLI, dan cara menguji konfigurasi Anda. 

Sebelum Anda mulai, pastikan Anda telah AWS CLI [menginstal](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) dan [mengkonfigurasi](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html). Selain itu, Anda harus memiliki antrian Amazon SQS untuk digunakan. Tugas berikut mengasumsikan bahwa Anda sudah memiliki antrian (standar atau FIFO), grup Auto Scaling, dan instans EC2 yang menjalankan aplikasi yang menggunakan antrian. 

Untuk informasi lebih lanjut tentang Amazon SQS, lihat [Panduan Pengembang Amazon Simple Queue Service](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/).

**Topics**
+ [Langkah 1: Buat metrik CloudWatch khusus](#create-sqs-cw-alarms-cli)
+ [Langkah 2: Buat kebijakan penskalaan pelacakan target](#create-sqs-policies-cli)
+ [Langkah 3: Uji kebijakan penskalaan Anda](#validate-sqs-scaling-cli)

## Langkah 1: Buat metrik CloudWatch khusus
<a name="create-sqs-cw-alarms-cli"></a>

Metrik khusus ditentukan menggunakan nama metrik dan ruang nama pilihan Anda. Ruang nama untuk metrik kustom tidak dapat dimulai dengan. `AWS/` Untuk informasi selengkapnya tentang memublikasikan metrik [kustom, lihat topik Publikasikan metrik](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) kustom di * CloudWatch Panduan Pengguna Amazon*.

Ikuti prosedur ini untuk membuat metrik kustom dengan terlebih dahulu membaca informasi dari AWS akun Anda. Kemudian, hitung backlog per metrik instance, seperti yang disarankan di bagian sebelumnya. Terakhir, publikasikan nomor ini dengan CloudWatch perincian 1 menit. Jika memungkinkan, kami sangat menyarankan agar Anda menskalakan metrik dengan granularitas 1 menit untuk memastikan respons yang lebih cepat terhadap perubahan beban sistem. 

**Untuk membuat metrik CloudWatch kustom (AWS CLI)**

1. Gunakan perintah SQS [get-queue-attributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sqs/get-queue-attributes.html) untuk mendapatkan jumlah pesan menunggu di antrean (`ApproximateNumberOfMessages`). 

   ```
   aws sqs get-queue-attributes --queue-url https://sqs.region.amazonaws.com/123456789/MyQueue \
     --attribute-names ApproximateNumberOfMessages
   ```

1. Gunakan perintah [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) agar grup berjalan, yaitu jumlah instance dalam status siklus aktif `InService`. Perintah ini mengembalikan instance grup Auto Scaling beserta keadaan siklus aktifnya. 

   ```
   aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names my-asg
   ```

1. Hitung backlog per instance dengan membagi perkiraan jumlah pesan yang tersedia untuk diambil dari antrian dengan kapasitas berjalan grup. 

1. Buat skrip yang berjalan setiap menit untuk mengambil backlog per nilai instance dan mempublikasikannya ke metrik CloudWatch khusus. Saat memublikasikan metrik kustom, Anda menentukan nama metrik, namespace, unit, nilai, dan dimensi nol atau lebih. Dimensi terdiri dari nama dimensi dan nilai dimensi.

   Untuk mempublikasikan metrik kustom Anda, ganti nilai placeholder *italics* dengan nama metrik pilihan Anda, nilai metrik, namespace (asalkan tidak dimulai dengan "`AWS`“), dan dimensi (opsional), lalu jalankan perintah berikut. [put-metric-data](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudwatch/put-metric-data.html) 

   ```
   aws cloudwatch put-metric-data --metric-name MyBacklogPerInstance --namespace MyNamespace \
     --unit None --value 20 --dimensions MyOptionalMetricDimensionName=MyOptionalMetricDimensionValue
   ```

Setelah aplikasi Anda memancarkan metrik yang diinginkan, data dikirim ke CloudWatch. Metrik terlihat di CloudWatch konsol. Anda dapat mengaksesnya dengan masuk ke Konsol Manajemen AWS dan menavigasi ke halaman. CloudWatch Lalu, lihat metrik dengan menavigasi ke halaman metrik atau dengan mencarinya menggunakan kotak pencarian. Untuk informasi tentang melihat metrik, lihat [Melihat metrik yang tersedia](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/viewing_metrics_with_cloudwatch.html) di * CloudWatch Panduan Pengguna Amazon*.

## Langkah 2: Buat kebijakan penskalaan pelacakan target
<a name="create-sqs-policies-cli"></a>

Metrik yang Anda buat sekarang dapat ditambahkan ke kebijakan penskalaan pelacakan target.

**Untuk membuat kebijakan penskalaan pelacakan target ()AWS CLI**

1. Gunakan `cat` perintah berikut untuk menyimpan nilai target untuk kebijakan penskalaan Anda dan spesifikasi metrik yang disesuaikan dalam file JSON yang diberi nama `config.json` di direktori home Anda. Ganti masing-masing *user input placeholder* dengan informasi Anda sendiri. Untuk `TargetValue`, hitung backlog yang dapat diterima per metrik instance dan masukkan di sini. Untuk menghitung angka ini, tentukan nilai latensi normal dan bagi dengan waktu rata-rata yang diperlukan untuk memproses pesan, seperti yang dijelaskan di bagian sebelumnya. 

   Jika Anda tidak menentukan dimensi apa pun untuk metrik yang Anda buat di langkah 1, jangan sertakan dimensi apa pun dalam spesifikasi metrik yang disesuaikan.

   ```
   $ cat ~/config.json
   {
      "TargetValue":100,
      "CustomizedMetricSpecification":{
         "MetricName":"MyBacklogPerInstance",
         "Namespace":"MyNamespace",
         "Dimensions":[
            {
               "Name":"MyOptionalMetricDimensionName",
               "Value":"MyOptionalMetricDimensionValue"
            }
         ],
         "Statistic":"Average",
         "Unit":"None"
      }
   }
   ```

1. Gunakan perintah [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html), beserta file `config.json` yang Anda buat di langkah sebelumnya, untuk membuat kebijakan penskalaan Anda.

   ```
   aws autoscaling put-scaling-policy --policy-name sqs100-target-tracking-scaling-policy \
     --auto-scaling-group-name my-asg --policy-type TargetTrackingScaling \
     --target-tracking-configuration file://~/config.json
   ```

   Ini menciptakan dua alarm: satu untuk peningkatan skala dan satu untuk penurunan skala. Ini juga mengembalikan Nama Sumber Daya Amazon (ARN) dari kebijakan yang terdaftar CloudWatch, yang CloudWatch digunakan untuk memanggil penskalaan setiap kali ambang metrik dilanggar. 

## Langkah 3: Uji kebijakan penskalaan Anda
<a name="validate-sqs-scaling-cli"></a>

Setelah penyiapan selesai, periksa apakah kebijakan penskalaan Anda berfungsi. Anda dapat mengujinya dengan meningkatkan jumlah pesan dalam antrean SQS Anda dan kemudian memverifikasi bahwa grup Auto Scaling Anda telah meluncurkan instance EC2 tambahan. Anda juga dapat mengujinya dengan mengurangi jumlah pesan dalam antrean SQS Anda dan kemudian memverifikasi bahwa grup Auto Scaling telah menghentikan instance EC2.

**Untuk menguji fungsi peningkatan skala**

1. Ikuti langkah-langkah dalam [Membuat antrean standar Amazon SQS dan mengirim pesan atau Membuat antrian](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/creating-sqs-standard-queues.html) [FIFO Amazon SQS dan mengirim pesan untuk menambahkan pesan ke antrian](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/creating-sqs-fifo-queues.html) Anda. Pastikan Anda telah meningkatkan jumlah pesan di antrean sehingga backlog per instance metrik melebihi nilai target.

   Diperlukan beberapa menit agar perubahan Anda memanggil alarm.

1. Gunakan [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) untuk memverifikasi bahwa grup telah meluncurkan suatu instance.

   ```
   aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg
   ```

**Untuk menguji skala dalam fungsi**

1. Ikuti langkah-langkah di [Menerima dan menghapus pesan (konsol)](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/step-receive-delete-message.html) untuk menghapus pesan dari antrian. Pastikan Anda telah mengurangi jumlah pesan di antrean sehingga backlog per instance metrik berada di bawah nilai target.

   Diperlukan beberapa menit agar perubahan Anda memanggil alarm.

1. Gunakan [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) untuk memverifikasi bahwa grup telah menghentikan suatu instance.

   ```
   aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg
   ```

## Amazon SQS dan perlindungan penskalaan instans
<a name="scale-sqs-queue-scale-in-protection"></a>

Pesan yang belum diproses pada saat instance dihentikan dikembalikan ke antrian SQS di mana mereka dapat diproses oleh instance lain yang masih berjalan. Untuk aplikasi yang menjalankan tugas yang berjalan lama, Anda dapat menggunakan perlindungan skala masuk instans secara opsional untuk mengontrol pekerja antrian mana yang dihentikan saat grup Auto Scaling Anda masuk.

Pseudocode berikut menunjukkan satu cara untuk melindungi proses pekerja berbasis antrian yang berjalan lama dari penghentian skala.

```
while (true)
{
  SetInstanceProtection(False);
  Work = GetNextWorkUnit();
  SetInstanceProtection(True);
  ProcessWorkUnit(Work);
  SetInstanceProtection(False);
}
```

Untuk informasi selengkapnya, lihat [Rancang aplikasi Anda untuk menangani penghentian instans dengan anggun](gracefully-handle-instance-termination.md).

# Memverifikasi aktivitas penskalaan untuk grup Auto Scaling
<a name="as-verify-scaling-activity"></a>

Di bagian Penskalaan Otomatis Amazon EC2 di konsol Amazon EC2**,** riwayat Aktivitas untuk grup Auto Scaling memungkinkan Anda melihat status aktivitas penskalaan saat ini yang sedang berlangsung. Ketika aktivitas penskalaan selesai, Anda dapat melihat apakah itu berhasil atau tidak. Ini sangat berguna saat Anda membuat grup Auto Scaling atau Anda menambahkan kondisi penskalaan ke grup yang ada.

Saat Anda menambahkan kebijakan pelacakan target, langkah, atau penskalaan sederhana ke grup Auto Scaling, Amazon EC2 Auto Scaling segera mulai mengevaluasi kebijakan terhadap metrik. Alarm metrik beralih ke status ALARM saat metrik melanggar ambang batas untuk jumlah periode evaluasi tertentu. Ini berarti bahwa kebijakan penskalaan dapat menghasilkan aktivitas penskalaan segera setelah dibuat. Setelah Amazon EC2 Auto Scaling menyesuaikan kapasitas yang diinginkan sebagai respons terhadap kebijakan penskalaan, Anda dapat memverifikasi aktivitas penskalaan di akun Anda. Jika Anda ingin menerima pemberitahuan email dari Amazon EC2 Auto Scaling yang memberi tahu Anda tentang aktivitas penskalaan, ikuti petunjuk di. [Opsi notifikasi Amazon SNS untuk Amazon EC2 Auto Scaling](ec2-auto-scaling-sns-notifications.md)

**Tip**  
Dalam prosedur berikut, Anda melihat bagian **Riwayat Aktivitas** dan **Instans** untuk grup Auto Scaling. Di keduanya, kolom bernama seharusnya sudah ditampilkan. Untuk menampilkan kolom tersembunyi atau mengubah jumlah baris yang ditampilkan, pilih ikon roda gigi di sudut kanan atas setiap bagian untuk membuka modal preferensi, perbarui pengaturan sesuai kebutuhan, dan pilih **Konfirmasi**.

**Untuk melihat aktivitas penskalaan untuk grup Auto Scaling (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. Di bilah navigasi di bagian atas layar, pilih Wilayah grup Auto Scaling Anda.

1. Pilih kotak centang di samping grup Auto Scaling. 

   Panel split terbuka di bagian bawah halaman.

1. Pada tab **Aktivitas**, di bawah **Riwayat aktivitas**, kolom **Status** menunjukkan apakah grup Auto Scaling Anda telah berhasil meluncurkan atau menghentikan instance, atau apakah aktivitas penskalaan masih berlangsung.

1. (Opsional) Jika Anda memiliki banyak aktivitas penskalaan, Anda dapat memilih ikon **>** di tepi atas riwayat aktivitas untuk melihat halaman aktivitas penskalaan berikutnya.

1. Pada tab **Manajemen instans****, di bawah Instance**, kolom **Siklus Hidup** berisi status instance Anda. Setelah instance dimulai dan kait siklus hidup apa pun selesai, status siklus hidupnya berubah menjadi. `InService` Kolom **Status kesehatan** menunjukkan hasil pemeriksaan kesehatan instans EC2 pada instans Anda.

**Untuk melihat aktivitas penskalaan untuk grup Auto Scaling ()AWS CLI**  
Gunakan perintah [describe-scaling-activities](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-scaling-activities.html) berikut ini. 

```
aws autoscaling describe-scaling-activities --auto-scaling-group-name my-asg
```

Berikut ini adalah output contoh. 

Aktivitas penskalaan diurutkan berdasarkan waktu mulai. Aktivitas masih dalam proses dijelaskan terlebih dahulu. 

```
{
  "Activities": [
    {
      "ActivityId": "5e3a1f47-2309-415c-bfd8-35aa06300799",
      "AutoScalingGroupName": "my-asg",
      "Description": "Terminating EC2 instance: i-06c4794c2499af1df",
      "Cause": "At 2020-02-11T18:34:10Z a monitor alarm TargetTracking-my-asg-AlarmLow-b9376cab-18a7-4385-920c-dfa3f7783f82 in state ALARM triggered policy my-target-tracking-policy changing the desired capacity from 3 to 2.  At 2020-02-11T18:34:31Z an instance was taken out of service in response to a difference between desired and actual capacity, shrinking the capacity from 3 to 2.  At 2020-02-11T18:34:31Z instance i-06c4794c2499af1df was selected for termination.",
      "StartTime": "2020-02-11T18:34:31.268Z",
      "EndTime": "2020-02-11T18:34:53Z",
      "StatusCode": "Successful",
      "Progress": 100,
      "Details": "{\"Subnet ID\":\"subnet-5ea0c127\",\"Availability Zone\":\"us-west-2a\"...}",
      "AutoScalingGroupARN": "arn"
    },
...
  ]
}
```

Untuk deskripsi bidang dalam output, lihat [Aktivitas](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_Activity.html) di Referensi API *Amazon EC2 Auto Scaling*.

Untuk bantuan mengambil aktivitas penskalaan untuk grup yang dihapus dan untuk informasi tentang jenis kesalahan yang mungkin Anda temui dan cara menanganinya, lihat. [Memecahkan masalah di Amazon EC2 Auto Scaling](CHAP_Troubleshooting.md)

# Menonaktifkan kebijakan penskalaan untuk grup Auto Scaling
<a name="as-enable-disable-scaling-policy"></a>

Topik ini menjelaskan cara menonaktifkan sementara kebijakan penskalaan sehingga tidak akan memulai perubahan pada jumlah instance yang dimuat oleh grup Auto Scaling. Ketika Anda menonaktifkan kebijakan penskalaan, detail konfigurasi dipertahankan, sehingga Anda dapat dengan cepat mengaktifkan ulang kebijakan tersebut. Ini lebih mudah daripada menghapus kebijakan untuk sementara saat Anda tidak memerlukannya, dan membuat ulang kebijakan nanti. 

Ketika kebijakan penskalaan dinonaktifkan, grup Auto Scaling tidak menaikkan atau menurunkan skala untuk alarm metrik yang dilanggar saat kebijakan penskalaan dinonaktifkan. Namun, semua aktivitas penskalaan yang sedang berlangsung tidak dihentikan. 

Penting untuk diperhatikan bahwa kebijakan penskalaan yang dinonaktifkan masih dihitung terhadap kuota Anda pada jumlah kebijakan penskalaan yang dapat Anda tambahkan ke grup Auto Scaling. 

**Untuk menonaktifkan kebijakan penskalaan (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.

   Panel split terbuka di bagian bawah halaman. 

1. Pada tab **Penskalaan otomatis**, di bawah **Kebijakan penskalaan dinamis**, pilih kotak centang di sudut kanan atas kebijakan penskalaan yang diinginkan.

1. Gulir ke bagian atas **kebijakan penskalaan dinamis**, lalu pilih **Tindakan**, **Nonaktifkan**.

Setelah Anda siap untuk mengaktifkan kembali kebijakan penskalaan, ulangi langkah-langkah ini, lalu pilih **Tindakan**, **Aktifkan**. Setelah Anda mengaktifkan ulang kebijakan penskalaan, grup Auto Scaling Anda dapat segera memulai tindakan penskalaan jika ada alarm yang saat ini berada dalam status ALARM.

**Untuk menonaktifkan kebijakan penskalaan ()AWS CLI**  
Gunakan perintah [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html) dengan opsi `--no-enabled` sebagai berikut. Tentukan semua opsi dalam perintah tersebut seperti yang Anda akan tentukan saat membuat kebijakan.

```
aws autoscaling put-scaling-policy --auto-scaling-group-name my-asg \
   --policy-name my-scaling-policy --policy-type TargetTrackingScaling \
   --estimated-instance-warmup 360 \
   --target-tracking-configuration '{ "TargetValue": 70, "PredefinedMetricSpecification": { "PredefinedMetricType": "ASGAverageCPUUtilization" } }' \ 
   --no-enabled
```

**Untuk mengaktifkan kembali kebijakan penskalaan ()AWS CLI**  
Gunakan perintah [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html) dengan opsi `--enabled` sebagai berikut. Tentukan semua opsi dalam perintah tersebut seperti yang Anda akan tentukan saat membuat kebijakan.

```
aws autoscaling put-scaling-policy --auto-scaling-group-name my-asg \
   --policy-name my-scaling-policy --policy-type TargetTrackingScaling \
   --estimated-instance-warmup 360 \
   --target-tracking-configuration '{ "TargetValue": 70, "PredefinedMetricSpecification": { "PredefinedMetricType": "ASGAverageCPUUtilization" } }' \ 
   --enabled
```

**Untuk menggambarkan kebijakan penskalaan ()AWS CLI**  
Gunakan perintah [describe-policies](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-policies.html) untuk memverifikasi status kebijakan penskalaan yang diaktifkan.

```
aws autoscaling describe-policies --auto-scaling-group-name my-asg \
   --policy-names my-scaling-policy
```

Berikut ini adalah output contoh.

```
{
    "ScalingPolicies": [
        {
            "AutoScalingGroupName": "my-asg",
            "PolicyName": "my-scaling-policy",
            "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:1d52783a-b03b-4710-bb0e-549fd64378cc:autoScalingGroupName/my-asg:policyName/my-scaling-policy",
            "PolicyType": "TargetTrackingScaling",
            "StepAdjustments": [],
            "Alarms": [
                {
                    "AlarmName": "TargetTracking-my-asg-AlarmHigh-9ca53fdd-7cf5-4223-938a-ae1199204502",
                    "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmHigh-9ca53fdd-7cf5-4223-938a-ae1199204502"
                },
                {
                    "AlarmName": "TargetTracking-my-asg-AlarmLow-7010c83d-d55a-4a7a-abe0-1cf8b9de6d6c",
                    "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmLow-7010c83d-d55a-4a7a-abe0-1cf8b9de6d6c"
                }
            ],
            "TargetTrackingConfiguration": {
                "PredefinedMetricSpecification": {
                    "PredefinedMetricType": "ASGAverageCPUUtilization"
                },
                "TargetValue": 70.0,
                "DisableScaleIn": false
            },
            "Enabled": true
        }
    ]
}
```

# Menghapus kebijakan penskalaan untuk grup Auto Scaling
<a name="deleting-scaling-policy"></a>

Setelah Anda tidak lagi memerlukan kebijakan penskalaan, Anda dapat menghapusnya. Bergantung pada jenis kebijakan penskalaan, Anda mungkin juga perlu menghapus CloudWatch alarm. Menghapus kebijakan penskalaan pelacakan target juga akan menghapus alarm terkait. CloudWatch Menghapus kebijakan penskalaan langkah atau kebijakan penskalaan sederhana akan menghapus tindakan alarm yang mendasarinya, tetapi tidak menghapus CloudWatch alarm, meskipun tidak lagi memiliki tindakan terkait. 

**Untuk menghapus kebijakan penskalaan (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.

   Panel split terbuka di bagian bawah halaman.

1. Pada tab **Penskalaan otomatis**, di bawah **Kebijakan penskalaan dinamis**, pilih kotak centang di sudut kanan atas kebijakan penskalaan yang diinginkan.

1. Gulir ke bagian atas bagian **Kebijakan penskalaan dinamis**, lalu pilih **Tindakan**, **Hapus**.

1. Ketika diminta untuk mengonfirmasi, pilih **Ya, Hapus**.

1. (Opsional) Jika Anda menghapus kebijakan penskalaan langkah atau kebijakan penskalaan sederhana, lakukan hal berikut untuk menghapus CloudWatch alarm yang terkait dengan kebijakan tersebut. Anda dapat melewati sublangkah ini untuk menjaga alarm tetap berfungsi di masa mendatang.

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

   1. Pada panel navigasi, pilih **Alarm**.

   1. Pilih alarm (misalnya, `Step-Scaling-AlarmHigh-AddCapacity`) dan pilih **Tindakan**, **Hapus**.

   1. Saat diminta konfirmasi, pilih **Hapus**.

**Untuk mendapatkan kebijakan penskalaan untuk grup Auto Scaling ()AWS CLI**  
Sebelum menghapus kebijakan penskalaan, gunakan [perintah deskripsikan kebijakan berikut untuk melihat kebijakan penskalaan](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-policies.html) apa yang dibuat untuk grup Auto Scaling. Anda dapat menggunakan output saat menghapus kebijakan ini dan alarm CloudWatch.

```
aws autoscaling describe-policies --auto-scaling-group-name my-asg
```

Anda dapat memfilter hasil berdasarkan jenis kebijakan penskalaan menggunakan parameter `--query`. Sintaks ini untuk `query` bekerja di Linux atau macOS. Di Windows, ubah tanda kutip tunggal menjadi tanda kutip ganda.

```
aws autoscaling describe-policies --auto-scaling-group-name my-asg 
  --query 'ScalingPolicies[?PolicyType==`TargetTrackingScaling`]'
```

Berikut ini adalah output contoh.

```
[
    {
        "AutoScalingGroupName": "my-asg",
        "PolicyName": "cpu50-target-tracking-scaling-policy",
        "PolicyARN": "PolicyARN",
        "PolicyType": "TargetTrackingScaling",
        "StepAdjustments": [],
        "Alarms": [
            {
                "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e",
                "AlarmName": "TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e"
            },
            {
                "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2",
                "AlarmName": "TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2"
            }
        ],
        "TargetTrackingConfiguration": {
            "PredefinedMetricSpecification": {
                "PredefinedMetricType": "ASGAverageCPUUtilization"
            },
            "TargetValue": 50.0,
            "DisableScaleIn": false
        },
        "Enabled": true
    }
]
```

**Untuk menghapus kebijakan penskalaan Anda ()AWS CLI**  
Gunakan perintah [delete-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/delete-policy.html) berikut. 

```
aws autoscaling delete-policy --auto-scaling-group-name my-asg \
  --policy-name cpu50-target-tracking-scaling-policy
```

**Untuk menghapus CloudWatch alarm Anda (AWS CLI)**  
Untuk langkah dan kebijakan penskalaan sederhana, gunakan perintah [hapus-alarm](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudwatch/delete-alarms.html) untuk menghapus CloudWatch alarm yang terkait dengan kebijakan. Anda dapat melewati langkah ini untuk menjaga alarm tetap berfungsi di masa mendatang. Anda dapat menghapus satu atau beberapa alarm sekaligus. Misalnya, gunakan perintah berikut untuk menghapus alarm `Step-Scaling-AlarmHigh-AddCapacity` dan `Step-Scaling-AlarmLow-RemoveCapacity`.

```
aws cloudwatch delete-alarms --alarm-name Step-Scaling-AlarmHigh-AddCapacity Step-Scaling-AlarmLow-RemoveCapacity
```

# Contoh kebijakan penskalaan untuk AWS CLI
<a name="examples-scaling-policies"></a>

Anda dapat membuat kebijakan penskalaan untuk Amazon EC2 Auto Scaling melalui Konsol Manajemen AWS, () AWS Command Line Interface ,AWS CLI atau. SDKs 

Contoh berikut menunjukkan bagaimana Anda dapat membuat kebijakan penskalaan untuk Amazon EC2 Auto Scaling dengan perintah. AWS CLI [put-scaling-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scaling-policy.html) Ganti masing-masing *user input placeholder* dengan informasi Anda sendiri.

Untuk memulai menulis kebijakan penskalaan menggunakan AWS CLI, lihat latihan pengantar di [Kebijakan penskalaan pelacakan target](as-scaling-target-tracking.md) dan. [Kebijakan penskalaan langkah dan sederhana](as-scaling-simple-step.md) 

**Contoh 1: Untuk menerapkan kebijakan penskalaan pelacakan target dengan spesifikasi metrik yang telah ditentukan**

```
aws autoscaling put-scaling-policy --policy-name cpu50-target-tracking-scaling-policy \
  --auto-scaling-group-name my-asg --policy-type TargetTrackingScaling \
  --target-tracking-configuration file://config.json
{
  "TargetValue": 50.0,
  "PredefinedMetricSpecification": {
    "PredefinedMetricType": "ASGAverageCPUUtilization"
  }
}
```

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

**catatan**  
Jika file tidak ada di direktori saat ini, ketik path lengkap ke file. Untuk informasi selengkapnya tentang membaca nilai AWS CLI parameter dari file, lihat [Memuat AWS CLI parameter dari file](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-file.html) di Panduan AWS Command Line Interface Pengguna.

**Contoh 2: Untuk menerapkan kebijakan penskalaan pelacakan target dengan spesifikasi metrik yang disesuaikan**

```
aws autoscaling put-scaling-policy --policy-name sqs100-target-tracking-scaling-policy \
  --auto-scaling-group-name my-asg --policy-type TargetTrackingScaling \
  --target-tracking-configuration file://config.json
{
  "TargetValue": 100.0,
  "CustomizedMetricSpecification": {
    "MetricName": "MyBacklogPerInstance",
    "Namespace": "MyNamespace",
    "Dimensions": [{
      "Name": "MyOptionalMetricDimensionName",
      "Value": "MyOptionalMetricDimensionValue"
    }],
    "Statistic": "Average",
    "Unit": "None"
  }
}
```

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

**Contoh 3: Untuk menerapkan kebijakan penskalaan pelacakan target hanya untuk skala keluar**

```
aws autoscaling put-scaling-policy --policy-name alb1000-target-tracking-scaling-policy \
  --auto-scaling-group-name my-asg --policy-type TargetTrackingScaling \
  --target-tracking-configuration file://config.json
{
  "TargetValue": 1000.0,
  "PredefinedMetricSpecification": {
    "PredefinedMetricType": "ALBRequestCountPerTarget",
    "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff"
  },
  "DisableScaleIn": true
}
```

**Contoh 4: Untuk menerapkan kebijakan penskalaan langkah untuk skala keluar**

```
aws autoscaling put-scaling-policy \
  --auto-scaling-group-name my-asg  \
  --policy-name my-step-scale-out-policy \
  --policy-type StepScaling \
  --adjustment-type PercentChangeInCapacity \
  --metric-aggregation-type Average \
  --step-adjustments MetricIntervalLowerBound=10.0,MetricIntervalUpperBound=20.0,ScalingAdjustment=10 \
                     MetricIntervalLowerBound=20.0,MetricIntervalUpperBound=30.0,ScalingAdjustment=20 \
                     MetricIntervalLowerBound=30.0,ScalingAdjustment=30 \
  --min-adjustment-magnitude 1
```

Merekam Amazon Resource Name (ARN) kebijakan. Anda memerlukan ARN saat Anda membuat alarm. CloudWatch 

**Contoh 5: Untuk menerapkan kebijakan penskalaan langkah untuk skala di**

```
aws autoscaling put-scaling-policy \
  --auto-scaling-group-name my-asg  \
  --policy-name my-step-scale-in-policy \
  --policy-type StepScaling \
  --adjustment-type ChangeInCapacity \
  --step-adjustments MetricIntervalUpperBound=0.0,ScalingAdjustment=-2
```

Merekam Amazon Resource Name (ARN) kebijakan. Anda memerlukan ARN saat Anda membuat alarm. CloudWatch 

**Contoh 6: Untuk menerapkan kebijakan penskalaan sederhana untuk skala keluar**

```
aws autoscaling put-scaling-policy --policy-name my-simple-scale-out-policy \
  --auto-scaling-group-name my-asg --scaling-adjustment 30 \
  --adjustment-type PercentChangeInCapacity --min-adjustment-magnitude 2
```

Merekam Amazon Resource Name (ARN) kebijakan. Anda memerlukan ARN saat Anda membuat alarm. CloudWatch 

**Contoh 7: Untuk menerapkan kebijakan penskalaan sederhana untuk skala di**

```
aws autoscaling put-scaling-policy --policy-name my-simple-scale-in-policy \
  --auto-scaling-group-name my-asg --scaling-adjustment -1 \
  --adjustment-type ChangeInCapacity --cooldown 180
```

Merekam Amazon Resource Name (ARN) kebijakan. Anda memerlukan ARN saat Anda membuat alarm. CloudWatch 

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

# Kontrol instans Auto Scaling mana yang dihentikan selama penskalaan di
<a name="as-instance-termination"></a>

Amazon EC2 Auto Scaling menggunakan kebijakan penghentian untuk memutuskan urutan penghentian instans. Anda dapat menggunakan kebijakan yang telah ditentukan sebelumnya atau membuat kebijakan khusus untuk memenuhi persyaratan spesifik Anda. Dengan menggunakan kebijakan khusus atau skala instans dalam perlindungan, Anda juga dapat mencegah grup Auto Scaling menghentikan instance yang belum siap untuk dihentikan.

**Topics**
+ [Saat Amazon EC2 Auto Scaling menggunakan kebijakan penghentian](#common-scenarios-termination)
+ [Mengonfigurasi kebijakan penghentian untuk Amazon EC2 Auto Scaling](ec2-auto-scaling-termination-policies.md)
+ [Buat kebijakan pengakhiran kustom dengan Lambda](lambda-custom-termination-policy.md)
+ [Gunakan perlindungan skala dalam instance untuk mengontrol penghentian instans](ec2-auto-scaling-instance-protection.md)
+ [Rancang aplikasi Anda untuk menangani penghentian instans dengan anggun](gracefully-handle-instance-termination.md)

## Saat Amazon EC2 Auto Scaling menggunakan kebijakan penghentian
<a name="common-scenarios-termination"></a>

Bagian berikut menjelaskan skenario di mana Amazon EC2 Auto Scaling menggunakan kebijakan penghentian. 

**Topics**
+ [Skala dalam acara](#common-scenarios-termination-scale-in)
+ [Refresh instans](#common-scenarios-termination-instance-refreshes)
+ [Penyeimbangan beban ulang Zona Ketersediaan](#common-scenarios-termination-rebalancing)

### Skala dalam acara
<a name="common-scenarios-termination-scale-in"></a>

Skala dalam peristiwa terjadi ketika ada nilai baru untuk kapasitas yang diinginkan dari grup Auto Scaling yang lebih rendah dari kapasitas grup saat ini.

Skala dalam peristiwa terjadi dalam skenario berikut:
+ Saat menggunakan kebijakan penskalaan dinamis dan ukuran grup berkurang sebagai akibat dari perubahan nilai metrik
+ Saat menggunakan penskalaan terjadwal dan ukuran grup berkurang sebagai akibat dari tindakan terjadwal
+ Ketika Anda secara manual mengurangi ukuran grup

Contoh berikut menunjukkan cara kerja kebijakan penghentian ketika ada skala dalam acara.

1. Grup Auto Scaling dalam contoh ini memiliki satu tipe instans, dua Availability Zone, dan kapasitas dua instance yang diinginkan. Ini juga memiliki kebijakan penskalaan dinamis yang menambah dan menghapus contoh ketika pemanfaatan sumber daya meningkat atau menurun. Dua contoh dalam grup ini didistribusikan di dua Availability Zone seperti yang ditunjukkan pada diagram berikut.  
![\[Grup Auto Scaling dasar dengan dua instance.\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/termination-policy-default-diagram.png)

1. Ketika grup Auto Scaling meningkatkan skala, Amazon EC2 Auto Scaling meluncurkan instance baru. Grup Auto Scaling sekarang memiliki tiga instance, didistribusikan di dua Availability Zone seperti yang ditunjukkan pada diagram berikut.  
![\[Grup Auto Scaling setelah penskalaan oleh satu instance.\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/termination-policy-default-2-diagram.png)

1. Ketika grup Auto Scaling menurunkanm skala, Amazon EC2 Auto Scaling menghentikan salah satu instance. 

1. Jika Anda tidak menetapkan kebijakan penghentian tertentu ke grup, Amazon EC2 Auto Scaling menggunakan kebijakan penghentian default. Ini memilih Availability Zone dengan dua instance, dan mengakhiri instance yang diluncurkan dari konfigurasi peluncuran, template peluncuran yang berbeda, atau versi tertua dari template peluncuran saat ini. Jika instans diluncurkan dari template dan versi peluncuran yang sama, Amazon EC2 Auto Scaling memilih instans yang paling dekat dengan jam penagihan berikutnya dan menghentikannya.   
![\[Grup Auto Scaling setelah penskalaan dalam satu instance.\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/termination-policy-default-3-diagram.png)

### Refresh instans
<a name="common-scenarios-termination-instance-refreshes"></a>

Anda dapat memulai penyegaran instans untuk memperbarui instans di grup Auto Scaling Anda. Selama penyegaran instans, Amazon EC2 Auto Scaling menghentikan instans dalam grup dan kemudian meluncurkan penggantian untuk instans yang dihentikan. Kebijakan penghentian untuk grup Auto Scaling mengontrol instance mana yang diganti terlebih dahulu. 

### Penyeimbangan beban ulang Zona Ketersediaan
<a name="common-scenarios-termination-rebalancing"></a>

Amazon EC2 Auto Scaling menyeimbangkan kapasitas Anda secara merata di seluruh Availability Zone yang diaktifkan untuk grup Auto Scaling Anda. Ini membantu mengurangi dampak pemadaman Availability Zone. Jika distribusi kapasitas di seluruh Availability Zone menjadi tidak seimbang, Amazon EC2 Auto Scaling menyeimbangkan kembali grup Auto Scaling dengan meluncurkan instans di Availability Zone yang diaktifkan dengan instans paling sedikit dan instans penghentian di tempat lain. Kebijakan penghentian mengontrol instance mana yang diprioritaskan untuk penghentian terlebih dahulu. 

Ada sejumlah alasan mengapa distribusi instans di seluruh Availability Zone dapat menjadi tidak seimbang.

Menghapus instance  
Jika Anda melepaskan instans dari grup Auto Scaling, Anda menempatkan instans dalam keadaan siaga, atau Anda secara eksplisit menghentikan instance dan mengurangi kapasitas yang diinginkan, yang mencegah peluncuran instance pengganti, grup dapat menjadi tidak seimbang. Jika ini terjadi, Amazon EC2 Auto Scaling akan mengompensasi ulang Zona Ketersediaan.

Menggunakan Availability Zone yang berbeda dari yang ditentukan semula  
Jika Anda memperluas grup Auto Scaling untuk menyertakan Availability Zone tambahan, atau mengubah Availability Zone yang digunakan, Amazon EC2 Auto Scaling akan meluncurkan instans di Availability Zone baru dan menghentikan instans di zona lain untuk membantu memastikan bahwa grup Auto Scaling mencakup Availability Zone secara merata.

Penghentian ketersediaan  
Penghentian ketersediaan jarang terjadi. Namun, jika satu Availability Zone menjadi tidak tersedia dan pulih nanti, grup Auto Scaling Anda dapat menjadi tidak seimbang antara Availability Zone. Amazon EC2 Auto Scaling mencoba menyeimbangkan kembali grup secara bertahap, dan penyeimbangan kembali dapat menghentikan instans di zona lain.  
Misalnya, bayangkan Anda memiliki grup Auto Scaling yang memiliki satu tipe instans, dua Availability Zone, dan kapasitas dua instans yang diinginkan. Dalam situasi ketika satu Zona Ketersediaan gagal, Amazon EC2 Auto Scaling secara otomatis meluncurkan instance baru dalam Zona Ketersediaan yang sehat untuk menggantikan yang berada di Zona Ketersediaan yang tidak sehat. Kemudian, ketika Availability Zone yang tidak sehat kembali ke status sehat nanti, Amazon EC2 Auto Scaling secara otomatis meluncurkan instance baru di zona ini, yang pada gilirannya menghentikan instance di zona yang tidak terpengaruh. 

**catatan**  
Ketika melakukan rebalancing, Amazon EC2 Auto Scaling meluncurkan instance baru sebelum menghentikan yang lama, sehingga rebalancing tidak mengganggu kinerja atau ketersediaan aplikasi Anda.   
Karena Amazon EC2 Auto Scaling mencoba meluncurkan instans baru sebelum menghentikan instans lama, berada pada atau mendekati kapasitas maksimum yang ditentukan dapat menghambat atau sepenuhnya menghentikan aktivitas penyeimbangan kembali. Untuk menghindari masalah ini, sistem sementara dapat melebihi kapasitas maksimum yang ditentukan dari suatu kelompok dengan margin 10 persen (atau dengan margin satu contoh, mana yang lebih besar) selama aktivitas penyeimbangan kembali. Margin ditingkatkan hanya jika grup berada pada atau mendekati kapasitas maksimum dan memerlukan rebalancing, baik karena rezoning yang diminta pengguna atau untuk mengompensasi masalah ketersediaan zona. Perpanjangan hanya berlangsung selama diperlukan untuk menyeimbangkan kembali grup.

# Mengonfigurasi kebijakan penghentian untuk Amazon EC2 Auto Scaling
<a name="ec2-auto-scaling-termination-policies"></a>

Kebijakan penghentian memberikan kriteria yang diikuti oleh Amazon EC2 Auto Scaling untuk menghentikan instans dalam urutan tertentu. Secara default, Amazon EC2 Auto Scaling menggunakan kebijakan penghentian yang dirancang untuk menghentikan instans yang menggunakan konfigurasi usang terlebih dahulu. Anda dapat mengubah kebijakan penghentian untuk mengontrol instans mana yang paling penting untuk dihentikan terlebih dahulu. 

Saat Amazon EC2 Auto Scaling menghentikan instans, penskalaan akan mencoba menjaga keseimbangan di seluruh Availability Zone yang diaktifkan untuk grup Auto Scaling Anda. Menjaga keseimbangan Zonal lebih diutamakan daripada kebijakan penghentian. Jika satu Availability Zone memiliki lebih banyak instans daripada yang lain, Amazon EC2 Auto Scaling menerapkan kebijakan penghentian ke zona tidak seimbang terlebih dahulu. Jika Availability Zone seimbang, maka akan berlaku kebijakan penghentian di semua Zona.

**Topics**
+ [Cara kerja kebijakan penghentian default](#default-termination-policy)
+ [Kebijakan penghentian default dan grup instance campuran](#default-termination-policy-mixed-instances-groups)
+ [Kebijakan penghentian yang telah ditentukan](#predefined-termination-policies)
+ [Mengubah kebijakan penghentian untuk grup Auto Scaling](custom-termination-policy.md)

**catatan**  
Amazon EC2 Auto Scaling menerapkan kebijakan penghentian hanya untuk instans yang tidak dianggap tidak sehat oleh grup Auto Scaling. Akibatnya, contoh yang ditandai sebagai tidak sehat oleh pemeriksaan kesehatan Auto Scaling akan melewati evaluasi kebijakan penghentian.  
Untuk informasi selengkapnya, lihat [Rancang aplikasi Anda untuk menangani penghentian instans dengan anggun](gracefully-handle-instance-termination.md).

## Cara kerja kebijakan penghentian default
<a name="default-termination-policy"></a>

Jika Amazon EC2 Auto Scaling perlu menghentikan instans, pertama kali mengidentifikasi Availability Zone (atau Zona) mana yang memiliki instans terbanyak dan setidaknya satu instance yang tidak dilindungi dari skala masuk. Kemudian, ia melanjutkan untuk mengevaluasi instance yang tidak dilindungi dalam Availability Zone yang diidentifikasi sebagai berikut:

**Contoh yang menggunakan konfigurasi usang**
+ **Untuk grup yang menggunakan templat peluncuran — Tentukan apakah salah satu** instance menggunakan konfigurasi yang sudah ketinggalan zaman, dengan memprioritaskan dalam urutan ini:

  1. Pertama, periksa instance yang diluncurkan dengan konfigurasi peluncuran.

  1. Kemudian, periksa instance yang diluncurkan menggunakan template peluncuran yang berbeda alih-alih templat peluncuran saat ini.

  1. Terakhir, periksa instance yang menggunakan versi tertua dari template peluncuran saat ini.
+ **Untuk grup yang menggunakan konfigurasi peluncuran** — Tentukan apakah salah satu instance menggunakan konfigurasi peluncuran tertua.

Jika tidak ditemukan instans dengan konfigurasi usang, atau ada beberapa instans yang dapat dipilih, Amazon EC2 Auto Scaling mempertimbangkan kriteria instans berikutnya yang mendekati jam penagihan berikutnya. 

**Instans mendekati jam penagihan berikutnya**  
Tentukan apakah salah satu instans yang memenuhi kriteria sebelumnya paling dekat dengan jam penagihan berikutnya. Jika beberapa instance sama-sama dekat, hentikan satu secara acak. Ini membantu Anda memaksimalkan penggunaan instans Anda yang ditagih setiap jam. Namun, sebagian besar penggunaan EC2 sekarang ditagih per detik, sehingga pengoptimalan ini memberikan manfaat yang lebih sedikit. Untuk informasi selengkapnya, lihat [Harga Amazon EC2](https://aws.amazon.com/ec2/pricing/). 

Diagram alir berikut menggambarkan cara kerja kebijakan penghentian default untuk grup yang menggunakan templat peluncuran.

![\[Diagram alur yang menunjukkan cara grup Auto Scaling menggunakan kebijakan penghentian default untuk menghentikan instance.\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/termination-policy-default-flowchart-diagram.png)


## Kebijakan penghentian default dan grup instance campuran
<a name="default-termination-policy-mixed-instances-groups"></a>

Amazon EC2 Auto Scaling menerapkan kriteria tambahan saat menghentikan [instans dalam grup instans](ec2-auto-scaling-mixed-instances-groups.md) campuran. 

Jika Amazon EC2 Auto Scaling perlu menghentikan instans, pertama kali mengidentifikasi opsi pembelian (Spot atau Sesuai Permintaan) yang harus dihentikan berdasarkan pengaturan grup. Ini memastikan bahwa kelompok cenderung ke arah rasio yang ditentukan dari instans Spot dan On-Demand dari waktu ke waktu.

Ini kemudian menerapkan kebijakan penghentian secara independen dalam setiap Availability Zone. Ini menentukan Instans Spot atau Sesuai Permintaan di mana Availability Zone akan dihentikan agar Availability Zone tetap seimbang. Logika yang sama berlaku untuk grup instance campuran dengan bobot yang ditentukan untuk tipe instance. 

Dalam setiap zona, kebijakan penghentian default berfungsi sebagai berikut untuk menentukan instance yang tidak dilindungi dalam opsi pembelian yang diidentifikasi dapat dihentikan:

1. Tentukan apakah salah satu instans dapat dihentikan untuk meningkatkan keselarasan dengan [strategi alokasi](allocation-strategies.md) yang ditentukan untuk grup Auto Scaling. Jika tidak ada contoh yang diidentifikasi untuk pengoptimalan, atau ada beberapa contoh untuk dipilih, evaluasi berlanjut.

1. Tentukan apakah salah satu instance menggunakan konfigurasi yang sudah ketinggalan zaman, memprioritaskan dalam urutan ini:

   1. Pertama, periksa instance yang diluncurkan dengan konfigurasi peluncuran.

   1. Kemudian, periksa instance yang diluncurkan menggunakan template peluncuran yang berbeda alih-alih templat peluncuran saat ini.

   1. Terakhir, periksa instance yang menggunakan versi tertua dari template peluncuran saat ini.

   Jika tidak ada instance dengan konfigurasi usang yang ditemukan, atau ada beberapa instance untuk dipilih, evaluasi akan berlanjut.

1. Tentukan apakah salah satu instans paling dekat dengan jam penagihan berikutnya. Jika beberapa instance sama-sama dekat, pilih satu secara acak.

## Kebijakan penghentian yang telah ditentukan
<a name="predefined-termination-policies"></a>

Anda memilih dari kebijakan penghentian yang telah ditentukan sebelumnya berikut:
+ **`Default`**— Mengakhiri instance sesuai dengan kebijakan penghentian default.
+ **`AllocationStrategy`**— Hentikan instans dalam grup Auto Scaling untuk menyelaraskan instans yang tersisa dengan strategi alokasi untuk jenis instans yang berakhir (baik Instans Spot atau Instans Sesuai Permintaan). Kebijakan ini berguna jika jenis instance pilihan Anda telah berubah. Jika strategi alokasi Spot adalah `lowest-price`, secara bertahap Anda dapat menyeimbangkan kembali distribusi Instance Spot di seluruh kumpulan Spot dengan harga terendah di N. Jika strategi alokasi Spot adalah `capacity-optimized`, secara bertahap Anda dapat menyeimbangkan kembali distribusi Instance Spots di seluruh kumpulan Spot yang memiliki kapasitas Spot yang lebih banyak. Anda juga dapat secara bertahap mengganti Instance On-Demand dari tipe prioritas lebih rendah dengan Instance On-Demand dari tipe prioritas yang lebih tinggi.
+ **`OldestLaunchTemplate`**— Hentikan instance yang memiliki template peluncuran tertua. Dengan kebijakan ini, instance yang menggunakan templat peluncuran non-saat ini dihentikan terlebih dahulu, diikuti dengan instance yang menggunakan versi paling lama dari templat peluncuran saat ini. Kebijakan ini berguna saat Anda memperbarui sebuah grup dan menghapus instance dari konfigurasi sebelumnya.
+ **`OldestLaunchConfiguration`**— Hentikan instance yang memiliki konfigurasi peluncuran tertua. Kebijakan ini berguna saat Anda memperbarui sebuah grup dan menghapus instance dari konfigurasi sebelumnya. Dengan kebijakan ini, instance yang menggunakan konfigurasi peluncuran noncurrent akan dihentikan terlebih dahulu.
+ **`ClosestToNextInstanceHour`**— Hentikan instance yang paling dekat dengan jam penagihan berikutnya. Kebijakan ini membantu Anda memaksimalkan penggunaan instance yang memiliki biaya per jam.
+ **`NewestInstance`**— Hentikan instance terbaru dalam grup. Kebijakan ini berguna ketika Anda menguji konfigurasi peluncuran baru tetapi tidak ingin tetap membuatnya dalam produksi.
+ **`OldestInstance`**— Hentikan instance tertua dalam grup. Opsi ini berguna saat Anda memutakhirkan instance dalam grup Auto Scaling ke tipe instance EC2 baru. Anda dapat secara bertahap mengganti instance jenis lama dengan instance jenis baru.
**catatan**  
Amazon EC2 Auto Scaling selalu menyeimbangkan instance di seluruh Zona Ketersediaan terlebih dahulu, terlepas dari kebijakan penghentian mana yang digunakan. Akibatnya, Anda mungkin menghadapi situasi di mana beberapa instance yang lebih baru dihentikan sebelum instance yang lebih lama. Misalnya, ketika ada Availability Zone yang baru ditambahkan, atau ketika satu Availability Zone memiliki lebih banyak instance daripada Availability Zone lainnya yang digunakan oleh grup. 

# Mengubah kebijakan penghentian untuk grup Auto Scaling
<a name="custom-termination-policy"></a>

Untuk mengubah kebijakan penghentian grup Auto Scaling Anda, gunakan salah satu metode berikut.

------
#### [ Console ]

Anda tidak dapat mengubah kebijakan penghentian saat pertama kali membuat grup Auto Scaling di konsol Amazon EC2 Auto Scaling. Kebijakan penghentian default digunakan secara otomatis. Setelah grup Auto Scaling dibuat, Anda dapat mengganti kebijakan default dengan kebijakan penghentian yang berbeda atau beberapa kebijakan penghentian yang tercantum dalam urutan penerapannya. 

**Untuk mengubah kebijakan penghentian grup 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 **Detail**, pilih **Konfigurasi lanjutan**, **Edit**.

1. Untuk **Kebijakan penghentian**, pilih satu kebijakan penghentian atau lebih. Jika Anda memilih beberapa kebijakan, letakkan dalam urutan yang Anda inginkan untuk dievaluasi.

   Anda dapat memilih **Kebijakan penghentian kustom** secara opsional dan kemudian memilih fungsi Lambda yang memenuhi kebutuhan Anda. **Jika Anda telah membuat versi dan alias untuk fungsi Lambda Anda, Anda dapat memilih versi atau alias dari drop-down Versi/Alias.** Untuk menggunakan versi yang tidak dipublikasikan dari fungsi Lambda Anda, **tetapkan** Versi/Alias ke defaultnya. Untuk informasi selengkapnya, lihat [Buat kebijakan pengakhiran kustom dengan Lambda](lambda-custom-termination-policy.md).
**catatan**  
Saat menggunakan beberapa kebijakan, urutannya harus disetel dengan benar:  
Jika Anda menggunakan kebijakan **Default**, itu harus menjadi kebijakan terakhir dalam daftar.
Jika Anda menggunakan **kebijakan penghentian kustom**, itu harus menjadi kebijakan pertama dalam daftar.

1. Pilih **Perbarui**.

------
#### [ AWS CLI ]

Kebijakan penghentian default digunakan secara otomatis kecuali kebijakan yang berbeda ditentukan.

**Untuk mengubah kebijakan penghentian grup Auto Scaling**  
Gunakan salah satu perintah berikut:
+ [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)
+ [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)

Anda dapat menggunakan kebijakan penghentian secara individual, atau menggabungkannya ke dalam daftar kebijakan. Misalnya, gunakan perintah berikut untuk memperbarui grup Auto Scaling untuk menggunakan kebijakan `OldestLaunchConfiguration` terlebih dahulu, kemudian menggunakan kebijakan `ClosestToNextInstanceHour`.

```
aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --termination-policies "OldestLaunchConfiguration" "ClosestToNextInstanceHour"
```

Jika Anda menggunakan kebijakan penghentian `Default`, menjadikannya yang terakhir dalam daftar kebijakan penghentian. Misalnya, `--termination-policies "OldestLaunchConfiguration" "Default"`.

Untuk menggunakan kebijakan penghentian kustom, Anda harus terlebih dahulu membuat kebijakan penghentian Anda menggunakan AWS Lambda. Untuk menentukan fungsi Lambda yang akan digunakan sebagai kebijakan penghentian Anda, jadikan yang pertama dalam daftar kebijakan penghentian. Sebagai contoh, `--termination-policies "arn:aws:lambda:us-west-2:123456789012:function:HelloFunction:prod" "OldestLaunchConfiguration"`. Untuk informasi selengkapnya, lihat [Buat kebijakan pengakhiran kustom dengan Lambda](lambda-custom-termination-policy.md).

------

# Buat kebijakan pengakhiran kustom dengan Lambda
<a name="lambda-custom-termination-policy"></a>

*Amazon EC2 Auto Scaling menggunakan kebijakan penghentian untuk memprioritaskan instans mana yang akan dihentikan terlebih dahulu saat mengurangi ukuran grup Auto Scaling Anda (disebut sebagai penskalaan dalam).* Grup Auto Scaling Anda menggunakan kebijakan penghentian default, tetapi Anda dapat memilih atau membuat kebijakan penghentian sendiri secara opsional. Untuk informasi selengkapnya tentang memilih kebijakan penghentian yang telah ditentukan sebelumnya, lihat[Mengonfigurasi kebijakan penghentian untuk Amazon EC2 Auto Scaling](ec2-auto-scaling-termination-policies.md).

Dalam topik ini, Anda mempelajari cara membuat kebijakan penghentian kustom menggunakan AWS Lambda fungsi yang dipanggil Penskalaan Otomatis Amazon EC2 sebagai respons terhadap peristiwa tertentu. Fungsi Lambda yang Anda buat memproses informasi dalam data input yang dikirim oleh Amazon EC2 Auto Scaling dan menampilkan daftar instans yang siap dihentikan.

Kebijakan penghentian kustom memberikan kontrol yang lebih baik atas instance mana yang dihentikan, dan kapan. Misalnya, saat grup Auto Scaling Anda masuk, Amazon EC2 Auto Scaling tidak dapat menentukan apakah ada beban kerja yang berjalan yang tidak boleh terganggu. Dengan fungsi Lambda, Anda dapat memvalidasi permintaan penghentian dan menunggu hingga beban kerja selesai sebelum mengembalikan ID instans ke Amazon EC2 Auto Scaling untuk penghentian. 

**Topics**
+ [Data input](#lambda-custom-termination-policy-input-data)
+ [Data respons](#lambda-custom-termination-policy-response-data)
+ [Pertimbangan-pertimbangan](#lambda-termination-policy-considerations)
+ [Buat fungsi Lambda](#lambda-custom-termination-policy-create-function)
+ [Batasan](#lambda-custom-termination-policy-limitations)

## Data input
<a name="lambda-custom-termination-policy-input-data"></a>

Amazon EC2 Auto Scaling menghasilkan payload JSON untuk skala dalam peristiwa, dan juga melakukannya saat instance akan dihentikan sebagai akibat dari masa pakai instans maksimum atau fitur penyegaran instans. Ini juga menghasilkan payload JSON untuk skala dalam peristiwa yang dapat dimulai saat menyeimbangkan kembali grup Anda di seluruh Availability Zone.

Payload ini berisi informasi tentang kapasitas yang diperlukan Amazon EC2 Auto Scaling untuk dihentikan, daftar instans yang disarankan untuk penghentian, dan peristiwa yang memulai penghentian. 

Berikut ini adalah contoh payload:

```
{
  "AutoScalingGroupARN": "arn:aws:autoscaling:us-east-1:<account-id>:autoScalingGroup:d4738357-2d40-4038-ae7e-b00ae0227003:autoScalingGroupName/my-asg",
  "AutoScalingGroupName": "my-asg",
  "CapacityToTerminate": [
    {
      "AvailabilityZone": "us-east-1b",
      "Capacity": 2,
      "InstanceMarketOption": "on-demand"
    },
    {
      "AvailabilityZone": "us-east-1b",
      "Capacity": 1,
      "InstanceMarketOption": "spot"
    },
    {
      "AvailabilityZone": "us-east-1c",
      "Capacity": 3,
      "InstanceMarketOption": "on-demand"
    }
  ],
  "Instances": [
    {
      "AvailabilityZone": "us-east-1b",
      "InstanceId": "i-0056faf8da3e1f75d",
      "InstanceType": "t2.nano",
      "InstanceMarketOption": "on-demand"
    },
    {
      "AvailabilityZone": "us-east-1c",
      "InstanceId": "i-02e1c69383a3ed501",
      "InstanceType": "t2.nano",
      "InstanceMarketOption": "on-demand"
    },
    {
      "AvailabilityZone": "us-east-1c",
      "InstanceId": "i-036bc44b6092c01c7",
      "InstanceType": "t2.nano",
      "InstanceMarketOption": "on-demand"
    },
    ...
  ],
  "Cause": "SCALE_IN"
}
```

Payload termasuk nama grup Auto Scaling, Amazon Resource Name (ARN), dan elemen-elemen berikut:
+ `CapacityToTerminate`menjelaskan berapa banyak kapasitas Spot atau Sesuai Permintaan Anda yang ditetapkan untuk dihentikan di Availability Zone tertentu. 
+ `Instances`mewakili instans yang disarankan oleh Amazon EC2 Auto Scaling untuk penghentian berdasarkan informasi di. `CapacityToTerminate` 
+ `Cause`menjelaskan peristiwa yang menyebabkan penghentian:`SCALE_IN`,`INSTANCE_REFRESH`,`MAX_INSTANCE_LIFETIME`, atau`REBALANCE`. 

Informasi berikut menguraikan faktor paling signifikan dalam cara Amazon EC2 Auto Scaling menghasilkan `Instances` data input:
+ Menjaga keseimbangan di seluruh Availability Zones diutamakan saat instance dihentikan karena skala dalam peristiwa dan penghentian berbasis penyegaran instance. Oleh karena itu, jika satu Availability Zone memiliki lebih banyak instance daripada Availability Zone lainnya yang digunakan oleh grup, data input berisi instance yang memenuhi syarat untuk penghentian hanya dari Availability Zone yang tidak seimbang. Jika Availability Zone yang digunakan oleh grup seimbang, data input berisi instance dari semua Availability Zone untuk grup. 
+ Saat menggunakan [kebijakan instance campuran](ec2-auto-scaling-mixed-instances-groups.md), menjaga keseimbangan kapasitas Spot dan On-Demand Anda berdasarkan persentase yang Anda inginkan untuk setiap opsi pembelian juga diutamakan. Kami pertama-tama mengidentifikasi mana dari dua jenis (Spot atau On-Demand) yang harus dihentikan. Kami kemudian mengidentifikasi instance mana (dalam opsi pembelian yang diidentifikasi) di Zona Ketersediaan mana yang dapat kami hentikan yang akan menghasilkan Availability Zone yang paling seimbang. 

## Data respons
<a name="lambda-custom-termination-policy-response-data"></a>

Data input dan data respons bekerja sama untuk mempersempit daftar instance yang akan dihentikan. 

Dengan input yang diberikan, respons dari fungsi Lambda Anda akan terlihat seperti contoh berikut:

```
{
  "InstanceIDs": [
    "i-02e1c69383a3ed501",
    "i-036bc44b6092c01c7",
    ...
  ]
}
```

`InstanceIDs`Dalam respon mewakili contoh yang siap untuk dihentikan. 

Atau, Anda dapat mengembalikan serangkaian instance berbeda yang siap untuk dihentikan, yang mengesampingkan instance dalam data input. Jika tidak ada instance yang siap dihentikan saat fungsi Lambda Anda dipanggil, Anda juga dapat memilih untuk tidak mengembalikan instance apa pun.

Ketika tidak ada instance yang siap untuk dihentikan, respons dari fungsi Lambda Anda akan terlihat seperti contoh berikut:

```
{
  "InstanceIDs": [ ]
}
```

## Pertimbangan-pertimbangan
<a name="lambda-termination-policy-considerations"></a>

Perhatikan pertimbangan berikut saat menggunakan kebijakan penghentian kustom:
+ Mengembalikan instance terlebih dahulu dalam data respons tidak menjamin penghentiannya. Jika lebih dari jumlah instans yang diperlukan dikembalikan saat fungsi Lambda Anda dipanggil, Amazon EC2 Auto Scaling mengevaluasi setiap instance terhadap kebijakan penghentian lain yang Anda tentukan untuk grup Auto Scaling Anda. Ketika ada beberapa kebijakan penghentian, ia mencoba menerapkan kebijakan penghentian berikutnya dalam daftar, dan jika ada lebih banyak contoh daripada yang diperlukan untuk mengakhiri, itu beralih ke kebijakan penghentian berikutnya, dan seterusnya. Jika tidak ada kebijakan penghentian lain yang ditentukan, maka kebijakan penghentian default digunakan untuk menentukan instance mana yang akan dihentikan.
+ Jika tidak ada instance yang dikembalikan atau fungsi Lambda Anda habis, maka Amazon EC2 Auto Scaling menunggu beberapa saat sebelum menjalankan fungsi Anda lagi. Untuk skala apa pun, ia terus berusaha selama kapasitas yang diinginkan grup kurang dari kapasitas saat ini. Misalnya penghentian berbasis refresh, ia terus mencoba selama satu jam. Setelah itu, jika terus gagal untuk menghentikan instance apa pun, operasi penyegaran instance gagal. Dengan masa pakai instans maksimum, Amazon EC2 Auto Scaling terus mencoba menghentikan instans yang diidentifikasi melebihi masa pakai maksimumnya. 
+ Karena fungsi Anda dicoba berulang kali, pastikan untuk menguji dan memperbaiki kesalahan permanen apa pun dalam kode Anda sebelum menggunakan fungsi Lambda sebagai kebijakan penghentian kustom.
+ Jika Anda mengganti data input dengan daftar instans Anda sendiri untuk dihentikan, dan menghentikan instans ini akan membuat Availability Zone tidak seimbang, Amazon EC2 Auto Scaling secara bertahap menyeimbangkan kembali distribusi kapasitas di seluruh Availability Zone. Pertama, ini memanggil fungsi Lambda Anda untuk melihat apakah ada instance yang siap dihentikan sehingga dapat menentukan apakah akan mulai menyeimbangkan kembali. Jika ada instance yang siap dihentikan, itu meluncurkan instance baru terlebih dahulu. Ketika instance selesai diluncurkan, ia kemudian mendeteksi bahwa kapasitas grup Anda saat ini lebih tinggi dari kapasitas yang diinginkan dan memulai skala dalam acara.
+ Kebijakan penghentian kustom tidak memengaruhi kemampuan Anda untuk juga menggunakan skala dalam perlindungan untuk melindungi instans tertentu agar tidak dihentikan. Untuk informasi selengkapnya, lihat [Gunakan perlindungan skala dalam instance untuk mengontrol penghentian instans](ec2-auto-scaling-instance-protection.md).
+ Jika fungsi Lambda Anda tidak mengembalikan instance, ini tidak secara otomatis mencegah semua penghentian. Amazon EC2 Auto Scaling masih akan menghentikan instans yang dianggap tidak sehat oleh pemeriksaan kesehatan Auto Scaling, terlepas dari kebijakan penghentian.

## Buat fungsi Lambda
<a name="lambda-custom-termination-policy-create-function"></a>

Mulailah dengan membuat fungsi Lambda, sehingga Anda dapat menentukan Nama Sumber Daya Amazon (ARN) dalam kebijakan penghentian untuk grup Auto Scaling Anda.

**Untuk membuat fungsi Lambda (konsol)**

1. Buka [halaman Fungsi](https://console.aws.amazon.com/lambda/home#/functions) di konsol Lambda.

1. Pada bilah navigasi di bagian atas layar, pilih Wilayah yang sama dengan yang Anda gunakan saat membuat grup Auto Scaling. 

1. Pilih **Create function**, **Author dari awal**.

1. Di bawah **Informasi dasar**, untuk **nama Fungsi**, masukkan nama fungsi Anda.

1. Pilih **Buat fungsi**. Anda dikembalikan ke kode dan konfigurasi fungsi. 

1. Dengan fungsi Anda masih terbuka di konsol, di bawah **Kode fungsi**, tempelkan kode Anda ke editor.

1. Pilih **Deploy**. 

1. **Secara opsional, buat versi yang diterbitkan dari fungsi Lambda dengan memilih tab Versi dan **kemudian Publikasikan** versi baru.** *Untuk mempelajari lebih lanjut tentang pembuatan versi di Lambda, lihat Versi [fungsi Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html) di Panduan Pengembang.AWS Lambda *

1. Jika Anda memilih untuk menerbitkan versi, pilih tab **Alias** jika Anda ingin mengaitkan alias dengan versi fungsi Lambda ini. *Untuk mempelajari lebih lanjut tentang alias di Lambda, lihat Alias [fungsi Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) di Panduan Pengembang AWS Lambda *

1. Selanjutnya, pilih tab **Konfigurasi** dan kemudian **Izin**. 

1. **Gulir ke bawah ke **kebijakan berbasis sumber daya**, lalu pilih Tambahkan izin.** Kebijakan berbasis sumber daya digunakan untuk memberikan izin untuk menjalankan fungsi Anda ke prinsipal yang ditentukan dalam kebijakan. Dalam hal ini, prinsipnya adalah peran terkait layanan [Amazon EC2 Auto Scaling yang](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-service-linked-role.html) terkait dengan grup Auto Scaling.

1. Di bagian **Pernyataan kebijakan**, konfigurasikan izin Anda: 

   1. Pilih **Akun AWS**.

   1. Untuk **Principal**, masukkan ARN dari peran terkait layanan panggilan, misalnya,. **arn:aws:iam::<aws-account-id>:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling**

   1. Untuk **Tindakan**, pilih **lambda: InvokeFunction**.

   1. Untuk **ID Pernyataan**, masukkan ID pernyataan unik, seperti**AllowInvokeByAutoScaling**.

   1. Pilih **Simpan**. 

1. Setelah Anda mengikuti petunjuk ini, lanjutkan untuk menentukan ARN fungsi Anda dalam kebijakan penghentian untuk grup Auto Scaling Anda sebagai langkah berikutnya. Untuk informasi selengkapnya, lihat [Mengubah kebijakan penghentian untuk grup Auto Scaling](custom-termination-policy.md). 

**catatan**  
Untuk contoh yang dapat Anda gunakan sebagai referensi untuk mengembangkan fungsi Lambda, lihat [GitHub repositori](https://github.com/aws-samples/amazon-ec2-auto-scaling-group-examples) untuk Amazon EC2 Auto Scaling.

## Batasan
<a name="lambda-custom-termination-policy-limitations"></a>
+ Anda hanya dapat menentukan satu fungsi Lambda dalam kebijakan penghentian untuk grup Auto Scaling. Jika ada beberapa kebijakan penghentian yang ditentukan, fungsi Lambda harus ditentukan terlebih dahulu.
+ Anda dapat mereferensikan fungsi Lambda Anda menggunakan ARN yang tidak memenuhi syarat (tanpa akhiran) atau ARN yang memenuhi syarat yang memiliki versi atau alias sebagai sufiksnya. Jika ARN yang tidak memenuhi syarat digunakan (misalnya`function:my-function`,), kebijakan berbasis sumber daya Anda harus dibuat pada versi fungsi Anda yang tidak dipublikasikan. Jika ARN yang memenuhi syarat digunakan (misalnya, `function:my-function:1` atau`function:my-function:prod`), kebijakan berbasis sumber daya Anda harus dibuat pada versi spesifik yang diterbitkan dari fungsi Anda.
+ Anda tidak dapat menggunakan ARN yang memenuhi syarat dengan akhiran. `$LATEST` Jika Anda mencoba menambahkan kebijakan penghentian kustom yang mengacu pada ARN yang memenuhi syarat dengan `$LATEST` akhiran, itu akan mengakibatkan kesalahan.
+ Jumlah instans yang disediakan dalam data input dibatasi hingga 30.000 instance. Jika ada lebih dari 30.000 instance yang dapat dihentikan, data input termasuk `"HasMoreInstances": true` untuk menunjukkan bahwa jumlah maksimum instance dikembalikan. 
+ Waktu berjalan maksimum untuk fungsi Lambda Anda adalah dua detik (2000 milidetik). Sebagai praktik terbaik, Anda harus menetapkan nilai batas waktu fungsi Lambda Anda berdasarkan waktu berjalan yang Anda harapkan. Fungsi Lambda memiliki batas waktu default tiga detik, tetapi ini dapat dikurangi. 
+ Jika runtime Anda melebihi batas 2 detik, skala apa pun yang sedang beraksi akan ditahan hingga runtime turun di bawah ambang batas ini. Untuk fungsi Lambda dengan runtime yang lebih lama secara konsisten, temukan cara untuk mengurangi runtime, seperti dengan menyimpan hasil di mana mereka dapat diambil selama pemanggilan Lambda berikutnya.
+ Fungsi Lambda lintas akun tidak didukung. Fungsi Lambda yang digunakan sebagai kebijakan penghentian kustom harus Akun AWS sama dengan grup Auto Scaling. Petunjuk penyiapan di halaman ini secara khusus berfokus pada konfigurasi akun yang sama.
+ Kebijakan penghentian kustom tidak berlaku untuk kasus yang tidak sehat. Instance yang tidak sehat selalu dianggap memenuhi syarat untuk penghentian, dan fungsi Lambda hanya mengevaluasi urutan penghentian untuk instance yang tersisa.

# Gunakan perlindungan skala dalam instance untuk mengontrol penghentian instans
<a name="ec2-auto-scaling-instance-protection"></a>

Perlindungan penskalaan instans memberi Anda kontrol atas instans mana yang dapat dihentikan oleh Penskalaan Otomatis Amazon EC2. Kasus penggunaan umum untuk fitur ini adalah penskalaan beban kerja berbasis container. Untuk informasi selengkapnya, lihat [Rancang aplikasi Anda untuk menangani penghentian instans dengan anggun](gracefully-handle-instance-termination.md).

Secara default, perlindungan penskalaan instance dinonaktifkan saat Anda membuat grup Auto Scaling. Ini berarti bahwa Amazon EC2 Auto Scaling dapat menghentikan instans apa pun dalam grup.

Anda dapat melindungi instans segera setelah diluncurkan dengan mengaktifkan setelan perlindungan penskalaan instans pada grup Auto Scaling Anda. Perlindungan skala dalam instance dimulai saat status instance. `InService` Kemudian, untuk mengontrol instance mana yang dapat dihentikan, nonaktifkan pengaturan perlindungan skala pada instance individual dalam grup Auto Scaling. Dengan demikian, Anda dapat terus melindungi instance tertentu dari penghentian yang tidak diinginkan. 

**Topics**
+ [Pertimbangan-pertimbangan](#instance-protection-considerations)
+ [Ubah perlindungan scale-in untuk grup Auto Scaling](#instance-protection-group)
+ [Ubah perlindungan scale-in untuk sebuah instance](#instance-protection-instance)

## Pertimbangan-pertimbangan
<a name="instance-protection-considerations"></a>

Berikut ini adalah pertimbangan saat menggunakan perlindungan skala dalam instance:
+ Jika semua instance dalam grup Auto Scaling dilindungi dari skala masuk, dan skala jika terjadi, kapasitas yang diinginkan akan berkurang. Namun, grup Auto Scaling tidak dapat menghentikan jumlah instans yang diperlukan hingga skala instans mereka dalam pengaturan perlindungan dinonaktifkan. Dalam Konsol Manajemen AWS, **riwayat Aktivitas** untuk grup Auto Scaling menyertakan pesan berikut jika semua instance dalam grup Auto Scaling dilindungi dari skala saat terjadi skala: `Could not scale to desired capacity because all remaining instances are protected from scale in.`
+ Jika Anda melepaskan instance yang dilindungi dari skala, skala instance-nya dalam pengaturan perlindungan akan hilang. Ketika Anda melampirkan instance ke grup lagi, itu mewarisi skala instance saat ini dalam pengaturan perlindungan grup. Saat Amazon EC2 Auto Scaling meluncurkan instans baru atau memindahkan instance dari kolam hangat ke grup Auto Scaling, instance mewarisi skala instans dalam pengaturan perlindungan grup Auto Scaling. 
+ Perlindungan penurunan skala instance tidak melindungi instance Auto Scaling dari hal berikut:
  + Pemeriksaan kesehatan pengganti jika instance gagal dalam pemeriksaan kesehatan. Untuk informasi selengkapnya, lihat [Pemeriksaan kondisi untuk instans dalam grup Auto Scaling](ec2-auto-scaling-health-checks.md).
  + Temukan gangguan Instance. Instance Spot dihentikan saat kapasitas tidak lagi tersedia atau harga Spot melebihi harga maksimum Anda. 
  + Reservasi Blok Kapasitas berakhir. Amazon EC2 merebut kembali instans Blok Kapasitas meskipun dilindungi dari skala masuk.
  + Pengakhiran manual melalui `terminate-instance-in-auto-scaling-group` perintah. Untuk informasi selengkapnya, lihat [Mengakhiri instance di grup Auto Scaling ()AWS CLI](ec2-auto-scaling-scaling-manually.md#terminate-an-instance-aws-cli).
  + Penghentian manual melalui konsol Amazon EC2, perintah CLI, dan operasi API. Untuk melindungi instance Auto Scaling dari penghentian manual, aktifkan perlindungan penghentian Amazon EC2. (Ini tidak mencegah Amazon EC2 Auto Scaling menghentikan instans atau penghentian manual melalui perintah.) `terminate-instance-in-auto-scaling-group` Untuk informasi tentang mengaktifkan perlindungan penghentian Amazon EC2 di templat peluncuran, lihat. [Buat template peluncuran menggunakan pengaturan lanjutan](advanced-settings-for-your-launch-template.md)

## Ubah perlindungan scale-in untuk grup Auto Scaling
<a name="instance-protection-group"></a>

Anda dapat mengaktifkan atau menonaktifkan pengaturan perlindungan penurunan skala instance untuk grup Auto Scaling. Saat Anda mengaktifkannya, semua instance baru yang diluncurkan oleh grup akan mengaktifkan perlindungan skala masuk instance.

Mengaktifkan atau menonaktifkan setelan ini untuk grup Auto Scaling tidak memengaruhi instans yang ada.

------
#### [ Console ]

**Untuk mengaktifkan perlindungan scale-in untuk grup Auto Scaling baru**  
Saat Anda membuat grup Auto Scaling, pada halaman **Konfigurasi ukuran grup dan kebijakan penskalaan, di bawah Perlindungan penskalaan** **instans, pilih kotak centang Aktifkan perlindungan skala masuk** **instans**.

**Untuk mengaktifkan atau menonaktifkan perlindungan skala dalam untuk grup yang ada**

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 **Detail**, pilih **Konfigurasi lanjutan**, **Edit**.

1. Untuk **perlindungan skala masuk Instance**, pilih atau kosongkan kotak centang **Aktifkan perlindungan skala instance** untuk mengaktifkan atau menonaktifkan opsi ini sesuai kebutuhan.

1. Pilih **Perbarui**.

------
#### [ AWS CLI ]

**Untuk mengaktifkan perlindungan scale-in untuk grup Auto Scaling baru**  
Gunakan perintah [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) berikut ini untuk mengaktifkan perlindungan penurunan skala instance.

```
aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --new-instances-protected-from-scale-in ...
```

**Untuk mengaktifkan perlindungan scale-in untuk grup yang ada**  
Gunakan perintah [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) berikut ini untuk mengaktifkan perlindungan penurunan skala untuk grup Auto Scaling yang ditentukan.

```
aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --new-instances-protected-from-scale-in
```

**Untuk menonaktifkan perlindungan scale-in untuk grup yang ada**  
Gunakan perintah berikut untuk menonaktifkan perlindungan penurunan skala untuk grup tertentu.

```
aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --no-new-instances-protected-from-scale-in
```

------

## Ubah perlindungan scale-in untuk sebuah instance
<a name="instance-protection-instance"></a>

Secara default, sebuah instance mendapatkan pengaturan perlindungan penurunan skala dari grup Auto Scaling. Namun, Anda dapat mengaktifkan atau menonaktifkan perlindungan skala masuk instans untuk setiap instance setelah diluncurkan.

------
#### [ Console ]

**Untuk mengaktifkan atau menonaktifkan perlindungan skala dalam sebuah instance**

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 **Manajemen Instance**, di **Instance**, pilih satu instance.

1. Untuk mengaktifkan perlindungan penurunan skala, pilih **Tindakan**, **Atur perlindungan penurunan skala**. Saat diminta, pilih **Atur perlindungan penurunan skala**.

1. Untuk menonaktifkan perlindungan skala instance, pilih **Tindakan**, **Hapus perlindungan penurunan skala**. Saat diminta, pilih **Hapus perlindungan penurunan skala**.

------
#### [ AWS CLI ]

**Untuk mengaktifkan perlindungan scale-in untuk sebuah instance**  
Gunakan perintah [set-instance-protection](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/set-instance-protection.html) berikut ini untuk mengaktifkan perlindungan penurunan skala instance untuk instance tertentu.

```
aws autoscaling set-instance-protection --instance-ids i-5f2e8a0d --auto-scaling-group-name my-asg --protected-from-scale-in
```

**Untuk menonaktifkan perlindungan skala dalam untuk sebuah instance**  
Gunakan perintah berikut ini untuk menonaktifkan perlindungan penurunan skala instance untuk instance tertentu.

```
aws autoscaling set-instance-protection --instance-ids i-5f2e8a0d --auto-scaling-group-name my-asg --no-protected-from-scale-in
```

------

**catatan**  
Ingat, perlindungan penskalaan instans tidak menjamin bahwa instans tidak akan dihentikan jika terjadi kesalahan manusia—misalnya, jika seseorang menghentikan instans secara manual menggunakan konsol Amazon EC2 atau. AWS CLI Untuk melindungi instans Anda dari penghentian yang tidak disengaja, Anda dapat menggunakan perlindungan penghentian Amazon EC2. Namun, bahkan dengan perlindungan terminasi dan perlindungan skala masuk instance diaktifkan, data yang disimpan ke penyimpanan instance dapat hilang jika pemeriksaan kesehatan menentukan bahwa suatu instance tidak sehat atau jika grup itu sendiri secara tidak sengaja dihapus. Seperti halnya lingkungan apa pun, praktik terbaik adalah sering mencadangkan data Anda, atau kapan pun sesuai dengan persyaratan kelangsungan bisnis Anda. 

# Rancang aplikasi Anda untuk menangani penghentian instans dengan anggun
<a name="gracefully-handle-instance-termination"></a>

 Topik ini menjelaskan fitur yang dapat Anda gunakan untuk mencegah grup Penskalaan Otomatis Amazon EC2 Anda menghentikan instans Amazon EC2 yang belum siap untuk dihentikan. Secara default, Auto Scaling tidak memiliki visibilitas ke dalam aplikasi yang berjalan pada instans Anda. Ini dapat menghentikan instance sebelum aplikasi Anda dapat dengan anggun mematikan atau menyelesaikan pekerjaan yang ditugaskan. Fitur-fitur ini memberi waktu aplikasi Anda untuk menyelesaikan pekerjaan yang sedang berlangsung, mentransfer status, atau melakukan pembersihan sebelum penghentian instans. Anda dapat menggunakannya secara individual atau dalam kombinasi tergantung pada kebutuhan aplikasi Anda. 

 Fitur-fitur ini sangat berguna untuk beban kerja stateful, di mana setiap instance di armada Anda menyimpan data, pekerjaan, atau status yang berbeda dari instance lainnya. Mengakhiri instans stateful tanpa shutdown yang anggun dapat mengakibatkan pekerjaan berjalan lama dimulai ulang dari awal, mengurangi redundansi data atau kehilangan data, dan mengganggu transaksi atau perhitungan yang sedang berlangsung. Untuk mematikan instance stateful dengan anggun, beban kerjanya harus dikeringkan (menyelesaikan semua pekerjaan yang saat ini ditugaskan) atau ditransfer (memindahkan pekerjaan, data, atau konfigurasi ke instance aktif lainnya). 

**Topics**
+ [Kait siklus hidup penghentian](#gracefully-handle-instance-termination-lifecycle-hooks)
+ [Proteksi penurunan skala instance](#gracefully-handle-instance-termination-scale-in-protection)
+ [Kebijakan penghentian kustom](#gracefully-handle-instance-termination-custom-termination-policy)
+ [Kebijakan siklus hidup instans](#gracefully-handle-instance-termination-instance-lifecycle-policy)
+ [Tangguhkan penghentian sama sekali](#gracefully-handle-instance-termination-suspend-terminate)
+ [Batasan](#gracefully-handle-instance-termination-limitations)
+ [Contoh alur perencanaan](#gracefully-handle-instance-termination-examples)

## Kait siklus hidup penghentian
<a name="gracefully-handle-instance-termination-lifecycle-hooks"></a>

 Pengait siklus hidup penghentian memperpanjang masa pakai instans Amazon EC2 Anda yang telah dipilih untuk penghentian. Ini memberikan waktu ekstra untuk menyelesaikan pekerjaan dalam proses yang saat ini ditugaskan ke instance, atau untuk menyimpan kemajuan dan mentransfer pekerjaan ke instance lain. 

 Untuk banyak beban kerja, pengait siklus hidup penghentian mungkin cukup untuk mematikan aplikasi dengan anggun pada instance yang dipilih untuk penghentian. Ini adalah pendekatan upaya terbaik dan tidak dapat digunakan untuk mencegah penghentian jika tindakan siklus hidup penghentian ditinggalkan. Jika beban kerja Anda memiliki toleransi yang rendah terhadap kegagalan tindakan siklus hidup penghentian, konfigurasikan [kebijakan siklus hidup instans yang dikombinasikan dengan kait siklus hidup](https://docs.aws.amazon.com/autoscaling/ec2/userguide/instance-lifecycle-policy.html) penghentian untuk mempertahankan instans. 

 Untuk menggunakan hook siklus hidup terminasi, Anda perlu tahu kapan instance dipilih untuk penghentian. Anda memiliki dua cara untuk mengetahui hal ini: 


| Opsi | Deskripsi | Paling baik digunakan untuk | Tautan ke dokumentasi | 
| --- | --- | --- | --- | 
| Di dalam instance |  Layanan Metadata Instance (IMDS) adalah titik akhir aman yang dapat Anda polling untuk status instance langsung dari instance. Jika metadata kembali denganTerminated, maka instance Anda dijadwalkan untuk dihentikan.  |  Aplikasi di mana Anda harus melakukan tindakan pada instance sebelum instance dihentikan.  |  [Mengambil status siklus hidup target](https://docs.aws.amazon.com/autoscaling/ec2/userguide/retrieving-target-lifecycle-state-through-imds.html)  | 
| Di luar contoh |  Ketika sebuah instance berakhir, pemberitahuan acara dihasilkan. Anda dapat membuat aturan menggunakan Amazon EventBridge, Amazon SQS, Amazon SNS, AWS Lambda atau untuk menangkap peristiwa ini, dan memanggil respons seperti dengan fungsi Lambda.  |  Aplikasi yang perlu mengambil tindakan di luar instance.  |  [Konfigurasikan target notifikasi](https://docs.aws.amazon.com/autoscaling/ec2/userguide/prepare-for-lifecycle-notifications.html#lifecycle-hook-notification-target)  | 

 Untuk menggunakan kait siklus hidup, Anda juga perlu tahu kapan instance Anda siap untuk dihentikan sepenuhnya. Amazon EC2 Auto Scaling tidak akan menghentikan instans sampai [ CompleteLifecycleAction](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CompleteLifecycleAction.html)menerima panggilan API atau batas waktu berlalu, mana saja yang terjadi lebih dulu. 

 Secara default, sebuah instance dapat terus berjalan selama satu jam (batas waktu detak jantung) karena pengait siklus hidup penghentian. Anda dapat mengonfigurasi batas waktu default jika satu jam tidak cukup waktu untuk menyelesaikan tindakan siklus hidup. Saat tindakan siklus hidup sedang berlangsung, Anda dapat memperpanjang batas waktu dengan [ RecordLifecycleActionHeartbeat](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_RecordLifecycleActionHeartbeat.html)panggilan API. 

 Untuk informasi selengkapnya, lihat [Hook siklus aktif Amazon EC2 Auto Scaling](lifecycle-hooks.md). 

## Proteksi penurunan skala instance
<a name="gracefully-handle-instance-termination-scale-in-protection"></a>

 Anda dapat menggunakan perlindungan skala dalam instance untuk mengontrol instance mana yang dipilih untuk penghentian selama peristiwa scale-in, terutama untuk mencegah instance yang secara aktif memproses pekerjaan yang berjalan lama agar tidak dihentikan. Misalnya, saat menjalankan beban kerja kontainer, biasanya ingin melindungi semua instance dan menghapus perlindungan hanya untuk instance tanpa tugas saat ini atau yang dijadwalkan. Instans dapat melanjutkan pemungutan suara untuk pekerjaan baru dan mengaktifkan kembali perlindungan ketika ada pekerjaan baru yang ditugaskan. 

 Anda dapat mengaktifkan perlindungan scale-in di tingkat grup Auto Scaling dan tingkat instans. Saat Anda mengaktifkan perlindungan scale-in di tingkat grup Auto Scaling, hanya instance baru yang dilindungi saat dibuat. Untuk contoh yang ada, Anda dapat mengaktifkan perlindungan satu per satu. 

 Aplikasi dapat mengatur perlindungan baik dari instance itu sendiri, atau dari bidang kontrol terpusat yang mengelola apakah setiap instance dapat dihentikan. Kami merekomendasikan pendekatan terpusat untuk armada besar atau ketika perlindungan perlu sering diaktifkan, karena memungkinkan Anda untuk melakukan panggilan batch [ SetInstanceProtection](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_SetInstanceProtection.html)dan menghindari masalah pelambatan API. 

 Untuk informasi selengkapnya, lihat [Gunakan perlindungan skala dalam instance untuk mengontrol penghentian instans](ec2-auto-scaling-instance-protection.md). 

## Kebijakan penghentian kustom
<a name="gracefully-handle-instance-termination-custom-termination-policy"></a>

 Seperti perlindungan penskalaan instans, kebijakan penghentian khusus membantu Anda mencegah grup Penskalaan Otomatis Amazon EC2 menghentikan instans EC2 tertentu. Instance yang tidak sehat masih dapat dihentikan terlepas dari kebijakan penghentian kustom Anda. 

 Grup Auto Scaling Anda menggunakan kebijakan penghentian default untuk menentukan instans Amazon EC2 yang dihentikan terlebih dahulu. Jika ingin lebih mengontrol instance mana yang dihentikan terlebih dahulu, Anda dapat menerapkan kebijakan penghentian kustom menggunakan fungsi Lambda. Auto Scaling memanggil fungsi ini setiap kali perlu memilih instance untuk penghentian, dan hanya akan menghentikan instance yang dikembalikan fungsi tersebut. Jika fungsi kesalahan, waktu habis, atau mengembalikan daftar kosong, Auto Scaling tidak menghentikan instance apa pun kecuali instans tidak sehat. 

 Kebijakan penghentian kustom berguna ketika aplikasi Anda dapat mengidentifikasi instance mana yang tidak digunakan atau aman untuk dihentikan. Ini biasanya membutuhkan bidang kontrol yang melacak beban kerja di seluruh grup. 

 Untuk informasi selengkapnya, lihat [Buat kebijakan pengakhiran kustom dengan Lambda](lambda-custom-termination-policy.md). 

## Kebijakan siklus hidup instans
<a name="gracefully-handle-instance-termination-instance-lifecycle-policy"></a>

 Kebijakan siklus hidup instans memberikan perlindungan terhadap penghentian Amazon EC2 Auto Scaling saat tindakan siklus hidup penghentian ditinggalkan. Tidak seperti kait siklus hidup saja, kebijakan siklus hidup instance dirancang untuk memastikan bahwa instance berpindah ke status tertahan saat prosedur shutdown yang anggun tidak berhasil diselesaikan. 

 Saat Auto Scaling memilih instans untuk penghentian, kait siklus hidup penghentian yang dikonfigurasi akan dipanggil dan aplikasi Anda memulai prosedur shutdown yang anggun. Jika tindakan siklus hidup penghentian berhasil diselesaikan`CONTINUE`, instance akan berakhir secara normal. Namun, jika tindakan siklus hidup penghentian ditinggalkan karena alasan apa pun, kebijakan siklus hidup instance memindahkan instance ke status yang dipertahankan daripada menghentikannya. Instans yang dipertahankan tidak dihitung dalam kapasitas yang diinginkan grup Auto Scaling Anda, sehingga instans pengganti diluncurkan secara otomatis. Anda akan dikenakan biaya Amazon EC2 standar untuk instans yang dipertahankan dan penggantinya hingga Anda menghentikan instans yang dipertahankan secara manual menggunakan API. [ TerminateInstanceInAutoScalingGroup](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_TerminateInstanceInAutoScalingGroup.html) 

 Untuk menggunakan fitur ini, Anda harus mengonfigurasi kebijakan siklus hidup instance dengan pemicu `TerminateHookAbandon` retensi yang disetel ke`retain`, serta setidaknya satu kait siklus hidup penghentian. Karena instans yang dipertahankan menimbulkan biaya Amazon EC2 yang sedang berlangsung dan memerlukan tindakan manual, pemantauan sangat penting. Anda harus mengaktifkan CloudWatch metrik seperti `GroupTerminatingRetainedInstances` dan membuat CloudWatch alarm untuk mengingatkan Anda ketika instance memasuki status tertahan. 

 Untuk informasi selengkapnya, lihat [Kontrol retensi instance dengan kebijakan siklus hidup instance](instance-lifecycle-policy.md). 

## Tangguhkan penghentian sama sekali
<a name="gracefully-handle-instance-termination-suspend-terminate"></a>

 Jika Anda memerlukan kontrol penuh atas semua penghentian instans EC2 dalam grup Penskalaan Otomatis Amazon EC2, tangguhkan prosesnya. `Terminate` Kami hanya merekomendasikan menggunakan opsi ini jika opsi di atas tidak menawarkan kontrol yang Anda butuhkan untuk layanan Anda. Dengan menelepon [ SuspendProcesses](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_SuspendProcesses.html)untuk menangguhkan `Terminate` proses, Anda mencegah Auto Scaling mencoba penghentian karena alasan apa pun, kecuali yang diprakarsai oleh permintaan pengguna ke API. [ TerminateInstanceInAutoScalingGroup](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_TerminateInstanceInAutoScalingGroup.html) 

 Untuk informasi selengkapnya, lihat [Menangguhkan dan melanjutkan proses Penskalaan Otomatis Amazon EC2](as-suspend-resume-processes.md). 

## Batasan
<a name="gracefully-handle-instance-termination-limitations"></a>

**penting**  
 Saat mendesain aplikasi Anda di Amazon EC2 Auto Scaling untuk menangani penghentian instans dengan anggun, ingatlah batasan berikut. 

### Contoh yang tidak sehat melewati beberapa perlindungan
<a name="gracefully-handle-instance-termination-unhealthy-bypass"></a>

 Jika instans tidak sehat, Amazon EC2 Auto Scaling akan mulai menghentikannya meskipun Anda memiliki kebijakan penghentian khusus atau perlindungan penskalaan. Satu-satunya cara untuk mencegah penggantian instance yang tidak sehat dengan Auto Scaling adalah dengan menangguhkan`ReplaceUnhealthy`,, atau `HealthCheck` proses. `Terminate` Anda dapat menggunakan kait siklus hidup dan kebijakan siklus hidup instance untuk memungkinkan aplikasi dimatikan dengan baik atau menyalin data apa pun yang perlu Anda pulihkan sebelum instans yang tidak sehat dihentikan. 


| Fitur | Mengontrol contoh yang sehat | Mengontrol contoh yang tidak sehat | 
| --- | --- | --- | 
| Kebijakan penghentian kustom | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/negative_icon.svg) Tidak | 
| Perlindungan pengurangan skala | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/negative_icon.svg) Tidak | 
|  MenangguhkanHealthCheck,ReplaceUnhealthy, atau memproses Terminate  | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/success_icon.svg) Ya | 
| Pengait siklus hidup | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/success_icon.svg) Ya | 
| Kebijakan siklus hidup instans | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/success_icon.svg) Ya | ![\[alt text not found\]](http://docs.aws.amazon.com/id_id/autoscaling/ec2/userguide/images/success_icon.svg) Ya | 

### Kait siklus hidup saja tidak menjamin shutdown yang anggun
<a name="gracefully-handle-instance-termination-hooks-no-guarantee"></a>

 Secara default, kait siklus hidup penghentian beroperasi dengan upaya terbaik. Jika tindakan siklus hidup penghentian ditinggalkan, Amazon EC2 Auto Scaling akan segera menghentikan instans. Anda dapat menggabungkan kait siklus hidup penghentian dengan kebijakan siklus hidup instance untuk mempertahankan instance saat tindakan siklus hidup penghentian ditinggalkan. Dengan kombinasi ini: 
+  Hook siklus hidup terminasi Anda mencoba mematikan aplikasi Anda dengan baik setelah Auto Scaling memicu penghentian instans dan pengurasan dari penyeimbang beban Elastic Load Balancing yang dikonfigurasi selesai. 
+  Jika tindakan siklus hidup penghentian ditinggalkan karena alasan apa pun, instance akan berpindah ke status dipertahankan alih-alih dihentikan. 
+  Instans yang dipertahankan tetap dalam status Amazon EC2 saat ini, memungkinkan Anda menyelesaikan prosedur shutdown secara manual atau menyelidiki kegagalannya. 
+  Anda dapat menghentikan instans yang dipertahankan secara manual dengan memanggil [ TerminateInstanceInAutoScalingGroup](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_TerminateInstanceInAutoScalingGroup.html)API setelah menyelesaikan tindakan yang diperlukan. 

 Untuk informasi selengkapnya, lihat [Kontrol retensi instance dengan kebijakan siklus hidup instance](instance-lifecycle-policy.md). 

### Opsi pasar contoh tertentu dapat terganggu dengan pemberitahuan terbatas
<a name="gracefully-handle-instance-termination-spot-interruptions"></a>

 Jika Anda menggunakan opsi pasar instans seperti Instans Spot dan reservasi kapasitas yang dapat diinterupsi di grup Auto Scaling, Amazon EC2 dapat mengganggu dan merebut kembali instans Anda kapan saja. Interupsi ini melewati semua mekanisme perlindungan Amazon EC2 Auto Scaling, termasuk: 
+ Kait siklus hidup penghentian
+ Proteksi penurunan skala instance
+ Kebijakan penghentian kustom
+ Kebijakan siklus hidup instans
+ Proses yang ditangguhkan

 Saat Instans Spot menerima pemberitahuan interupsi, Anda memiliki waktu sekitar dua menit untuk melakukan tugas shutdown yang anggun. Meskipun Anda dapat menggunakan kait siklus hidup terminasi untuk merespons interupsi Instans Spot, instance akan dihentikan secara paksa di akhir jendela dua menit, meskipun pengait siklus hidup masih dalam proses. Kebijakan siklus hidup instans juga tidak dapat mencegah interupsi Instans Spot. 

 *Untuk informasi selengkapnya tentang penanganan interupsi Instans Spot, lihat [Interupsi Instans Spot dan Praktik](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html) [terbaik untuk Spot Amazon EC2 di Panduan Pengguna Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html).* 

### Pengakhiran Amazon EC2 langsung melewati semua perlindungan
<a name="gracefully-handle-instance-termination-direct-ec2-api"></a>

 Jika Anda menghentikan instans di grup Auto Scaling dengan Amazon EC2 API secara langsung, penghentian akan melewati semua mekanisme perlindungan Amazon [ TerminateInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TerminateInstances.html)EC2 Auto Scaling. 

 Untuk menghentikan instance di grup Auto Scaling sambil menghormati perlindungan yang dikonfigurasi, gunakan API sebagai gantinya. [ TerminateInstanceInAutoScalingGroup](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_TerminateInstanceInAutoScalingGroup.html) 

## Contoh alur perencanaan
<a name="gracefully-handle-instance-termination-examples"></a>

 Saat menggunakan Amazon EC2 Auto Scaling, Anda dapat memilih berapa banyak pengelolaan armada yang ditangani Auto Scaling atas nama Anda versus seberapa banyak kontrol langsung yang Anda pertahankan atas keputusan penghentian instans EC2. Semakin sensitif beban kerja Anda terhadap terminasi instance, semakin banyak kontrol yang mungkin ingin Anda pertahankan. Contoh berikut menjelaskan beban kerja dengan tingkat toleransi yang berbeda dan konfigurasi yang direkomendasikan: 

### Contoh 1: Node database terdistribusi (Toleransi rendah)
<a name="gracefully-handle-instance-termination-example-database"></a>

 Anda menjalankan database terdistribusi di mana setiap instans EC2 menyimpan partisi data Anda dengan faktor replikasi 3. Kehilangan beberapa contoh yang menyimpan replika dari partisi yang sama dapat menyebabkan kehilangan data atau membuat partisi itu tidak tersedia. 

 **Tantangan:** Auto Scaling dapat menghentikan instans lebih cepat daripada data yang dapat direplikasi ulang ke node lain, dan penghentian dapat mengurangi kapasitas Anda di bawah apa yang diperlukan untuk mempertahankan faktor replikasi Anda. 

Pertimbangkan konfigurasi berikut:
+  Aktifkan [perlindungan skala masuk instance](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html) pada semua instance database; hapus secara terprogram hanya setelah mengonfirmasi data direplikasi dengan aman di tempat lain. 
+  Konfigurasikan [kait siklus hidup penghentian](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) dengan batas waktu yang diperpanjang dalam kombinasi dengan kebijakan siklus hidup instance untuk memungkinkan transfer data selesai. 
+  Tetapkan [kebijakan pemeliharaan instans](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-maintenance-policy.html) dengan persentase sehat minimum 100% untuk mempertahankan kapasitas yang Anda butuhkan. 

### Contoh 2: Pemrosesan pekerjaan yang berjalan lama (Toleransi sedang)
<a name="gracefully-handle-instance-termination-example-job-processing"></a>

 Anda memiliki antrian Amazon SQS yang mengumpulkan pesan masuk untuk pekerjaan yang berjalan lama. Ketika pesan baru tiba, instans EC2 mengambil pesan dan memulai pekerjaan yang membutuhkan waktu 3 jam untuk diproses. Seiring bertambahnya antrian, Auto Scaling menambahkan instance berdasarkan kebijakan penskalaan Anda. Saat antrian menyusut, Auto Scaling menghentikan instance. 

 **Tantangan:** Auto Scaling dapat menghentikan instance yang 3 jam untuk memproses pekerjaan daripada instance idle. Pekerjaan dapat dimulai kembali pada contoh lain, tetapi Anda kehilangan kemajuan yang signifikan. 

Pertimbangkan konfigurasi berikut:
+  Konfigurasikan [kebijakan penghentian kustom](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lambda-custom-termination-policy.html) yang memprioritaskan penghentian instans idle terlebih dahulu. 
+  Gunakan [kait siklus hidup penghentian](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) untuk memungkinkan pekerjaan yang sedang berlangsung selesai. 
+  Aktifkan [perlindungan skala masuk instance](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html) secara terprogram saat instance memulai pekerjaan, dan hapus saat pekerjaan selesai. 

### Contoh 3: Armada pekerja untuk lingkungan pengujian (Toleransi tinggi)
<a name="gracefully-handle-instance-termination-example-test"></a>

 Anda menjalankan armada instans EC2 yang menjalankan pengujian otomatis, pekerjaan CI/CD pipeline, atau beban kerja pengembangan. Instance pekerja ini menarik tugas dari antrian, dan hasil pengujian dapat dibuat ulang jika pekerjaan gagal. 

 **Tantangan:** Pekerjaan pengujian mungkin terganggu selama acara skala dalam, tetapi karena pengujian dapat dicoba ulang tanpa dampak, Anda ingin mengoptimalkan biaya dan kesederhanaan daripada ketersediaan tanpa gangguan. 

Pertimbangkan konfigurasi berikut:
+  Gunakan [kait siklus hidup penghentian](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) untuk memungkinkan permintaan dalam penerbangan diselesaikan. 
+  Pertimbangkan untuk menggunakan [Instans Spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html) dengan strategi alokasi yang dioptimalkan kapasitas untuk mengurangi biaya lebih lanjut. 

# Menangguhkan dan melanjutkan proses Penskalaan Otomatis Amazon EC2
<a name="as-suspend-resume-processes"></a>

Topik ini menjelaskan cara menangguhkan dan kemudian melanjutkan satu atau beberapa proses untuk grup Auto Scaling Anda untuk menonaktifkan sementara operasi tertentu. 

Proses penangguhan dapat berguna ketika Anda perlu menyelidiki atau memecahkan masalah tanpa gangguan dari kebijakan penskalaan atau tindakan terjadwal. Ini juga membantu mencegah Amazon EC2 Auto Scaling menandai instans yang tidak sehat dan menggantinya saat Anda membuat perubahan pada grup Auto Scaling Anda.

**Topics**
+ [Jenis proses](#process-types)
+ [Pertimbangan-pertimbangan](suspend-resume-considerations.md)
+ [Menangguhkan proses](suspend-processes.md)
+ [Lanjutkan proses](resume-processes.md)
+ [Bagaimana proses yang ditangguhkan memengaruhi proses lain](understand-how-suspending-processes-affects-other-processes.md)

**catatan**  
Selain penangguhan yang Anda mulai, Amazon EC2 Auto Scaling juga dapat menangguhkan proses untuk grup Auto Scaling yang berulang kali gagal meluncurkan instance. Ini dikenal sebagai *penangguhan administratif*. Penangguhan administratif paling umum berlaku untuk grup Auto Scaling yang telah mencoba meluncurkan instance selama lebih dari 24 jam namun belum berhasil meluncurkan instance apa pun. Anda dapat melanjutkan proses yang ditangguhkan oleh Amazon EC2 Auto Scaling karena alasan administratif.

## Jenis proses
<a name="process-types"></a>

Fitur suspend-resume mendukung proses berikut:
+ `Launch`— Menambahkan instans ke grup Auto Scaling saat grup diskalakan, atau saat Amazon EC2 Auto Scaling memilih untuk meluncurkan instans karena alasan lain, seperti saat grup menambahkan instance ke kolam hangat.
+ `Terminate`— Menghapus instans dari grup Auto Scaling saat grup melakukan penskalaan, atau saat Amazon EC2 Auto Scaling memilih untuk menghentikan instans karena alasan lain, seperti saat instans dihentikan karena melebihi durasi masa pakai maksimumnya atau gagal dalam pemeriksaan kesehatan.
+ `AddToLoadBalancer`— Menambahkan instance ke grup target penyeimbang beban terlampir atau Classic Load Balancer saat diluncurkan. Untuk informasi selengkapnya, lihat [Gunakan Elastic Load Balancing untuk mendistribusikan lalu lintas aplikasi yang masuk dalam grup Auto Scaling](autoscaling-load-balancer.md).
+ `AlarmNotification`— Menerima pemberitahuan dari CloudWatch alarm yang terkait dengan kebijakan penskalaan dinamis. Untuk informasi selengkapnya, lihat [Penskalaan dinamis untuk Amazon EC2 Auto Scaling](as-scale-based-on-demand.md).
+ `AZRebalance`— Menyeimbangkan jumlah instans EC2 dalam grup secara merata di semua Availability Zone yang ditentukan saat grup menjadi tidak seimbang, misalnya, ketika Availability Zone yang sebelumnya tidak tersedia kembali ke keadaan sehat. Untuk informasi selengkapnya, lihat [Aktivitas rebalancing](auto-scaling-benefits.md#AutoScalingBehavior.InstanceUsage).
+ `HealthCheck`— Memeriksa kesehatan instans dan menandai instance sebagai tidak sehat jika Amazon EC2 atau Elastic Load Balancing memberi tahu Amazon EC2 Auto Scaling bahwa instans tersebut tidak sehat. Proses ini dapat mengesampingkan status kesehatan suatu instance yang Anda atur secara manual. Untuk informasi selengkapnya, lihat [Pemeriksaan kondisi untuk instans dalam grup Auto Scaling](ec2-auto-scaling-health-checks.md).
+ `InstanceRefresh`— Mengakhiri dan mengganti instance menggunakan fitur penyegaran instans. Untuk informasi selengkapnya, lihat [Menggunakan penyegaran instans untuk memperbarui instance dalam grup Auto Scaling](asg-instance-refresh.md).
+ `ReplaceUnhealthy`— Mengakhiri instance yang ditandai sebagai tidak sehat dan kemudian membuat instance baru untuk menggantikannya. Untuk informasi selengkapnya, lihat [Pemeriksaan kondisi untuk instans dalam grup Auto Scaling](ec2-auto-scaling-health-checks.md).
+ `ScheduledActions`— Melakukan tindakan penskalaan terjadwal yang Anda buat atau yang dibuat untuk Anda saat Anda membuat rencana penskalaan dan mengaktifkan AWS Auto Scaling penskalaan prediktif. Untuk informasi selengkapnya, lihat [Skala terjadwal untuk Amazon EC2 Auto Scaling](ec2-auto-scaling-scheduled-scaling.md). 

# Pertimbangan untuk menangguhkan proses
<a name="suspend-resume-considerations"></a>

Pertimbangkan hal berikut sebelum menangguhkan proses:
+ Penangguhan `AlarmNotification` memungkinkan Anda menghentikan sementara kebijakan pelacakan target, langkah, dan penskalaan sederhana grup tanpa menghapus kebijakan penskalaan atau alarm terkait. CloudWatch Untuk menghentikan sementara kebijakan penskalaan individu, lihat[Menonaktifkan kebijakan penskalaan untuk grup Auto Scaling](as-enable-disable-scaling-policy.md).
+ Anda dapat memilih untuk menangguhkan `HealthCheck` dan `ReplaceUnhealthy` proses untuk me-reboot instans tanpa Amazon EC2 Auto Scaling menghentikan instans berdasarkan pemeriksaan kesehatannya. Namun, jika Anda memerlukan Amazon EC2 Auto Scaling untuk terus melakukan pemeriksaan kesehatan pada instans yang tersisa, gunakan fitur siaga sebagai gantinya. Untuk informasi selengkapnya, lihat [Menghapus instans dari grup Auto Scaling untuk sementara](as-enter-exit-standby.md).
+ Jika Anda menangguhkan `Terminate` proses `Launch` dan, atau`AZRebalance`, dan kemudian Anda membuat perubahan pada grup Auto Scaling, misalnya, dengan melepaskan instance atau mengubah Availability Zone yang ditentukan, grup Anda dapat menjadi tidak seimbang antara Availability Zone. Jika itu terjadi, setelah Anda melanjutkan proses yang ditangguhkan, Amazon EC2 Auto Scaling secara bertahap mendistribusikan ulang instans secara merata di antara Availability Zone.
+ Jika Anda menangguhkan `Terminate` proses, Anda masih dapat memaksa instance untuk dihentikan dengan menggunakan [delete-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/delete-auto-scaling-group.html)perintah dengan opsi hapus paksa.
+ Menangguhkan `Terminate` proses hanya berlaku untuk contoh yang saat ini berada di negara bagian. `InService` Ini tidak mencegah penghentian contoh di negara bagian lain, seperti`Pending`, atau contoh yang gagal dilanjutkan dengan benar dari siaga.
+ `RemoveFromLoadBalancerLowPriority`Proses ini dapat diabaikan ketika ada dalam panggilan untuk menggambarkan grup Auto Scaling menggunakan or. AWS CLI SDKs Proses ini tidak digunakan lagi dan dipertahankan hanya untuk kompatibilitas mundur. 

# Menangguhkan proses
<a name="suspend-processes"></a>

Untuk menangguhkan proses grup Auto Scaling, gunakan salah satu metode berikut:

------
#### [ Console ]

**Untuk menangguhkan proses**

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 **Detail**, pilih **Konfigurasi lanjutan**, **Edit**.

1. Untuk **Proses yang ditangguhkan**, pilih proses yang akan ditangguhkan.

1. Pilih **Perbarui**.

------
#### [ AWS CLI ]

Gunakan perintah [suspend-processes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/suspend-processes.html) berikut untuk menangguhkan proses individual.

```
aws autoscaling suspend-processes --auto-scaling-group-name my-asg --scaling-processes HealthCheck ReplaceUnhealthy 
```

Untuk menangguhkan semua proses, hilangkan `--scaling-processes` opsi, sebagai berikut. 

```
aws autoscaling suspend-processes --auto-scaling-group-name my-asg
```

------

# Lanjutkan proses
<a name="resume-processes"></a>

Untuk melanjutkan proses yang ditangguhkan untuk grup Auto Scaling, gunakan salah satu metode berikut:

------
#### [ Console ]

**Untuk melanjutkan proses penangguhan**

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 **Detail**, pilih **Konfigurasi lanjutan**, **Edit**.

1. Untuk **proses yang ditangguhkan**, hapus proses yang ditangguhkan.

1. Pilih **Perbarui**.

------
#### [ AWS CLI ]

Untuk melanjutkan proses yang ditangguhkan, gunakan perintah [resume-process](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/resume-processes.html) berikut.

```
aws autoscaling resume-processes --auto-scaling-group-name my-asg --scaling-processes HealthCheck
```

Untuk melanjutkan semua proses yang ditangguhkan, hilangkan `--scaling-processes` opsi, sebagai berikut.

```
aws autoscaling resume-processes --auto-scaling-group-name my-asg
```

------

# Bagaimana proses yang ditangguhkan memengaruhi proses lain
<a name="understand-how-suspending-processes-affects-other-processes"></a>

Bagian berikut menjelaskan apa yang terjadi ketika proses yang berbeda ditangguhkan secara individual. 

**Topics**
+ [`Launch`ditangguhkan](#launch-is-suspended)
+ [`Terminate`ditangguhkan](#terminate-is-suspended)
+ [`AddToLoadBalancer`ditangguhkan](#addtoloadbalancer-is-suspended)
+ [`AlarmNotification`ditangguhkan](#alarmnotification-is-suspended)
+ [`AZRebalance`ditangguhkan](#azrebalance-is-suspended)
+ [`HealthCheck`ditangguhkan](#healthcheck-is-suspended)
+ [`InstanceRefresh`ditangguhkan](#instancerefresh-is-suspended)
+ [`ReplaceUnhealthy`ditangguhkan](#replaceunhealthy-is-suspended)
+ [`ScheduledActions`ditangguhkan](#scheduledactions-is-suspended)
+ [Pertimbangan tambahan](#other-considerations)

## `Launch`ditangguhkan
<a name="launch-is-suspended"></a>
+ `AlarmNotification`masih aktif, tetapi grup Auto Scaling Anda tidak dapat memulai aktivitas scale-out untuk alarm yang dilanggar. 
+ `ScheduledActions`aktif, tetapi grup Auto Scaling Anda tidak dapat memulai aktivitas penskalaan untuk tindakan terjadwal apa pun yang terjadi. 
+ `AZRebalance` berhenti menyeimbangkan ulang grup.
+ `ReplaceUnhealthy` terus menghentikan instance yang tidak sehat, tetapi tidak meluncurkan pengganti. Saat Anda melanjutkan `Launch` proses, Amazon EC2 Auto Scaling segera menggantikan instans yang dihentikan selama waktu yang ditangguhkan. `Launch`
+ `InstanceRefresh`tidak menggantikan instance.

## `Terminate`ditangguhkan
<a name="terminate-is-suspended"></a>
+ `AlarmNotification`masih aktif, tetapi grup Auto Scaling Anda tidak dapat memulai skala dalam aktivitas untuk alarm yang dilanggar. 
+ `ScheduledActions`aktif, tetapi grup Auto Scaling Anda tidak dapat memulai skala dalam aktivitas untuk tindakan terjadwal apa pun yang terjadi. 
+ `AZRebalance` masih aktif tetapi tidak berfungsi dengan baik. Ini dapat meluncurkan instance baru tanpa menghentikan instance lama. Hal ini dapat menyebabkan grup Auto Scaling Anda tumbuh hingga 10 persen lebih besar dari ukuran maksimumnya, karena hal ini dimungkinkan sementara temporer selama aktivitas rebalancing. Grup Auto Scaling Anda dapat tetap di atas ukuran maksimumnya hingga Anda melanjutkan proses `Terminate`.
+ `ReplaceUnhealthy`tidak aktif tetapi tidak`HealthCheck`. Ketika `Terminate` dilanjutkan, `ReplaceUnhealthy` proses segera mulai berjalan. Jika ada instance yang ditandai sebagai tidak sehat saat `Terminate` ditangguhkan, perangkat segera diganti.
+ `InstanceRefresh`tidak menggantikan instance.

## `AddToLoadBalancer`ditangguhkan
<a name="addtoloadbalancer-is-suspended"></a>
+ Amazon EC2 Auto Scaling meluncurkan instans tetapi tidak menambahkannya ke grup target penyeimbang beban atau Classic Load Balancer. Saat Anda melanjutkan `AddToLoadBalancer` proses, itu melanjutkan penambahan instance ke penyeimbang beban saat diluncurkan. Namun demikian, hal tersebut tidak menambahkan instance yang diluncurkan saat proses ini ditangguhkan. Anda harus mendaftarkan instance tersebut secara manual.

## `AlarmNotification`ditangguhkan
<a name="alarmnotification-is-suspended"></a>
+ Amazon EC2 Auto Scaling tidak menjalankan kebijakan penskalaan CloudWatch saat ambang alarm dilanggar. Saat Anda melanjutkan `AlarmNotification`, Amazon EC2 Auto Scaling mempertimbangkan kebijakan dengan ambang batas alarm yang saat ini ditembus.

## `AZRebalance`ditangguhkan
<a name="azrebalance-is-suspended"></a>
+ Amazon EC2 Auto Scaling tidak mencoba mendistribusikan ulang instans setelah kejadian tertentu. Namun, jika terjadi scale-out atau skala yang terjadi, proses penskalaan masih mencoba menyeimbangkan Availability Zone. Misalnya, selama skala keluar, ia meluncurkan instance di Availability Zone dengan instans paling sedikit. Jika grup menjadi tidak seimbang saat `AZRebalance` ditangguhkan dan Anda melanjutkannya, Amazon EC2 Auto Scaling mencoba menyeimbangkan kembali grup. Panggilan pertama adalah untuk `Launch` dan kemudian `Terminate`.
+ Kolam hangat tidak terpengaruh saat `AZRebalance` ditangguhkan.

## `HealthCheck`ditangguhkan
<a name="healthcheck-is-suspended"></a>
+ Amazon EC2 Auto Scaling berhenti menandai instance yang tidak sehat sebagai hasil dari pemeriksaan kesehatan EC2 dan Elastic Load Balancing. Pemeriksaan kesehatan khusus Anda terus berfungsi dengan baik. Setelah Anda menangguhkan `HealthCheck`, jika perlu, Anda dapat mengatur kondisi kesehatan instance dalam grup secara manual dan `ReplaceUnhealthy` menggantinya.

## `InstanceRefresh`ditangguhkan
<a name="instancerefresh-is-suspended"></a>
+ Amazon EC2 Auto Scaling berhenti mengganti instans sebagai hasil dari penyegaran instans. Jika ada penyegaran instance yang sedang berlangsung, ini menghentikan operasi tanpa membatalkannya.

## `ReplaceUnhealthy`ditangguhkan
<a name="replaceunhealthy-is-suspended"></a>
+ Amazon EC2 Auto Scaling menghentikan penggantian instance yang ditandai sebagai tidak sehat. Instance yang gagal dalam pemeriksaan kesehatan EC2 atau Elastic Load Balancing masih ditandai sebagai tidak sehat. Segera setelah Anda melanjutkan proses `ReplaceUnhealthy`, Amazon EC2 Auto Scaling menggantikan instance yang ditandai tidak sehat sementara proses ini ditangguhkan. `ReplaceUnhealthy`Prosesnya memanggil `Terminate` terlebih dahulu dan kemudian`Launch`. 

## `ScheduledActions`ditangguhkan
<a name="scheduledactions-is-suspended"></a>
+ Amazon EC2 Auto Scaling tidak menjalankan tindakan terjadwal yang dijadwalkan untuk berjalan selama periode penangguhan. Saat Anda melanjutkan`ScheduledActions`, Amazon EC2 Auto Scaling hanya mempertimbangkan tindakan terjadwal yang waktu yang dijadwalkan belum berlalu. 

## Pertimbangan tambahan
<a name="other-considerations"></a>

Selain itu, ketika `Launch` atau `Terminate` ditangguhkan, fitur berikut mungkin tidak berfungsi dengan benar:
+ **Masa pakai instans maksimum** — Saat `Launch` atau `Terminate` ditangguhkan, fitur masa pakai instans maksimum tidak dapat menggantikan instance apa pun. 
+ **Interupsi Instans Spot** — Jika `Terminate` ditangguhkan dan grup Auto Scaling Anda memiliki Instans Spot, mereka masih dapat dihentikan jika kapasitas Spot tidak lagi tersedia. Meskipun `Launch` ditangguhkan, Amazon EC2 Auto Scaling tidak dapat meluncurkan instans pengganti dari kumpulan Instans Spot lain atau dari kumpulan Instans Spot yang sama saat tersedia lagi.
+ **Penyeimbangan Kembali Kapasitas** — Jika `Terminate` ditangguhkan dan Anda menggunakan Penyeimbangan Kembali Kapasitas untuk menangani interupsi Instans Spot, layanan Spot Amazon EC2 masih dapat menghentikan instans jika kapasitas Spot tidak lagi tersedia. Jika `Launch` ditangguhkan, Amazon EC2 Auto Scaling tidak dapat meluncurkan instans pengganti dari kumpulan Instans Spot lain atau dari kumpulan Instans Spot yang sama saat tersedia lagi.
+ **Melampirkan dan melepaskan instance — Saat `Launch` dan `Terminate` ditangguhkan, Anda dapat melepaskan instance yang dilampirkan** ke grup Auto Scaling, tetapi saat `Launch` ditangguhkan, Anda tidak dapat melampirkan instance baru ke grup. 
+ **Instans siaga** — Ketika `Launch` dan `Terminate` ditangguhkan, Anda dapat menempatkan instance di `Standby` negara bagian, tetapi saat `Launch` ditangguhkan, Anda tidak dapat mengembalikan instance di `Standby` negara bagian ke layanan. 