Mengatur pemanasan instance default untuk grup Auto Scaling - Amazon EC2 Auto Scaling

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

Mengatur pemanasan instance default untuk grup Auto Scaling

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 di 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 sementara.

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.

Pertimbangan kinerja penskalaan

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 aktivitas penskalaan untuk penskalaan dinamis hingga instance baru selesai melakukan pemanasan.

Saat melakukan scaling, 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 penggunaan untuk menstabilkan, 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 instance baru sedang memanas, aktivitas scale-in akan diblokir.

Pilih waktu pemanasan instance default

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.

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 pengait 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

Aktifkan pemanasan instance default untuk grup

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:

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.

Perintah create-auto-scaling-group berikut membuat grup Auto Scaling dengan nama my-asg dan mengaktifkan pemanasan instance default dengan nilai 120 detik.

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/, dan pilih Grup Auto Scaling dari panel navigasi.

  2. Pada bilah navigasi di bagian atas layar, pilih tempat Wilayah AWS Anda membuat grup Auto Scaling.

  3. Pilih kotak centang di samping grup Auto Scaling.

    Panel split terbuka di bagian bawah halaman.

  4. Pada tab Detail, pilih Konfigurasi lanjutan, Edit.

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

  6. Pilih Perbarui.

AWS CLI
Untuk mengaktifkan pemanasan instance default untuk grup yang ada ()AWS CLI

Contoh berikut menggunakan perintah update-auto-scaling-group 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 pemanasan instance default untuk grup

Untuk memverifikasi pemanasan instance default untuk grup Auto Scaling ()AWS CLI

Gunakan perintah describe-auto-scaling-groups berikut. 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

Untuk mengidentifikasi apakah Anda memiliki kebijakan yang memiliki waktu pemanasan sendiriEstimatedInstanceWarmup, jalankan perintah deskripsikan 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

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 SDK. Bagian ini mencakup langkah-langkah untuk konsol. Jika Anda menggunakan AWS CLI atau AWS SDK, 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 memanggil Kebijakan secara terprogram. PutScaling 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/, dan pilih Grup Auto Scaling dari panel navigasi.

  2. Pilih kotak centang di samping grup Auto Scaling.

    Panel split terbuka di bagian bawah halaman.

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

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

  5. Pilih Perbarui.