Belajar Keepalived - Production Hardening & Best Practices
Episode 22 of 23

Belajar Keepalived - Production Hardening & Best Practices

Episode pamungkas merangkum semuanya menjadi produksi yang siap tempur: checklist hardening keamanan dan ketersediaan, latihan pemulihan bencana dan strategi upgrade yang aman, serta mendokumentasikan topologi Keepalived dan batas dukungannya.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Selamat, kalian sampai di episode terakhir! Episode 22 merangkum seluruh perjalanan menjadi satu hal: kesiapan produksi. Semua konsep yang sudah dipelajari — VRRP, health check, LVS, security, monitoring, SLO — disatukan dalam checklist hardening dan prosedur operasional yang berkelanjutan.

Episode ini juga menekankan dua kebiasaan yang paling sering dilupakan: latihan dan dokumentasi. Infrastruktur terbaik sekalipun akan goyah jika tidak pernah diuji dalam skenario bencana dan tidak didokumentasikan untuk orang yang akan mengambil alih. Mari tutup series ini dengan fondasi yang tidak mudah lapuk.

Checklist Hardening Keamanan

Konfigurasi yang Aman

Mulai dari hal-hal yang sudah kita bangun di episode 9 dan 13:

  • Gunakan auth_type AH atau isolasi jaringan yang ketat; jangan auth_type PASS.
  • Letakkan VRRP di dedicated VLAN atau pakai unicast VRRP.
  • Aktifkan rp_filter dan arp_filter di semua node.
  • Batasi health check endpoint hanya dari node HA.
  • Set chmod 600 pada semua file yang berisi secret.

Lengkapi dengan verifikasi cepat:

Audit keamanan node HA
sudo ss -tlnp | grep -E "keepalived|:9093|:80"
sudo sysctl net.ipv4.conf.all.rp_filter

Output ss -tlnp | grep keepalived menunjukkan port yang dibuka, dan sysctl net.ipv4.conf.all.rp_filter memastikan reverse path filtering aktif.

Praktik Operasional yang Aman

  • Beri akses root hanya kepada yang membutuhkan.
  • Pantau perubahan konfigurasi lewat Git dan review.
  • Hindari kredensial di script health check atau notify.
  • Putar secret secara berkala dan dokumentasikan rotasinya.

Checklist Hardening Ketersediaan

Redundansi Berlapis

Ketersediaan dimulai dari desain:

  • Minimal dua node dalam setiap virtual router.
  • Uplink redundan dan track_interface yang benar.
  • Jalur VRRP tidak bergantung pada satu switch atau satu link.
  • Backend selalu lebih dari satu dan dilindungi health check.

Kesiapan Operasional

  • Konfigurasi diversioning dan bisa di-rollback dengan tag.
  • Backup keepalived.conf dan aturan IPVS di luar node.
  • Alerting yang teruji untuk transisi state dan VIP hilang.
  • Runbook insiden yang dilatih dalam game day terjadwal.

Latihan Pemulihan Bencana dan Upgrade

Game Day Rutin

Jadwalkan latihan pemulihan minimal per kuartal. Skenario yang wajib diuji:

  • Matikan node MASTER secara total, ukur waktu failover.
  • Matikan node BACKUP, pastikan tidak ada dampak.
  • Matikan salah satu uplink, pastikan VIP berpindah.
  • Pulihkan node, amati failback sesuai kebijakan.

Catat setiap hasil dan bandingkan dengan SLO yang ditetapkan di episode 21.

Upgrade Keepalived yang Aman

Upgrade Keepalived antar versi harus gradual dan bertahap:

Upgrade bergantian
sudo apt update
sudo apt install -y keepalived
sudo keepalived -t -f /etc/keepalived/keepalived.conf
sudo systemctl restart keepalived

Upgrade satu node dalam satu waktu: mulai dari BACKUP, verifikasi, lalu lanjut ke MASTER. Periksa keepalived -t setelah upgrade, karena fitur seperti auth_type PASS bisa berubah antar versi (ingat episode 9).

Verifikasi Setelah Upgrade

Setelah kedua node di-upgrade, lakukan failover terukur untuk memastikan perilaku tetap sama, lalu pantau log beberapa hari. Catat versi yang berjalan di setiap node agar dokumentasi selalu akurat.

Mendokumentasikan Topologi dan Support Boundaries

Dokumentasi yang Harus Ada

Topologi Keepalived sebaiknya terdokumentasi minimal dengan:

  • Diagram: node, VIP, virtual_router_id, dan arah traffic.
  • Tabel kepemilikan: VIP mana dimiliki instance mana di node mana.
  • Kebijakan: preemption, failback, dan SLO.
  • Runbook dan kontak on-call.

Dokumentasi bukan barang mewah; ini jaring pengaman saat insiden terjadi di tengah malam.

Menetapkan Support Boundaries

Batasi cakupan dukungan dengan jelas: apa yang dijamin HA (VIP, failover, load balancing L4) dan apa yang bukan tanggung jawab Keepalived (state aplikasi, replikasi database, konsensus). Dengan batas yang jelas, ekspektasi tim dan manajemen tidak melenceng.

Konfigurasi Final yang Ideal

Penutup konfigurasi yang mencerminkan seluruh best practices:

Konfigurasi produksi yang di-hardening
global_defs {
  router_id LB-01
  log_facility 5
}
 
vrrp_script chk_haproxy {
  script "/usr/bin/killall -0 haproxy"
  interval 2
  weight -30
  rise 2
  fall 3
}
 
vrrp_instance VI_1 {
  state MASTER
  interface eth0
  virtual_router_id 51
  priority 100
  advert_int 100cs
  preempt_delay 30
  track_interface {
    eth1
  }
  track_script {
    chk_haproxy
  }
  virtual_ipaddress {
    192.168.1.100/24 dev eth0
  }
}

Blok vrrp_instance VI_1 ini merangkum pembelajaran: advert_int 100cs untuk failover cepat, preempt_delay 30 untuk failback terkontrol, track_interface dan track_script untuk penurunan priority otomatis.

Penutup

Episode 22 menutup series dengan cara yang benar: hardening yang terverifikasi, latihan pemulihan yang terjadwal, upgrade yang bertahap, dan dokumentasi yang akan menyelamatkan tim kalian di tengah malam. Kalian kini bukan lagi pengguna Keepalived, melainkan pengelolanya.

Inti yang harus dibawa pulang:

  • Hardening mencakup keamanan dan ketersediaan secara bersamaan.
  • Latihan pemulihan terjadwal membuat runbook tidak menjadi fiksi.
  • Upgrade bergantian dari BACKUP ke MASTER menjaga ketersediaan.
  • Verifikasi ulang dengan keepalived -t setelah setiap upgrade.
  • Dokumentasikan topologi, kebijakan, dan batas dukungan.
  • Jadikan kebiasaan ini berkelanjutan, bukan proyek sekali jalan.

Series Belajar Keepalived selesai! Dari pre-requisites di episode 0 hingga production hardening di episode 22, kalian sudah menempuh perjalanan lengkap: memahami VRRP, membangun failover, mengintegrasikan LVS, mengamankan traffic, memantau status, dan mengelola operasionalnya. Terapkan, latih, dan dokumentasikan — semoga infrastruktur kalian selalu terjaga hidup, persis seperti nama daemon yang kalian kelola.

Belajar Keepalived - Production Hardening & Best Practices | Belajar Keepalived