0Pricing
AWS Solutions Architect · Pelajaran

Penyegaran Instans dan Kait Siklus Hidup

Luncurkan templat peluncuran baru secara bertahap dengan penyegaran instans, dan gunakan kait siklus hidup untuk menjalankan logika kustom sebelum instans diluncurkan atau dihentikan.

Penyegaran Instans dan Kait Siklus Hidup adalah pelajaran AWS Solutions Architect gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AWS Solutions Architect, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AWS Solutions Architect mencakup 4 pelajaran total.

Masalah Pembaruan Instans Bergulir

Ketika Anda memperbarui Templat Peluncuran (AMI baru, data pengguna baru, jenis instans baru), instans yang sedang berjalan dalam ASG tidak otomatis diganti—instans tersebut tetap menjalankan konfigurasi lama. Untuk menerapkan perubahan, Anda harus mengganti instans. Menghentikan dan meluncurkan ulang instans secara manual berisiko serta rentan terhadap kesalahan. Penyegaran Instans mengotomatiskan proses ini dengan kontrol keamanan yang dapat dikonfigurasi.

Penyegaran Instans: Cara Kerjanya

Penyegaran Instans mengganti instans ASG dalam beberapa kelompok secara bergulir. Pada setiap tahap, fitur ini menghentikan sekelompok instans lama, menunggu instans baru lulus pemeriksaan kesehatan, lalu melanjutkan ke kelompok berikutnya. Anda mengatur kecepatannya dengan MinHealthyPercentage (persentase minimum kapasitas yang harus tetap sehat selama penyegaran) dan waktu InstanceWarmup opsional.

aws autoscaling start-instance-refresh \
  --auto-scaling-group-name 'MyAppASG' \
  --preferences '{
    "MinHealthyPercentage": 80,
    "InstanceWarmup": 300,
    "CheckpointPercentages": [20, 50, 100],
    "CheckpointDelay": 600
  }'

MinHealthyPercentage dan Ukuran Kelompok

MinHealthyPercentage menentukan batas minimum kapasitas sehat selama penyegaran. Jika Anda menetapkannya sebesar 90%, hanya 10% armada yang diganti setiap kali—lebih lambat tetapi lebih aman. Nilai 50% mengganti setengah armada sekaligus—lebih cepat tetapi dengan redundansi yang lebih rendah. ASG secara otomatis menghitung ukuran kelompok berdasarkan persentase ini dan kapasitas yang diinginkan saat ini. Pilih persentase yang lebih tinggi untuk beban kerja produksi agar ketersediaan tetap terjaga.

Titik Pemeriksaan untuk Peluncuran Bergaya Canary

Titik pemeriksaan memungkinkan Anda menjeda Penyegaran Instans pada tonggak persentase yang telah ditentukan. Misalnya, Anda dapat menyegarkan 20% instans, menjeda selama 10 menit untuk menjalankan pengujian awal, lalu melanjutkan. Jika mendeteksi masalah pada titik pemeriksaan mana pun, Anda dapat membatalkan penyegaran—ASG berhenti mengganti instans tambahan, tetapi membiarkan instans yang sudah diganti tetap berjalan (instans tersebut sudah menggunakan templat baru). Ini pada dasarnya merupakan pola deployment canary untuk EC2.

Membatalkan dan Memantau Penyegaran Instans

Anda dapat membatalkan Penyegaran Instans yang sedang berlangsung kapan saja; proses ini menghentikan penggantian berikutnya, tetapi tidak mengembalikan instans yang telah selesai diganti. Gunakan describe-instance-refreshes untuk memeriksa status, persentase kemajuan, dan instans yang gagal diluncurkan. Integrasikan Penyegaran Instans dengan pipeline CI/CD Anda untuk memicu penyegaran secara otomatis setelah AMI baru dikirim ke Templat Peluncuran, sehingga menghasilkan deployment bergaya biru/hijau yang sepenuhnya otomatis.

aws autoscaling describe-instance-refreshes \
  --auto-scaling-group-name 'MyAppASG'

# Cancel a running refresh
aws autoscaling cancel-instance-refresh \
  --auto-scaling-group-name 'MyAppASG'

Pengenalan Hook Siklus Hidup

Hook Siklus Hidup menjeda transisi instans ASG pada momen-momen penting agar Anda dapat menjalankan logika khusus sebelum instans menjadi aktif atau sebelum dihentikan. Ada dua titik hook: EC2_INSTANCE_LAUNCHING (setelah peluncuran, sebelum instans dimasukkan ke InService) dan EC2_INSTANCE_TERMINATING (setelah keputusan penghentian, sebelum instans benar-benar dihentikan). Selama hook berlangsung, instans berada dalam status Pending:Wait atau Terminating:Wait.

Kasus Penggunaan Hook Siklus Hidup Peluncuran

Hook peluncuran ideal untuk tugas yang harus selesai sebelum instans melayani lalu lintas: memasang perangkat lunak tambahan, mengambil konfigurasi dari Parameter Store, mendaftarkan diri ke registri penemuan layanan, atau menjalankan pengujian integrasi. ASG tidak akan menambahkan instans ke grup target penyeimbang beban sampai hook selesai (atau mengalami waktu habis). Hal ini mencegah lalu lintas mencapai instans yang konfigurasinya belum lengkap.

