CARA INSTALL DAN KONFIGURASI HAPROXY LOAD BALANCER PADA UBUNTU 18.04
Pengertian HAProxy
HAProxy adalah singkatan dari High Availability Proxy . Ini adalah open-source load-balancer yang dapat digunakan untuk mendistribusikan lalu lintas HTTP ke beberapa aplikasi backend, situs web, atau database untuk membuat system yang memiliki HA tinggi. Ini adalah load balancer tercepat dan paling unggul yang menawarkan skalabilitas besar-besaran di lingkungan apa pun, menjadikannya pilihan nomor satu untuk situs web profil tinggi seperti Twitter, GitHub, dan Amazon Web Service.
Di era dunia yang terhubung dengan internet ini, aplikasi dapat mungkin melayani jutaan pengguna di seluruh dunia (Misalnya, aplikasi media sosial). Dalam sistem mission-critical seperti itu, setiap downtime dapat menyebabkan kerugian finansial dan pengalaman pelanggan yang tidak menyenangkan. Untuk memastikan bahwa aplikasi berfungsi bahkan ketika beberapa komponennya gagal, maka harus membuat beberapa instance infrastruktur komputasi dan menempatkan load balancer untuk merutekan traffik.
HAProxy memungkinkan sistem untuk mentolerir interupsi tanpa waktu henti bagi pengguna. Untuk menggunakan teknologi, Kita harus merancang sistem Kita dengan mempertimbangkan redundansi . Artinya, Kita harus menjalankan beberapa komponen komputer yang kemungkinan besar gagal atau memerlukan perawatan berkala. Selain itu, mekanisme failover HAProxy menggunakan metrik kinerja yang berbeda untuk memantau ketersediaan dan kesehatan server redundan yang bekerja sebagai grup untuk mengalihkan lalu lintas hanya ke komponen aktif. Oleh karena itu, HAProxy memenuhi semua elemen dasar ketersediaan tinggi. Yaitu redundansi , failover , dan monitoring .
Dalam panduan ini, Kita akan menginstal dan mengonfigurasi penyeimbang beban HAProxy di server Ubuntu 18.04 untuk mendistribusikan lalu lintas web ke dua server yang berbeda.
Topologi Install Dan Konfigurasi Haproxy Load Balancer Pada Ubuntu 18.04 :
Dalam tutorial ini kita akan membuat HAProxy untuk melakukan load balancer untuk webserver1 dan webserver2. Jadi Ketika client mengakses IP HAProxy port 80 akan di load balancing ke web server 1 dan web server 2.
Kebutuhan server :
Dalam tutorial cara install dan konfigurasi HAProxy kali ini akan membutuhkan server sebagai berikut :
- 3 server dengan system operasi ubuntu 18.04
- User dengan akses sudo
- Server terkoneksi internet
- Pada tutorial ini menggunakan IP berikut
IP server load balancer : 192.168.18.6/24
IP web-server1 : 192.168.18.16/24
IP web-server2 : 192.168.18.17/24
- Pastikan apache webserver hanya terinstall di web-server1 dan web-server2
1. Install HAProxy pada server load balancer
Update dan install haproxy
#apt update
#apt install haproxy -y
Cek status HAProxy da pastikan HAProxy sudah running.
#systemctl status haproxy
2. Konfigurasi HAProxy
Setelah install HAProxy, selanjutnya mengkonfigurasi HAProxy untuk membagi traffic webserver
Konfigurasi HAProxy berada pada lokasi berikut : /etc/haproxy/haproxy.cfg
Pertama backup file config untuk memastikan nanti dapat dilakukan rollback apabila terjadi kesalahan konfigurasi:
#cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bk
File konfigurasi HAProxy dibagi menjadi beberapa bagian.
Global : biasanya berada dibagian paling atas. HAProxy berisi pengaturan seluruh sistem yang terutama berhubungan dengan keamanan dan penyetelan kinerja. Pada bagian global akan kita biarkan default.
Default : Default menyimpan beberapa pengaturan yang mungkin biasa digunakan tanpa penyesuaian lebih lanjut, termasuk pelaporan kesalahan dan konfigurasi batas waktu. Pada tutorial tutorial ini kita akan menjalankan HAProxy dengan nilai default.
Frontend and backend : selain pengaturan global dan default, HAProxy mendukung beberapa pengaturan frontend dan backend. Dalam tutorial ini kita kana menggunakan HAProxy sebagai reverse proxy didepan dua server backend.
Listen : bersifat opsional. Berfungsi untuk menentukan beberapa pengaturan statistic. Pengaturan ini berfungsi untuk masuk ke server HAProxy di browser dan melihat kinerja server.
Buka file konfigurasi HAProxy dengan vim / nano
#nano /etc/haproxy/haproxy.cfg
Dan tambahkan konfigurasi berikut pada bagian paling bawah :
frontend front_end
bind *:80
option forwardfor
default_backend web_servers
backend web_servers
balance roundrobin
server server-1 192.168.18.16:80 check
server server-2 192.168.18.17:80 check
listen stats
bind :32600
stats enable
stats uri /
stats hide-version
stats auth ha_proxy_admin:passwordadmin
Sesuaikan web-server1 dan web-server2 pada konfigurasi rekan-rekan semua.
Kemudian simpan dan tutup konfigurasi HAProxy. Setelah konfigurasi selesai. Selanjutnya restart HAProxy dan cek Kembali status HAProxy.
#systemctl restart haproxy
#systemctl status haproxy
3. Install apache server di web-server1 dan web-server2
Setelah HAProxy server selesai di konfigurasi dan siap menerima http traffic dan merutekan ke backend server. Selanjutnya kita menginstall apache webserver pada web-server1 dan web-server2.
#apt update
#apt install apache2 -y
#systemctl status apache2
4. Membuat konten web untuk Web-Server1 dan Web-Server2
Client akan mengirim http-request ke server load balancer yang telah diinstall HAProxy. Kemudian HAProxy akan merutekan traffic ke backend server. Maka dari itu kita akan membuat konten web untuk web-server1 dan web-server2.
Edit index.html pada web-server1 dan web-server2 seperti berikut :
# rm /var/www/html/index.html
#nano /var/www/html/index.html
Isi /var/www/html/index.html pada web-server1
<html>
<head>
<title>Backend Server 1 / Web Server 1</title>
</head>
<body>
<h1>Web Server 1 is working.</h1>
</body>
</html>
Isi /var/www/html/index.html pada web-server2
<html>
<head>
<title>Backend Server 2 / Web Server 2</title>
</head>
<body>
<h1>Web Server 2 is working.</h1>
</body>
</html>
Simpan dan tutup file. Selanjutnya yaitu testing HAProxy algoritma
5. Test Algoritma load balancing HAProxy
Pada webbrowser laptop. Masukkan ip dari server load balancer yang telah diinstal HAProxy.
http://192.168.18.6/
Berikut adalah hasil akses pertama kali :
Kemudian refresh halaman, setelah refresh maka harusnya kita mendapat tampilan web-server2
Untuk melihat statistic umum dari frontend dan backend server dapat membuka IP HAProxy ditambah port 32600 dibelakangnya. Pada user masukkan username : ha_proxy_admin ,password : passwordadmin
Dan berikut tampilan jendela statistic untuk HAProxy :
Install Dan Konfigurasi Haproxy Sebagai Load-Balancer Webserver Pada Ubuntu 18.04 telah berhasil dilakukan.