View a markdown version of this page

Hentikan beban kerja Amazon ECS yang berjalan di instans EC2 dengan aman - Amazon Elastic Container Service

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

Hentikan beban kerja Amazon ECS yang berjalan di instans EC2 dengan aman

Pengeringan instans terkelola memfasilitasi penghentian instans Amazon EC2 dengan lancar. Hal ini memungkinkan beban kerja Anda berhenti dengan aman dan dijadwalkan ulang ke instans yang tidak dihentikan. Pemeliharaan dan pembaruan infrastruktur dilakukan tanpa mengkhawatirkan gangguan beban kerja. Dengan menggunakan pengurasan instans terkelola, Anda menyederhanakan alur kerja manajemen infrastruktur yang memerlukan penggantian instans Amazon EC2 sambil memastikan ketahanan dan ketersediaan aplikasi Anda.

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

Pengeringan instans terkelola hanya dapat digunakan dengan penyedia kapasitas Amazon ECS. Anda dapat mengaktifkan pengurasan instans terkelola saat membuat atau memperbarui penyedia kapasitas grup Penskalaan Otomatis menggunakan konsol Amazon ECS AWS CLI, atau SDK.

Peristiwa berikut dicakup oleh pengeringan instans terkelola Amazon ECS.

  • Penyegaran instans grup Penskalaan Otomatis ‐ Gunakan penyegaran instans untuk melakukan penggantian instans Amazon EC2 secara bergulir di grup Penskalaan Otomatis alih-alih melakukannya secara manual secara batch. Ini berguna ketika Anda perlu mengganti sejumlah besar instance. Penyegaran instans dimulai melalui konsol Amazon EC2 atau StartInstanceRefresh API. Pastikan Anda memilih Scale-in perlindungan saat Replace menelepon StartInstanceRefresh jika Anda menggunakan perlindungan penghentian terkelola.

  • Masa pakai instans maksimum - Anda dapat menentukan masa pakai maksimum untuk mengganti instans grup Auto Scaling. Ini berguna untuk menjadwalkan instans penggantian berdasarkan kebijakan keamanan internal atau kepatuhan.

  • Penskalaan grup Auto Scaling ‐ Berdasarkan kebijakan penskalaan dan tindakan penskalaan terjadwal, grup Auto Scaling mendukung penskalaan instans secara otomatis. 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 Penskalaan Otom atis ‐ Grup Penskalaan Otomatis mendukung banyak pemeriksaan kesehatan untuk mengelola penghentian instans yang tidak sehat.

  • CloudFormation pembaruan tumpu kan - Anda dapat menambahkan UpdatePolicy atribut ke tumpukan CloudFormation Anda untuk melakukan pembaruan bergulir saat grup berubah.

  • Penyeimbangan kembali kapasitas spot — Grup Penskalaan Otomatis mencoba secara proaktif mengganti Instans Spot yang memiliki risiko gangguan yang lebih tinggi berdasarkan pemberitahuan penyeimbang kembali kapasitas Amazon EC2. Grup Penskalaan Otomatis mengakhiri instance lama saat penggantian diluncurkan dan sehat. Pengeringan instans terkelola Amazon ECS menguras Instans Spot dengan cara yang sama seperti menguras Instans Non-Spot.

  • Interupsi spot ‐ Instans Spot dihentikan dengan pemberitahuan dua menit. Penger ECS-managed ingan instans Amazon menempatkan instance dalam keadaan menguras sebagai tanggapan.

Pengait siklus hidup Amazon EC2 Auto Scaling dengan pengeringan instans terkelola

Pengait siklus hidup grup Penskalaan Otomatis memungkinkan pelanggan membuat solusi yang dipicu oleh peristiwa tertentu dalam siklus hidup instans dan melakukan tindakan khusus ketika peristiwa tertentu terjadi. Grup Penskalaan Otomatis memungkinkan hingga 50 kait. Beberapa kait terminasi dapat ada dan dilakukan secara paralel, dan grup Auto Scaling menunggu semua kait selesai sebelum mengakhiri instance.

Selain penghentian ECS-managed kait Amazon, Anda juga dapat mengonfigurasi kait penghentian siklus hidup Anda sendiri. Kait siklus hidup memilikidefault action, dan kami sarankan pengaturan continue sebagai default untuk memastikan kait lain, seperti kait yang dikelola Amazon ECS, tidak terpengaruh oleh kesalahan apa pun dari kait khusus.

