Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kurangi latensi untuk aplikasi dengan waktu boot yang lama menggunakan kolam hangat
Kumpulan hangat memberi Anda kemampuan untuk mengurangi latensi untuk aplikasi Anda yang memiliki waktu boot yang sangat lama, misalnya, karena instans perlu menulis sejumlah besar data ke disk. Dengan kolam hangat, Anda tidak perlu lagi menyediakan grup Auto Scaling secara berlebihan untuk mengelola latensi guna meningkatkan kinerja aplikasi. Untuk informasi selengkapnya, lihat posting blog berikut Men skalakan aplikasi Anda lebih cepat dengan EC2 Auto Scaling Warm Pools
penting
Membuat kolam yang hangat saat tidak diperlukan dapat menyebabkan biaya yang tidak perlu. Jika waktu boot pertama Anda tidak menyebabkan masalah latensi yang nyata untuk aplikasi Anda, mungkin Anda tidak perlu menggunakan kolam hangat.
Topik
Konsep inti
Sebelum Anda memulai, biasakan diri Anda dengan konsep inti berikut:
- Kolam hangat
-
Kumpulan hangat adalah kumpulan instans EC2 yang telah diinisialisasi sebelumnya yang berada di samping grup Penskalaan Otomatis. Kapan pun aplikasi Anda perlu diskalakan keluar, grup Auto Scaling dapat menggunakan kolam hangat untuk memenuhi kapasitas baru yang diinginkan. Ini membantu Anda memastikan bahwa instans siap untuk mulai melayani lalu lintas aplikasi dengan cepat, mempercepat respons terhadap peristiwa scale-out. Ketika contoh meninggalkan kolam yang hangat, mereka menghitung kapasitas yang diinginkan dari kelompok. Ini dikenal sebagai awal yang hangat.
Saat instance berada di kumpulan hangat, kebijakan penskalaan Anda hanya diperkecil jika nilai metrik dari instans yang berada dalam status lebih besar dari ambang batas tinggi alarm kebijakan penskalaan (yang sama dengan pemanfaatan target kebijakan penskalaan pelacakan target).
InService - Ukuran kolam hangat
-
Secara default, ukuran kolam hangat dihitung sebagai perbedaan antara kapasitas maksimum grup Auto Scaling dan kapasitas yang diinginkan. Misalnya, jika kapasitas yang diinginkan dari grup Penskalaan Otomatis Anda adalah 6 dan kapasitas maksimum adalah 10, ukuran kolam hangat Anda akan menjadi 4 saat Anda pertama kali mengatur kolam hangat dan kolam diinisialisasi.
Untuk menentukan kapasitas maksimum kolam hangat secara terpisah, gunakan opsi spesifikasi khusus (
MaxGroupPreparedCapacity) dan tetapkan nilai kustom untuknya yang lebih besar dari kapasitas grup saat ini. Jika Anda memberikan nilai kustom, ukuran kolam hangat dihitung sebagai perbedaan antara nilai kustom dan kapasitas grup yang diinginkan saat ini. Misalnya, jika kapasitas yang diinginkan dari grup Penskalaan Otomatis Anda adalah 6, jika kapasitas maksimum adalah 20, dan jika nilai kustom adalah 8, ukuran kolam hangat Anda akan menjadi 2 saat Anda pertama kali mengatur kolam hangat dan kolam diinisialisasi.Anda mungkin hanya perlu menggunakan opsi spesifikasi khusus (
MaxGroupPreparedCapacity) saat bekerja dengan grup Penskalaan Otomatis besar untuk mengelola manfaat biaya memiliki kolam hangat. Misalnya, grup Penskalaan Otomatis dengan 1.000 instans, kapasitas maksimum 1.500 (untuk menyediakan kapasitas tambahan untuk lonjakan lalu lintas darurat), dan kumpulan hangat 100 instans dapat membantu Anda mencapai tujuan dengan lebih baik daripada menyimpan 500 instans yang dicadangkan untuk digunakan di masa mendatang di dalam kolam hangat. - Ukuran kolam hangat minimum
-
Pertimbangkan untuk menggunakan pengaturan ukuran minimum (
MinSize) untuk secara statis mengatur jumlah instans minimum yang akan dipertahankan di kolam hangat. Tidak ada ukuran minimum yang ditetapkan secara default. PengMinSizeaturan ini berguna ketika Anda menentukanMaxGroupPreparedCapacityuntuk memastikan bahwa jumlah minimum instance dipertahankan di kumpulan hangat bahkan ketika kapasitas yang diinginkan dari grup Penskalaan Otomatis lebih tinggi dariMaxGroupPreparedCapacity. - Status instance kolam hangat
-
Anda dapat menyimpan contoh di kolam hangat di salah satu dari tiga status:
Stopped,Running, atauHibernated. Menjaga instance dalamStoppedkeadaan adalah cara yang efektif untuk meminimalkan biaya. Dengan instans yang dihentikan, Anda hanya membayar untuk volume yang Anda gunakan dan alamat IP Elastic yang dilampirkan ke instans.Atau, Anda dapat menyimpan instance dalam
Hibernatedstatus untuk menghentikan instance tanpa menghapus konten memori (RAM) mereka. Saat instance hibernasi, ini memberi sinyal pada sistem operasi untuk menyimpan konten RAM Anda ke volume root Amazon EBS Anda. Ketika instance dimulai lagi, volume root dikembalikan ke keadaan sebelumnya dan konten RAM dimuat ulang. Saat instance dalam hibernasi, Anda hanya membayar untuk volume EBS, termasuk penyimpanan untuk konten RAM, dan alamat IP Elastic yang dilampirkan ke instans.Menyimpan contoh dalam
Runningkeadaan di dalam kolam yang hangat juga dimungkinkan, tetapi sangat tidak disarankan untuk menghindari menimbulkan biaya yang tidak perlu. Saat instance dihentikan atau di-hibernasi, Anda menghemat biaya instans itu sendiri. Anda membayar untuk instans hanya ketika mereka berjalan. - Kait siklus hidup
-
Anda menggunakan kait siklus hidup untuk menempatkan instance ke status tunggu sehingga Anda dapat melakukan tindakan kustom pada instans. Tindakan khusus dilakukan saat instans diluncurkan atau sebelum diakhiri.
Dalam konfigurasi kumpulan hangat, hook siklus hidup menunda instans agar tidak dihentikan atau dihibernasi dan mulai digunakan selama peristiwa skala keluar hingga selesai diinisialisasi. Jika Anda menambahkan kumpulan hangat ke grup Penskalaan Otomatis tanpa kait siklus hidup, instans yang membutuhkan waktu lama untuk menyelesaikan inisialisasi dapat dihentikan atau di-hibernasi dan kemudian diaktifkan selama peristiwa penskalaan keluar sebelum siap.
- Kebijakan penggunaan kembali instans
-
Secara default, Amazon EC2 Auto Scaling menghentikan instans Anda saat grup Auto Scaling masuk. Kemudian, ia meluncurkan instance baru ke kolam hangat untuk menggantikan instance yang dihentikan.
Jika Anda ingin mengembalikan instance ke kumpulan hangat sebagai gantinya, Anda dapat menentukan kebijakan penggunaan kembali instance. Ini memungkinkan Anda menggunakan kembali instance yang sudah dikonfigurasi untuk melayani lalu lintas aplikasi. Untuk memastikan kolam hangat Anda tidak terlalu disediakan, Amazon EC2 Auto Scaling dapat menghentikan instans di kolam hangat untuk mengurangi ukurannya jika lebih besar dari yang diperlukan berdasarkan pengaturannya. Saat mengakhiri instance di kumpulan hangat, ia menggunakan kebijakan penghentian default untuk memilih instans mana yang akan dihentikan terlebih dahulu.
penting
Jika Anda ingin melakukan hibernasi instans sesuai skala dan ada instans yang ada di grup Penskalaan Otomatis, instans tersebut harus memenuhi persyaratan misalnya hibernasi. Jika tidak, ketika instans kembali ke kolam yang hangat, mereka akan kembali dihentikan alih-alih hibernasi.
catatan
Saat ini, Anda hanya dapat menentukan kebijakan penggunaan kembali instance dengan menggunakan AWS CLI atau SDK. Fitur ini tidak tersedia dari konsol.
Prasyarat
Sebelum Anda membuat kumpulan hangat untuk grup Penskalaan Otomatis, tentukan bagaimana Anda akan menggunakan kait siklus hidup untuk menginisialisasi instans baru dengan status awal yang sesuai.
Untuk melakukan tindakan kustom pada instance saat berada dalam keadaan tunggu karena kait siklus hidup, Anda memiliki dua opsi:
-
Untuk skenario sederhana di mana Anda ingin menjalankan perintah pada instans saat peluncuran, Anda dapat menyertakan skrip data pengguna saat membuat template peluncuran atau meluncurkan konfigurasi untuk grup Penskalaan Otomatis. Skrip data pengguna hanyalah skrip atau arahan cloud-init shell normal yang dijalankan cloud-init saat instans Anda dimulai. Skrip juga dapat mengontrol kapan instance Anda bertransisi ke status berikutnya dengan menggunakan ID instance yang dijalankan. Jika Anda belum melakukannya, perbarui skrip Anda untuk mengambil data ID instance dari metadata instance. Untuk informasi selengkapnya, lihat Metadata instans Access di Panduan Pengguna Amazon EC2.
Tip
Untuk menjalankan skrip data pengguna saat instance dimulai ulang, data pengguna harus dalam format multi-bagian MIME dan tentukan hal berikut di
#cloud-configbagian data pengguna:#cloud-config cloud_final_modules: - [scripts-user, always] -
Untuk skenario lanjutan di mana Anda memerlukan layanan seperti AWS Lambda melakukan sesuatu saat instans memasuki atau keluar dari kumpulan hangat, Anda dapat membuat kait siklus hidup untuk grup Penskalaan Otomatis dan mengonfigurasi layanan target untuk melakukan tindakan kustom berdasarkan pemberitahuan siklus hidup. Untuk informasi selengkapnya, lihat Target notifikasi yang didukung.
Siapkan instance untuk hibernasi
Untuk menyiapkan instans Auto Scaling untuk menggunakan status kum Hibernated pulan, buat template peluncuran baru atau konfigurasi luncurkan yang diatur dengan benar untuk mendukung hibernasi instans, seperti yang dijelaskan dalam topik Prasyarat Hibernasi di Panduan Pengguna Amazon EC2. Kemudian, kaitkan template peluncuran baru atau konfigurasi peluncuran dengan grup Penskalaan Otomatis dan mulai penyegaran instans untuk mengganti instance yang terkait dengan template peluncuran sebelumnya atau konfigurasi peluncuran. Untuk informasi selengkapnya, lihat Menggunakan penyegaran instans untuk memperbarui instance dalam grup Auto Scaling.
Perbarui instance di kolam yang hangat
Untuk memperbarui instance di kumpulan hangat, Anda membuat template peluncuran baru atau konfigurasi peluncuran dan mengaitkannya dengan grup Penskalaan Otomatis. Instans baru diluncurkan menggunakan AMI baru dan pembaruan lain yang ditentukan dalam template peluncuran atau konfigurasi peluncuran, tetapi instans yang ada tidak terpengaruh.
Untuk memaksa peluncuran instans kumpulan hangat pengganti yang menggunakan template peluncuran baru atau konfigurasi peluncuran, Anda dapat memulai penyegaran instans untuk melakukan pembaruan bergulir grup Anda. Penyegaran instance terlebih dahulu menggantikan InService instance. Kemudian menggantikan contoh di kolam hangat. Untuk informasi selengkapnya, lihat Menggunakan penyegaran instans untuk memperbarui instance dalam grup Auto Scaling.
Sumber daya terkait
Anda dapat mengunjungi GitHub repositori kami
Batasan
-
Batasan kumpulan hangat untuk grup Penskalaan Otomatis dengan jenis instans campuran:
-
Kumpulan hangat tidak didukung dengan grup instance campuran berbobot. Jika grup Penskalaan Otomatis menggunakan bobot instans, Anda tidak dapat menambahkan kumpulan hangat.
-
Warm pool tidak mendukung Instans Spot dalam grup instance campuran. Kebijakan instance campuran Anda harus dikonfigurasi untuk On-Demand instans hanya saat menggunakan kolam hangat.
-
Saat menggunakan kumpulan hangat dengan grup instance campuran dalam keadaan hibernasi, Anda harus mengonfigurasi
HibernationOptionsdalam template peluncuran Anda.
-
-
Amazon EC2 Auto Scaling dapat menempatkan instance dalam
StoppedHibernatedstatus atau hanya jika memiliki volume Amazon EBS sebagai perangkat root. Instans yang menggunakan penyimpanan instans untuk perangkat root tidak dapat dihentikan atau di-hibernasi. -
Amazon EC2 Auto Scaling dapat menempatkan instance dalam
Hibernatedstatus hanya jika memenuhi semua persyaratan yang tercantum dalam topik Prasyarat Hibernasi di Panduan Pengguna Amazon EC2. -
Jika kolam hangat Anda habis saat terjadi peristiwa scale-out, instance akan diluncurkan langsung ke grup Auto Scaling (start dingin). Anda juga bisa mengalami cold start jika Availability Zone kehabisan kapasitas.
-
Jika instance dalam kumpulan hangat mengalami masalah selama proses peluncuran, mencegahnya mencapai
InServicestatus, instance akan dianggap sebagai peluncuran yang gagal dan dihentikan. Ini berlaku terlepas dari penyebab yang mendasarinya, seperti kesalahan kapasitas yang tidak mencukupi atau faktor lainnya. -
Amazon EC2 Auto Scaling menghentikan atau melakukan hibernasi instans saat memasuki kolam hangat, dan tidak menunggu data pengguna selesai berjalan. Akibatnya, tindakan berhenti atau hibernasi dapat mengganggu data pengguna yang berjalan lama. Untuk informasi selengkapnya, lihat Gunakan kait siklus hidup dengan kolam hangat di grup Penskalaan Otomatis.
-
Jika Anda mencoba menggunakan kolam hangat dengan grup node terkelola Amazon Elastic Kubernetes Service (Amazon EKS), instans yang masih diinisialisasi mungkin mendaftar ke cluster Amazon EKS Anda. Akibatnya, cluster mungkin menjadwalkan pekerjaan pada instance saat sedang bersiap untuk dihentikan atau hibernasi.
-
Demikian juga, jika Anda mencoba menggunakan kolam hangat dengan cluster Amazon ECS, instans mungkin mendaftar ke cluster sebelum selesai menginisialisasi. Untuk mengatasi masalah ini, Anda harus mengonfigurasi template peluncuran atau konfigurasi peluncuran yang menyertakan variabel konfigurasi agen khusus dalam data pengguna. Untuk informasi selengkapnya, lihat Menggunakan kolam hangat untuk grup Penskalaan Otomatis Anda di Panduan Pengembang Amazon Elastic Container Service.