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

Belajar HAProxy - Production Hardening & Best Practices

Episode terakhir menyatukan seluruh series menjadi kesiapan nyata: checklist produksi untuk keamanan, ketersediaan, observability, dan operasional, strategi disaster recovery dan backup konfigurasi, upgrade yang aman, serta cara mendokumentasikan konvensi dan batas dukungan tim.

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

Pendahuluan

Episode 22 adalah titik puncak series. Semua keterampilan yang kalian bangun — routing, keamanan, performa, observability, otomasi — kini dirangkai menjadi satu praktik: menjalankan HAProxy di produksi dengan tenang.

Kalian akan membawa pulang checklist produksi yang lengkap, strategi backup dan disaster recovery, prosedur upgrade yang aman, serta kebiasaan mendokumentasikan konvensi agar tim bisa mengoperasikan HAProxy tanpa hanya mengandalkan satu orang.

Checklist Produksi

Keamanan

Periksa sebelum go-live:

  • TLS terkunci: no-sslv3, no-tlsv10, no-tlsv11, cipher yang modern.
  • HSTS aktif dan redirect HTTP ke HTTPS.
  • Endpoint admin tersembunyi, stats diproteksi password.
  • File konfigurasi berhak akses ketat: chmod 600.
  • Rate limiting dan deny condition terpasang di frontend.

Ketersediaan

Pastikan tidak ada titik gagal:

  • Minimal dua node HAProxy dengan VRRP dan virtual IP.
  • Health check aktif untuk semua backend.
  • Backup server sebagai jaring pengaman.
  • Failover diuji berkala, bukan hanya saat insiden.

Observability

Kalian harus bisa melihat sebelum bisa memprediksi:

  • Metrik Prometheus aktif dan sudah ditarik Grafana.
  • Log HTTP mengalir ke sistem penyimpanan log.
  • Correlation ID dipasang di seluruh layanan.
  • Dashboard dan alert SLO sudah disepakati.

Kesiapan Operasional

Proses yang berulang harus terdokumentasi:

  • Runbook failover, trafik tinggi, dan DNS tersimpan.
  • Prosedur upgrade tertulis dan sudah diuji di staging.
  • Backup konfigurasi berjalan terjadwal.
  • Hanya orang berwenang yang bisa mengubah konfigurasi produksi.

Disaster Recovery dan Backup

Mem-backup Konfigurasi

Konfigurasi adalah aset paling berharga. Backup seluruh direktori konfigurasi:

Backup konfigurasi HAProxy
tar czf /backup/haproxy-$(date +%F).tar.gz \
  /etc/haproxy/ /run/haproxy-admin.sock 2>/dev/null || true
ls -lh /backup/haproxy-*.tar.gz | tail -n 3

tar czf /backup/haproxy-$(date +%F).tar.gz /etc/haproxy/ mengemas konfigurasi, MAP, dan sertifikat dengan tanggal di nama file. Simpan backup di penyimpanan di luar mesin, misalnya object storage.

Latihan Restore

Backup tanpa uji restore bukan backup. Latihan rutin:

  1. Siapkan mesin kosong dengan versi HAProxy sama.
  2. Ekstrak arsip ke /etc/haproxy/.
  3. Jalankan haproxy -c untuk validasi.
  4. Start service dan verifikasi trafik.
Restore dan validasi
tar xzf /backup/haproxy-2026-08-10.tar.gz -C /
haproxy -c -f /etc/haproxy/haproxy.cfg
sudo systemctl restart haproxy

Urutan tar xzf ... -C / lalu haproxy -c memastikan file pulih dan valid sebelum service dinyalakan.

Disaster Recovery Plan

Dokumen DR yang ringkas harus menjawab:

  • Berapa lama waktu pemulihan maksimum (RTO)?
  • Berapa banyak data yang boleh hilang (RPO)?
  • Siapa yang bisa menjalankan restore di luar jam kerja?
  • Di mana backup disimpan dan bagaimana cara mengaksesnya?

Jawaban yang jelas membuat keputusan saat panik menjadi mudah.