Jika Anda telah mengonfigurasi kait siklus hidup penghentian grup Penskalaan Otomatis dan juga mengaktifkan pengeringan instans terkelola Amazon ECS, kedua kait siklus hidup akan dilakukan. Namun, pengaturan waktu relatif tidak dijamin. Kait siklus hidup memiliki default action pengaturan untuk menentukan tindakan yang harus dilakukan saat batas waktu berlalu. Jika terjadi kegagalan, kami sarankan menggunakan continue sebagai hasil default di hook khusus Anda. Ini memastikan kait lain, terutama kait yang dikelola Amazon ECS, tidak terpengaruh oleh kesalahan apa pun dalam kait siklus hidup kustom Anda. Hasil alternatif abandon menyebabkan semua kait lainnya dilewati dan harus dihindari. Untuk informasi selengkapnya tentang kait siklus hidup grup Penskalaan Otomatis, lihat kait siklus hidup Amazon EC2 Auto Scaling di Panduan Pengguna Penskalaan Otomatis Amazon EC2.

Pengeringan tugas dan instans terkelola

Pengeringan instans terkelola Amazon ECS menggunakan fitur drainase yang ada yang ditemukan di instans kontainer. Fitur penger ingan instans kontainer melakukan penggantian dan penghentian untuk tugas replika milik layanan Amazon ECS. Tugas mandiri, seperti yang dipanggil olehRunTask, yang berada dalam RUNNING status PENDING atau tetap tidak terpengaruh. Anda harus menunggu ini menyelesaikan atau menghentikannya secara manual. Instans 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.

Pengerasan instans terkelola dan perlindungan terminasi terkelola

Pengeringan instans terkelola berfungsi meskipun penghentian terkelola dinonaktifkan. Untuk informasi tentang perlindungan penghentian terkelola, lihatKontrol instans yang dihentikan Amazon ECS.

Tabel berikut merangkum perilaku untuk berbagai kombinasi penghentian terkelola dan pengeringan terkelola.

Pengakhiran terkelola Pengeringan yang dikelola Hasil

Diaktifkan

Diaktifkan Amazon ECS melindungi instans Amazon EC2 yang menjalankan tugas agar tidak dihentikan oleh peristiwa scale-in. Instans apa pun yang mengalami penghentian, seperti yang tidak memiliki perlindungan penghentian yang ditetapkan, telah menerima gangguan Spot, atau dipaksa oleh penyegaran instans akan terkuras dengan lancar.

Nonaktif

Diaktifkan Amazon ECS tidak melindungi instans Amazon EC2 yang menjalankan tugas agar tidak diperbesar. Namun, setiap contoh yang dihentikan akan terkuras dengan anggun.

Diaktifkan

Dinonaktifkan Amazon ECS melindungi instans Amazon EC2 yang menjalankan tugas agar tidak dihentikan oleh peristiwa scale-in. Namun, instans masih bisa dihentikan oleh gangguan Spot atau penyegaran instans paksa, atau jika tidak menjalankan tugas apa pun. Amazon ECS tidak melakukan pengeringan yang anggun untuk instans ini, dan meluncurkan tugas layanan penggantian setelah dihentikan.

Nonaktif

Nonaktif Instans Amazon EC2 dapat diskalakan atau dihentikan kapan saja, bahkan jika instans tersebut menjalankan tugas Amazon ECS. Amazon ECS akan meluncurkan tugas layanan penggantian setelah berhenti.
Pengeringan instans terkelola dan pengeringan Instans Spot

Dengan pengeringan Instans Spot, Anda dapat menyetel variabel lingkungan ECS_ENABLE_SPOT_INSTANCE_DRAINING pada agen Amazon ECS yang memungkinkan Amazon ECS menempatkan instance dalam status pengurasan sebagai respons terhadap interupsi Spot selama dua menit. Pengeringan instans terkelola Amazon ECS memfasilitasi penutupan instans Amazon EC2 yang mengalami penghentian karena berbagai alasan, bukan hanya gangguan Spot. Misalnya, Anda dapat menggunakan penyeimbangan kembali kapasitas Amazon EC2 Auto Scaling untuk secara proaktif mengganti Instans Spot dengan risiko gangguan yang tinggi, dan pengurasan instans terkelola akan melakukan penghentian instans Spot yang sedang diganti dengan lancar. Bila Anda menggunakan pengeringan instans terkelola, Anda tidak perlu mengaktifkan pengeringan instans Spot secara terpisah, jadi ECS_ENABLE_SPOT_INSTANCE_DRAINING di Auto Scaling grup data pengguna akan berlebihan. Untuk informasi selengkapnya tentang pengeringan Instans Spot, lihatInstans Spot.

