Membuat kebijakan penskalaan prediktif untuk grup Auto Scaling - EC2 Auto Scaling Amazon

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

Membuat kebijakan penskalaan prediktif untuk grup Auto Scaling

Prosedur berikut membantu Anda membuat kebijakan penskalaan prediktif menggunakan atau. AWS Management Console AWS CLI

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

Membuat kebijakan penskalaan prediktif (konsol)

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.

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, lihatMembuat kebijakan penskalaan prediktif di konsol (metrik khusus).

Untuk membuat kebijakan penskalaan prediktif
  1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/, dan pilih Grup Auto Scaling dari panel navigasi.

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

    Panel split terbuka di bagian bawah halaman.

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

  4. Masukkan nama untuk kebijakan.

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

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

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

  7. 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 sesuai dengan target penggunaan, atau hingga mencapai jumlah maksimum instans yang Anda tentukan.

    Jika metrik penskalaan Anda... Maka pemanfaatan target mewakili...
    CPU

    Persentase CPU yang idealnya digunakan setiap instance.

    Jaringan Dalam

    Jumlah rata-rata byte per menit yang idealnya diterima oleh setiap instance.

    Jaringan Keluar

    Jumlah rata-rata byte per menit yang idealnya dikirim oleh setiap instance.

    Application Load Balancer jumlah permintaan per target

    Jumlah rata-rata permintaan per menit yang idealnya diterima setiap instance.

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

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

  10. (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 dapat menskalakan kapasitas lebih tinggi dari kapasitas maksimum hingga sama tetapi tidak melebihi kapasitas yang diprediksi.

  11. Pilih Buat kebijakan penskalaan prediktif.

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)

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. CloudWatch Untuk informasi selengkapnya, lihat Kebijakan penskalaan prediktif lanjutan menggunakan metrik khusus. Untuk memastikan bahwa Amazon EC2 Auto Scaling dapat mengekstrak data metrik dari CloudWatch, konfirmasikan bahwa setiap kueri mengembalikan titik data. Konfirmasikan ini dengan menggunakan CloudWatch konsol atau operasi CloudWatch GetMetricDataAPI.

    catatan

    Kami menyediakan contoh muatan JSON di editor JSON di konsol Amazon Auto Scaling. EC2 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. 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 GetMetricDataAPI.

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

Untuk membuat kebijakan penskalaan prediktif
  1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/, dan pilih Grup Auto Scaling dari panel navigasi.

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

    Panel split terbuka di bagian bawah halaman.

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

  4. Masukkan nama untuk kebijakan.

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

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

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

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

    3. (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 deret 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.

  7. 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 sesuai dengan target penggunaan, atau hingga mencapai jumlah maksimum instans yang Anda tentukan.

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

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

  10. (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 dapat menskalakan kapasitas lebih tinggi dari kapasitas maksimum hingga sama tetapi tidak melebihi kapasitas yang diprediksi.

  11. Pilih Buat kebijakan penskalaan prediktif.

Buat kebijakan penskalaan prediktif ()AWS CLI

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

Contoh 1: Kebijakan penskalaan prediktif yang membuat prakiraan tetapi tidak menskalakan

Contoh kebijakan berikut menunjukkan konfigurasi kebijakan lengkap yang menggunakan metrik pemanfaatan CPU untuk penskalaan prediktif dengan pemanfaatan target. 40 ForecastOnlymode 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-policyperintah 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

Untuk kebijakan yang memungkinkan Amazon EC2 Auto Scaling untuk memperkirakan dan menskalakan, tambahkan properti Mode dengan nilai. ForecastAndScale Contoh berikut menunjukkan konfigurasi kebijakan yang menggunakan metrik jumlah permintaan Application Load Balancer. Pemanfaatan target adalah1000, 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-policyperintah 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

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 EC2 kapasitas 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 EC2 Auto Scaling Amazon untuk menyediakan kapasitas tambahan saat kapasitas diprediksi berada pada atau sangat dekat dengan ukuran maksimum grup Anda, tentukan MaxCapacityBuffer properti MaxCapacityBreachBehavior dan properti, seperti yang ditunjukkan pada contoh berikut. Anda harus menentukan MaxCapacityBreachBehavior dengan nilaiIncreaseMaxCapacity. 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-policyperintah 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": [] }