Strategi Upgrade yang Aman

Mengetahui Versi dan Perubahan

Sebelum upgrade, catat versi saat ini dan target:

Cek versi sebelum upgrade
haproxy -v
apt-cache policy haproxy | head -n 5

apt-cache policy haproxy menampilkan versi terpasang dan yang tersedia. Baca changelog antar versi: direktif yang dihapus atau diubah bisa membuat konfigurasi lama tidak valid.

Prosedur Upgrade Bertahap

Jangan upgrade semua node sekaligus:

  1. Validasi konfigurasi dengan binary versi baru di staging.
  2. Upgrade satu node dalam mode drain, mulai node paling tidak penting.
  3. Amati metrik dan log selama beberapa jam.
  4. Lanjutkan ke node lain setelah semuanya stabil.
Upgrade node dengan drain
echo "set server web_back/node1 state drain" | socat stdio /run/haproxy.sock
sudo apt upgrade -y haproxy
haproxy -c -f /etc/haproxy/haproxy.cfg
sudo systemctl restart haproxy
echo "set server web_back/node1 state ready" | socat stdio /run/haproxy.sock

Pola drain, upgrade, validasi, restart, ready membuat upgrade tidak pernah mengganggu trafik berjalan.

Rollback yang Jelas

Siapkan rencana mundur sebelum mulai:

  • Simpan binary versi lama atau setidaknya catat nomor versinya.
  • Backup konfigurasi sebelum upgrade.
  • Jika metrik memburuk, kembalikan versi dan reload.

Mendokumentasikan Konvensi dan Batas Dukungan

Konvensi yang Perlu Ditulis

Dokumentasi kecil menyimpan banyak waktu:

  • Aturan penamaan frontend dan backend.
  • Format komentar di setiap section konfigurasi.
  • Alur persetujuan perubahan konfigurasi.
  • Lokasi backup dan prosedur restore.
Template header konfigurasi
# owner: platform-team
# contact: #infra on slack
# last-reviewed: 2026-08-10
# configs under version control: yes

Komponen seperti ini di puncak haproxy.cfg mengomunikasikan kepemilikan dan status dengan cepat kepada siapa pun yang membukanya.

Batas Dukungan yang Realistis

Jujurlah tentang apa yang didukung:

  • Berapa node HAProxy yang boleh diubah tanpa approval?
  • Fitur apa saja yang dikelola tim platform versus tim aplikasi?
  • Versi HAProxy mana yang didukung dan kapan wajib upgrade?
  • Apa yang tidak termasuk tanggung jawab tim: ini menghindari ekspektasi yang salah.

Lihat kembali perjalanan: kalian mulai dari konsep TCP dan HTTP di episode 0, lalu menutupnya di episode 22 dengan checklist produksi. Dari instalasi sederhana sampai SLO, HAProxy kini bukan lagi kotak hitam, melainkan alat yang kalian kuasai sepenuhnya.

Penutup

Episode 22 merangkum semuanya menjadi satu: checklist yang mengubah konfigurasi menjadi produksi yang matang, backup dan DR yang membuat bencana tidak lagi menakutkan, upgrade yang bertahap, dan dokumentasi yang membuat tim berdiri di atas pundak yang sama.

Inti yang harus dibawa pulang:

  • Checklist produksi mencakup keamanan, ketersediaan, observability, dan operasional.
  • Backup tanpa uji restore bukan backup.
  • Upgrade satu node bertahap dengan pola drain, restart, ready.
  • Dokumentasikan konvensi dan batas dukungan untuk seluruh tim.
  • HAProxy adalah alat: disiplin konfigurasi dan operasional yang menentukan hasilnya.

Selamat menyelesaikan series Belajar HAProxy! Kalian sekarang memiliki peta lengkap dari pre-requisites hingga produksi. Langkah selanjutnya adalah menerapkannya di lingkungan nyata — mulai kecil, validasi setiap perubahan, dan bangun pengalaman kalian sendiri. Series ini ditutup, tapi perjalanan kalian dengan HAProxy baru dimulai.