Cara kerja pengeringan instans terkelola dengan EventBridge

Peristiwa menguras instans terkelola Amazon ECS dipublikasikan ke Amazon EventBridge, dan Amazon ECS membuat aturan terkel EventBridge ola di bus default akun Anda untuk mendukung pengurasan 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 peristiwa ke EventBridge 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 API.

  • EventBridge memiliki mekanisme percobaan ulang yang dibangun sebagai mitigasi untuk kegagalan sementara.

Pemecahan masalah menguras instans terkelola Amazon ECS

Anda mungkin perlu memecahkan masalah dengan menguras 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 dihentikan bahkan setelah mencapai dan melebihi masa pakai instance maksimum saat menggunakan grup penskalaan otomatis, mungkin karena instans tersebut dilindungi dari penskalaan. Anda dapat menonaktifkan penghentian terkelola dan mengizinkan pengelolaan pengeringan untuk menangani daur ulang instans.

Perilaku menguras tenaga untuk Instans Terkelola Amazon ECS

Penghentian Instans Terkelola Amazon ECS memastikan transisi beban kerja yang lancar sekaligus mengoptimalkan biaya dan menjaga kesehatan sistem. Sistem terminasi menyediakan tiga jalur keputusan yang berbeda misalnya penghentian, masing-masing dengan karakteristik waktu dan profil dampak pelanggan yang berbeda.

Jalur keputusan penghentian

Customer-initiated penghentian

Menyediakan kontrol langsung atas penghapusan instans saat Anda perlu menghapus instans kontainer dari layanan segera. Anda memanggil DeregisterContainerInstance API dengan tanda paksa yang disetel ke true, menunjukkan bahwa penghentian segera diperlukan meskipun ada beban kerja yang sedang berjalan.

System-initiated penghentian idle

Instans Terkelola Amazon ECS terus memantau dan secara proaktif mengoptimalkan biaya dengan menghentikan instans kontainer Amazon ECS yang tidak menjalankan tugas apa pun. ECS menggunakan penundaan heuristik untuk memberi instans kontainer kesempatan untuk memperoleh tugas yang baru diluncurkan sebelum dihentikan. Ini dapat disesuaikan dengan parameter konfigurasi penyedia kapasitas Instans Terkelola scaleInAfter Amazon ECS.

Penghentian penyegaran infrastruktur

Instans Terkelola Amazon ECS secara otomatis mengelola dan memperbarui perangkat lunak pada instans kontainer terkelola untuk memastikan keamanan dan kepatuhan sambil mempertahankan ketersediaan beban kerja. Untuk informasi selengkapnya, lihat menam bal di Instans Terkelola Amazon ECS.

Pengeringan yang anggun dan migrasi beban kerja

Sistem drainase 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 tugas layanan menguras koordinasi

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

Two-phase strategi penyelesaian

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 yang anggun yang memprioritaskan kontinuitas beban kerja. Tugas layanan dikeringkan dengan anggun melalui proses penjadwalan Amazon ECS normal, tugas mandiri terus berjalan dan dapat diselesaikan secara alami, dan sistem memantau agar semua tugas mencapai keadaan berhenti melalui proses penyelesaian alami.

Fase 2: Penegakan tenggat waktu yang sulit

Ketika penyelesaian yang anggun tidak mencapai tujuan penghentian dalam jangka waktu yang dapat diterima, sistem menerapkan penegakan tenggat waktu yang keras. Tenggat waktu yang sulit biasanya diatur untuk menguras waktu inisiasi ditambah tujuh hari, memberikan waktu yang cukup besar untuk penyelesaian yang anggun sambil mempertahankan persyaratan operasional. Penegakan termasuk pemanggilan otomatis prosedur deregistrasi paksa dan penghentian segera semua tugas yang tersisa terlepas dari status penyelesaian.