Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menghentikan beban kerja Amazon ECS dengan aman yang berjalan pada instans EC2
Pengurasan instans terkelola memfasilitasi penghentian instans Amazon EC2 yang anggun. Hal ini memungkinkan beban kerja Anda berhenti dengan aman dan dijadwal ulang ke instans non-terminating. Pemeliharaan dan pembaruan infrastruktur dilakukan tanpa khawatir akan gangguan pada beban kerja. Dengan menggunakan pengeringan instans terkelola, Anda menyederhanakan alur kerja manajemen infrastruktur yang memerlukan penggantian instans Amazon EC2 sambil memastikan ketahanan dan ketersediaan aplikasi.
Pengurasan instans terkelola Amazon ECS berfungsi dengan penggantian instans grup Auto Scaling. Berdasarkan penyegaran instans dan masa pakai instans maksimum, pelanggan dapat memastikan bahwa mereka tetap mematuhi OS terbaru dan mandat keamanan untuk kapasitas mereka.
Pengurasan instans terkelola hanya dapat digunakan dengan penyedia kapasitas Amazon ECS. Anda dapat mengaktifkan pengurasan instans terkelola saat membuat atau memperbarui penyedia kapasitas grup Auto Scaling menggunakan konsol Amazon ECS AWS CLI, atau SDK.
Peristiwa berikut dicakup oleh pengeringan instans terkelola Amazon ECS.
-
Penyegaran instans grup Auto Scaling - Gunakan penyegaran instans untuk melakukan penggantian bergulir instans Amazon EC2 di grup Auto Scaling alih-alih melakukannya secara manual dalam batch. Ini berguna ketika Anda perlu mengganti sejumlah besar instance. Penyegaran instans dimulai melalui konsol Amazon EC2 atau
StartInstanceRefreshAPI. Pastikan Anda memilihReplaceperlindungan Scale-in saat meneleponStartInstanceRefreshjika Anda menggunakan proteksi terminasi terkelola. -
Masa pakai instans maksimum - Anda dapat menentukan masa pakai maksimum saat mengganti instance grup Auto Scaling. Hal ini berguna untuk menjadwalkan instance penggantian berdasarkan kebijakan keamanan internal atau kepatuhan.
-
Penskalaan grup Auto Scaling - Berdasarkan kebijakan penskalaan dan tindakan penskalaan terjadwal, grup Auto Scaling mendukung penskalaan otomatis instans. Dengan menggunakan grup Auto Scaling sebagai penyedia kapasitas Amazon ECS, Anda dapat menskalakan instans grup Auto Scaling saat tidak ada tugas yang berjalan di dalamnya.
-
Pemeriksaan kesehatan grup Auto Scaling - Grup Auto Scaling mendukung banyak pemeriksaan kesehatan untuk mengelola penghentian kejadian yang tidak sehat.
-
CloudFormation pembaruan tumpukan - Anda dapat menambahkan
UpdatePolicyatribut ke CloudFormation tumpukan Anda untuk melakukan pembaruan bergulir saat grup berubah. -
Penyeimbangan kembali kapasitas spot - Grup Auto Scaling mencoba mengganti Instans Spot secara proaktif yang memiliki risiko interupsi lebih tinggi berdasarkan pemberitahuan penyeimbangan kembali kapasitas Amazon EC2. Grup Auto Scaling menghentikan instans lama saat penggantian diluncurkan dan sehat. Pengurasan instans terkelola Amazon ECS menguras Instans Spot dengan cara yang sama seperti menguras Instans Non-Spot.
-
Gangguan spot - Instans Spot diakhiri dengan pemberitahuan dua menit. Pengurasan instans yang dikelola Amazon ECS menempatkan instance dalam status menguras sebagai respons.
Kait siklus hidup Amazon EC2 Auto Scaling dengan pengurasan instans terkelola
Kait siklus hidup grup Auto Scaling memungkinkan pelanggan membuat solusi yang dipicu oleh peristiwa tertentu dalam siklus hidup instance dan melakukan tindakan kustom saat peristiwa tertentu terjadi. Grup Auto Scaling memungkinkan hingga 50 kait. Beberapa kait terminasi dapat ada dan dilakukan secara paralel, dan grup Auto Scaling menunggu semua kait selesai sebelum mengakhiri sebuah instance.
Selain penghentian kait yang dikelola Amazon ECS, Anda juga dapat mengonfigurasi kait penghentian siklus hidup Anda sendiri. Kait siklus hidup memilikidefault action, dan sebaiknya continue setelan sebagai default untuk memastikan kait lain, seperti hook terkelola Amazon ECS, tidak terpengaruh oleh kesalahan apa pun dari kait khusus.
Jika Anda telah mengonfigurasi hook siklus hidup penghentian grup Auto Scaling dan juga mengaktifkan pengurasan instans terkelola Amazon ECS, kedua kait siklus hidup akan dilakukan. Pengaturan waktu relatif, bagaimanapun, tidak dijamin. Kait siklus hidup memiliki default action pengaturan untuk menentukan tindakan yang akan diambil saat batas waktu berlalu. Jika terjadi kegagalan, kami sarankan untuk menggunakan continue sebagai hasil default di kait khusus Anda. Ini memastikan kait lain, terutama kait terkelola Amazon ECS, tidak terpengaruh oleh kesalahan apa pun di hook siklus hidup kustom Anda. Hasil alternatif abandon menyebabkan semua kait lainnya dilewati dan harus dihindari. Untuk informasi selengkapnya tentang kait siklus hidup grup Auto Scaling, lihat kait siklus hidup Amazon EC2 Auto Scaling di Panduan Pengguna Amazon EC2 Auto Scaling.
Tugas dan pengeringan instans terkelola
Pengurasan instans terkelola Amazon ECS menggunakan fitur pengurasan yang ada yang ditemukan dalam instance kontainer. Fitur pengurasan instans kontainer melakukan penggantian dan penghentian untuk tugas replika yang termasuk dalam layanan Amazon ECS. Tugas mandiri, seperti yang dipanggil olehRunTask, yang berada dalam RUNNING status PENDING atau tetap tidak terpengaruh. Anda harus menunggu ini untuk menyelesaikan atau menghentikannya secara manual. Instance kontainer tetap dalam DRAINING status sampai semua tugas dihentikan atau 48 jam telah berlalu. Tugas daemon adalah yang terakhir berhenti setelah semua tugas replika berhenti.
Pengurasan instans terkelola dan perlindungan terminasi terkelola
Pengurasan instans terkelola berfungsi bahkan jika penghentian terkelola dinonaktifkan. Untuk informasi tentang perlindungan penghentian terkelola, lihatKontrol instans Amazon ECS berakhir.
Tabel berikut merangkum perilaku untuk kombinasi yang berbeda dari terminasi terkelola dan pengeringan terkelola.
| Pengakhiran terkelola | Pengeringan terkelola | Hasil |
|---|---|---|
|
Diaktifkan |
Diaktifkan | Amazon ECS melindungi instans Amazon EC2 yang menjalankan tugas agar tidak dihentikan oleh peristiwa penskalaan. Setiap instance yang mengalami penghentian, seperti yang tidak memiliki perlindungan terminasi yang ditetapkan, telah menerima interupsi Spot, atau dipaksa oleh penyegaran instans akan terkuras dengan baik. |
|
Nonaktif |
Diaktifkan | Amazon ECS tidak melindungi instans Amazon EC2 yang menjalankan tugas agar tidak diskalakan. Namun, setiap contoh yang sedang dihentikan akan dikeringkan dengan baik. |
|
Diaktifkan |
Dinonaktifkan | Amazon ECS melindungi instans Amazon EC2 yang menjalankan tugas agar tidak dihentikan oleh peristiwa penskalaan. Namun, instance masih dapat dihentikan oleh gangguan Spot atau penyegaran instans paksa, atau jika mereka tidak menjalankan tugas apa pun. Amazon ECS tidak melakukan pengeringan yang baik untuk instans ini, dan meluncurkan tugas layanan pengganti setelah berhenti. |
|
Nonaktif |
Nonaktif | Instans Amazon EC2 dapat diskalakan atau dihentikan kapan saja, meskipun menjalankan tugas Amazon ECS. Amazon ECS akan meluncurkan tugas layanan pengganti setelah berhenti. |
Pengurasan instans terkelola dan pengeringan Instans Spot
Dengan pengeringan Instans Spot, Anda dapat menyetel variabel lingkungan ECS_ENABLE_SPOT_INSTANCE_DRAINING di agen Amazon ECS yang memungkinkan Amazon ECS menempatkan instans dalam status pengurasan sebagai respons terhadap gangguan Spot dua menit. Pengurasan instans terkelola Amazon ECS memfasilitasi penutupan instans Amazon EC2 yang mengalami penghentian karena berbagai alasan, bukan hanya gangguan Spot. Misalnya, Anda dapat menggunakan penyeimbangan ulang kapasitas Amazon EC2 Auto Scaling untuk secara proaktif mengganti Instans Spot dengan risiko interupsi yang tinggi, dan pengurasan instans terkelola melakukan shutdown yang anggun pada Instans Spot yang diganti. Saat menggunakan pengurasan instans terkelola, Anda tidak perlu mengaktifkan pengurasan instans Spot secara terpisah, sehingga ECS_ENABLE_SPOT_INSTANCE_DRAINING data pengguna grup Auto Scaling berlebihan. Untuk informasi selengkapnya tentang pengeringan Instans Spot, lihatInstans Spot.
Bagaimana pengeringan instans terkelola bekerja dengan EventBridge
Acara pengeringan instans terkelola Amazon ECS dipublikasikan ke Amazon EventBridge, dan Amazon ECS membuat aturan EventBridge terkelola di bus default akun Anda untuk mendukung pengeringan instans terkelola. Anda dapat memfilter peristiwa ini ke AWS layanan lain seperti Lambda, Amazon SNS, dan Amazon SQS untuk memantau dan memecahkan masalah.
-
Amazon EC2 Auto Scaling mengirimkan EventBridge peristiwa ke saat hook siklus hidup dipanggil.
-
Pemberitahuan gangguan spot dipublikasikan ke. EventBridge
-
Amazon ECS menghasilkan pesan kesalahan yang dapat Anda ambil melalui konsol Amazon ECS dan. APIs
-
EventBridge memiliki mekanisme coba lagi yang dibangun sebagai mitigasi untuk kegagalan sementara.
Pemecahan masalah pengurasan instans Amazon ECS Terkelola
Anda mungkin perlu memecahkan masalah dengan pengeringan instans terkelola. Berikut ini adalah contoh masalah dan resolusi yang mungkin Anda temui saat menggunakannya.
Instans tidak berakhir setelah melebihi masa pakai instans maksimum saat menggunakan penskalaan otomatis.
Jika instans Anda tidak berakhir bahkan setelah mencapai dan melebihi masa pakai instans maksimum saat menggunakan grup penskalaan otomatis, itu mungkin karena mereka dilindungi dari penskalaan. Anda dapat mematikan penghentian terkelola dan mengizinkan pengeringan terkelola untuk menangani daur ulang instans.
Perilaku menguras untuk Instans Terkelola Amazon ECS
Pengakhiran Instans Terkelola Amazon ECS memastikan transisi beban kerja yang anggun sekaligus mengoptimalkan biaya dan menjaga kesehatan sistem. Sistem terminasi menyediakan tiga jalur keputusan yang berbeda misalnya penghentian, masing-masing dengan karakteristik waktu yang berbeda dan profil dampak pelanggan.
Jalur keputusan penghentian
- Penghentian yang diprakarsai pelanggan
-
Memberikan kontrol langsung atas penghapusan instance saat Anda perlu segera menghapus instance kontainer dari layanan. Anda menjalankan DeregisterContainerInstance API dengan flag force disetel ke true, yang menunjukkan bahwa penghentian segera diperlukan meskipun ada beban kerja yang berjalan.
- Penghentian idle yang diprakarsai sistem
-
Instans Terkelola Amazon ECS terus memantau dan mengoptimalkan biaya secara proaktif dengan menghentikan instans kontainer Amazon ECS yang tidak menjalankan tugas apa pun. ECS menggunakan penundaan heuristik untuk memberikan kesempatan kepada instance kontainer untuk memperoleh tugas yang baru diluncurkan sebelum dihentikan. Ini dapat disesuaikan dengan parameter konfigurasi penyedia kapasitas Instans Terkelola
scaleInAfterAmazon ECS. - Penghentian penyegaran infrastruktur
-
Instans Terkelola Amazon ECS secara otomatis mengelola dan memperbarui perangkat lunak pada instans kontainer terkelola untuk memastikan keamanan dan kepatuhan sekaligus menjaga ketersediaan beban kerja. Untuk informasi selengkapnya, lihat menambal di Instans Terkelola Amazon ECS.
Pengeringan yang anggun dan migrasi beban kerja
Sistem pengeringan yang anggun menerapkan koordinasi canggih dengan manajemen layanan Amazon ECS untuk memastikan bahwa tugas yang dikelola layanan dimigrasikan dengan benar dari instans yang dijadwalkan untuk penghentian.
Koordinasi pengurasan tugas layanan
Saat instance beralih ke status DRAINING, penjadwal Amazon ECS secara otomatis berhenti menempatkan tugas baru pada instans sambil menerapkan prosedur shutdown yang anggun untuk tugas layanan yang ada. Pengurasan tugas layanan mencakup koordinasi dengan strategi penyebaran layanan, persyaratan pemeriksaan kesehatan, dan preferensi pengeringan Anda untuk memastikan waktu migrasi dan tingkat keberhasilan yang optimal.
Penanganan tugas mandiri
Tugas mandiri memerlukan penanganan yang berbeda karena tidak mendapat manfaat dari manajemen layanan otomatis. Sistem mengevaluasi karakteristik tugas mandiri termasuk perkiraan durasi tugas, analisis probabilitas penyelesaian, dan penilaian dampak pelanggan. Strategi penyelesaian yang anggun memungkinkan tugas mandiri diselesaikan secara alami selama masa tenggang yang diperpanjang, sementara penghentian paksa memastikan penyegaran infrastruktur terjadi dalam jangka waktu yang dapat diterima ketika tugas belum selesai secara alami.
Strategi penyelesaian dua fase
Sistem terminasi menerapkan pendekatan dua fase yang menyeimbangkan kontinuitas beban kerja dengan persyaratan manajemen infrastruktur.
Fase 1: Periode penyelesaian yang anggun
Selama fase ini, sistem menerapkan strategi pengeringan anggun yang memprioritaskan kontinuitas beban kerja. Tugas layanan dikeringkan dengan baik melalui proses penjadwalan Amazon ECS normal, tugas mandiri terus berjalan dan dapat diselesaikan secara alami, dan sistem memantau semua tugas untuk mencapai status berhenti melalui proses penyelesaian alami.
Fase 2: Penegakan batas waktu yang sulit
Ketika penyelesaian yang anggun tidak mencapai tujuan penghentian dalam jangka waktu yang dapat diterima, sistem menerapkan penegakan tenggat waktu yang sulit. Batas waktu yang sulit biasanya ditetapkan untuk menguras waktu inisiasi ditambah tujuh hari, memberikan waktu yang cukup besar untuk penyelesaian yang anggun sambil mempertahankan persyaratan operasional. Penegakan hukum mencakup pemanggilan otomatis prosedur deregistrasi paksa dan penghentian segera semua tugas yang tersisa terlepas dari status penyelesaiannya.