aws autoscaling put-lifecycle-hook \
  --auto-scaling-group-name 'MyAppASG' \
  --lifecycle-hook-name 'AppInit' \
  --lifecycle-transition EC2_INSTANCE_LAUNCHING \
  --default-result ABANDON \
  --heartbeat-timeout 300

Kasus Penggunaan Hook Siklus Hidup Penghentian

Hook penghentian dijalankan sebelum instans benar-benar dihentikan. Kasus penggunaannya mencakup: mengosongkan permintaan yang sedang diproses dari antrean tingkat aplikasi, menulis data yang tersimpan dalam cache ke penyimpanan permanen, membatalkan pendaftaran dari registri layanan, atau menyalin berkas log ke S3. Tanpa hook penghentian, pekerjaan yang sedang berlangsung pada instans yang dihentikan dapat hilang. Hook ini memberi Anda waktu hingga 2 jam (batas waktu heartbeat) untuk menyelesaikan tugas penghentian secara bertahap.

aws autoscaling put-lifecycle-hook \
  --auto-scaling-group-name 'MyAppASG' \
  --lifecycle-hook-name 'GracefulShutdown' \
  --lifecycle-transition EC2_INSTANCE_TERMINATING \
  --default-result CONTINUE \
  --heartbeat-timeout 120

Menyelesaikan Hook Siklus Hidup

Logika khusus yang berjalan pada instans (atau dipicu olehnya) harus memberi tahu hook ketika tugasnya selesai. Gunakan complete-lifecycle-action dengan CONTINUE (melanjutkan secara normal) atau ABANDON (pada hook peluncuran, menghentikan instans; pada hook penghentian, mengabaikan dan melanjutkan). Anda juga dapat memperpanjang batas waktu hook dengan mengirimkan heartbeat pada setiap interval hingga durasi maksimum. Jika waktu hook habis, DefaultResult akan diterapkan.

# From inside the instance or a Lambda triggered by EventBridge
aws autoscaling complete-lifecycle-action \
  --auto-scaling-group-name 'MyAppASG' \
  --lifecycle-hook-name 'AppInit' \
  --lifecycle-action-result CONTINUE \
  --instance-id 'i-0abc123def456'

Memicu Logika dengan EventBridge

Cara paling bersih untuk merespons hook siklus hidup adalah melalui Amazon EventBridge. Saat hook siklus hidup dipicu, ASG mengirimkan peristiwa ke EventBridge. Aturan EventBridge merutekan peristiwa ini ke fungsi Lambda yang menjalankan pekerjaan yang diperlukan, lalu memanggil complete-lifecycle-action. Arsitektur ini sepenuhnya tanpa server, tidak memerlukan polling, dan dapat diskalakan secara otomatis. Notifikasi SQS dan SNS merupakan alternatif yang lebih lama, tetapi EventBridge lebih disarankan untuk desain baru.

Penyegaran Instans Terintegrasi dengan Hook Siklus Hidup

Ketika Penyegaran Instans mengganti sebuah instans, kedua hook siklus hidup tetap dipicu: hook penghentian pada instans lama dan hook peluncuran pada instans baru. Artinya, logika penghentian secara bertahap dan inisialisasi Anda berjalan otomatis selama pembaruan bergulir, bukan hanya selama peristiwa penskalaan normal. Selalu uji logika hook siklus hidup Anda selama Penyegaran Instans bertahap sebelum peluncuran produksi untuk memastikan perilakunya benar.

Pemeriksaan Singkat

Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.

Rangkuman Pelajaran

Dalam pelajaran ini, Anda mempelajari bahwa Penyegaran Instans mengganti instans ASG dalam kelompok bergulir yang dikendalikan oleh MinHealthyPercentage dan titik pemeriksaan opsional untuk validasi bergaya canary; Hook Siklus Hidup menjeda transisi instans saat peluncuran atau penghentian untuk menjalankan logika inisialisasi khusus atau penghentian secara bertahap; dan EventBridge + Lambda merupakan pola yang direkomendasikan untuk merespons peristiwa hook siklus hidup tanpa polling. Selanjutnya, kita akan membahas fungsi AWS Lambda, runtime, pemicu, dan handler.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Penyegaran Instans dan Kait Siklus Hidup” gratis?

Ya — teks lengkap “Penyegaran Instans dan Kait Siklus Hidup” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AWS Solutions Architect, upgrade ke CoddyKit PRO. Kursus AWS Solutions Architect mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Penyegaran Instans dan Kait Siklus Hidup”?

Luncurkan templat peluncuran baru secara bertahap dengan penyegaran instans, dan gunakan kait siklus hidup untuk menjalankan logika kustom sebelum instans diluncurkan atau dihentikan. Kamu berlatih AWS Solutions Architect dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai AWS Solutions Architect?

Tidak diperlukan pengalaman sebelumnya. AWS Solutions Architect di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Penyegaran Instans dan Kait Siklus Hidup” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran AWS Solutions Architect ini?

Ya. Setiap pelajaran AWS Solutions Architect menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Templat Peluncuran dan Konfigurasi ASG
  2. Kebijakan Penskalaan: Pelacakan Target dan Penskalaan Bertahap
  3. Penskalaan Terjadwal dan Prediktif
  4. Penyegaran Instans dan Kait Siklus Hidup
← Kembali ke AWS Solutions Architect