High Availability & Load Balancing
- Dapatkan link
- X
- Aplikasi Lainnya
🔄⚡ Bab 16 – SOP High Availability & Load Balancing di Ubuntu Server
High Availability & Load Balancing di Ubuntu Server. Bab ini penting karena server yang melayani banyak pengguna harus tetap online, stabil, dan cepat, bahkan jika ada gangguan. Dengan konsep High Availability (HA) dan Load Balancing (LB), kita bisa membagi beban trafik ke beberapa server dan memastikan layanan tetap berjalan.
🎯 Tujuan
- Menjaga server tetap online meski ada gangguan.
- Membagi beban trafik ke beberapa server.
- Meningkatkan performa dan kecepatan akses website/aplikasi.
🔧 Lingkup
- Sistem operasi: Ubuntu Server
- Tools: Nginx/HAProxy untuk load balancing, Keepalived untuk failover
- Target: Web server (Apache/Nginx)
3. Langkah Kerja
💡 3.1 Konsep Dasar
- High Availability (HA): memastikan layanan tetap berjalan walau satu server mati.
- Load Balancing (LB): membagi trafik ke beberapa server agar tidak overload.
Penambahan: Konsep ini membentuk fondasi dari arsitektur server yang resilient (tahan banting) dan scalable (dapat diperluas). Load balancer bertindak sebagai pintu masuk utama, menerima permintaan dari pengguna dan mengarahkannya ke server yang paling siap.
/nginx 3.2 Setup Load Balancer dengan Nginx
- Install Nginx di server load balancer:
sudo apt update sudo apt install nginx -y - Edit konfigurasi:
sudo nano /etc/nginx/conf.d/loadbalancer.conf - Isi:
upstream backend { server 192.168.1.101; server 192.168.1.102; } server { listen 80; location / { proxy_pass http://backend; } } - Restart Nginx:
sudo systemctl restart nginx
→ Trafik akan dibagi ke server 192.168.1.101 dan 192.168.1.102.
Penambahan: Nginx menggunakan metode round-robin secara default untuk membagi beban. Kamu juga bisa menambahkan opsi weight untuk memberi prioritas pada server tertentu.
⚖️ 3.3 Setup Load Balancer dengan HAProxy
- Install HAProxy:
sudo apt install haproxy -y - Edit konfigurasi:
sudo nano /etc/haproxy/haproxy.cfg - Isi:
frontend http_front bind *:80 default_backend http_back backend http_back balance roundrobin server web1 192.168.1.101:80 check server web2 192.168.1.102:80 check - Restart HAProxy:
sudo systemctl restart haproxy
→ Trafik dibagi dengan metode round robin.
Penambahan: HAProxy menawarkan lebih banyak metode load balancing seperti leastconn (untuk sesi panjang) dan source (untuk persistensi sesi). Opsi check digunakan untuk memonitor kesehatan server.
🛡️ 3.4 Failover dengan Keepalived
- Install Keepalived:
sudo apt install keepalived -y - Edit konfigurasi:
sudo nano /etc/keepalived/keepalived.conf - Isi (contoh untuk server MASTER):
vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass rahasia } virtual_ipaddress { 192.168.1.200 } } - Restart Keepalived:
sudo systemctl restart keepalived
→ Jika server utama mati, IP virtual 192.168.1.200 otomatis pindah ke server cadangan (BACKUP).
Penambahan: Keepalived menggunakan protokol VRRP (Virtual Router Redundancy Protocol). Kamu perlu menyiapkan satu server lain sebagai BACKUP dengan konfigurasi yang sama, tapi state diubah menjadi BACKUP dan priority lebih rendah (misalnya 90). Pastikan virtual_router_id dan auth_pass harus sama di kedua server.
4. Command Ringkas
| Fungsi | Command |
|---|---|
| Install Nginx LB | sudo apt install nginx -y |
| Konfigurasi LB Nginx | Edit /etc/nginx/conf.d/loadbalancer.conf |
| Restart Nginx | sudo systemctl restart nginx |
| Install HAProxy | sudo apt install haproxy -y |
| Konfigurasi HAProxy | Edit /etc/haproxy/haproxy.cfg |
| Restart HAProxy | sudo systemctl restart haproxy |
| Install Keepalived | sudo apt install keepalived -y |
| Konfigurasi Keepalived | Edit /etc/keepalived/keepalived.conf |
| Restart Keepalived | sudo systemctl restart keepalived |
5. Catatan Penting
-
✅
Gunakan minimal 2 web server + 1 load balancer untuk HA sederhana.
-
🔄
Pastikan semua server punya konfigurasi web yang sama (misalnya melalui CI/CD).
-
📊
Gunakan monitoring (Netdata/Zabbix) untuk cek performa tiap server.
-
🛡️
Keepalived cocok untuk failover IP agar layanan tetap online.
-
💡
Untuk skala lebih besar, pertimbangkan solusi cloud (AWS, GCP) atau Kubernetes.
- Dapatkan link
- X
- Aplikasi Lainnya
Komentar
Posting Komentar