Install dan Konfigurasi HaProxy Load Balancing Debian 8


A. Pendahuluan
Load Balancing adalah teknik untuk membagi beban (load) ke dalam beberapa jalur atau link. Tujuan dari load balance ini agar tidak ada link yang mendapat beban yang lebih besar dari pada link lainnya. Diharapkan dengan membagi beban ke dalam beberapa link tersebut, maka akan tercapai keseimbangan (balance) pada link-link tersebut.
Load Balancing juga memiliki beberapa algoritma dalam membagi beban seperti.
1. Roundrobin
Round robin merupakan pilihan default dan algoritma ini memilih server secara bergantian berurutan sehingga cenderung balance ke semua server yang ada di Backend.
2. Leastconn
Memilih server berdasarkan jumlah koneksi yang paling sedikit. Ini direkomendasikan untuk session yang lama. Namun server di Backend yang sama juga akan dirotasi pemilihannya seperti round robin.
3. Source
Memilih server mana berdasarkan source IP (Alamat IP Pengguna) yang di hash. Hal ini untuk memastikan pengguna tersebut mendapatkan server yang sama.
4. Sticky Session
Beberapa aplikasi membutuhkan penggunanya untuk terkoneksi / terhubung pada Backend server yang sama. Untuk keperluan persisten ini dibutuhkan yang namanya Sticky Session dengan parameter appsession pada Backend yang membutuhkannya.
B. Perencanaan
1. Topologi
Disini saya berikan 2 topologi load balancing yang akan dibuat, pertama topologi implementasi load balancing, kedua topologi jika menggunakan server di virtual machine.

Gambar topologi diatas merupakan gambaran untuk membantu konfigurasi implementasi load balancing menggunakan server nyata.



Gambar topologi diatas digunakan untuk membantu konfigurasi jika menggunakan server di virtual machine seperti virtualbox.

2. Alat dan Bahan
Hardware
1 Server untuk Load Balancing
1 Server untuk Web Server 1
1 Server untuk Web Server 2
Client untuk mengecek hasil konfigurasi.
Kabel UTP secukupnya (untuk implementasi)
Software
HaProxy (Load Balancer)
LAMPP Web Server (Apache2, mySQL-server, php5, phpmyadmin)

C. Tahap Pengerjaan
Tahap pengaturan Jaringan VirtualBox
(Lewati tahap ini jika kalian menggunakan server nyata, bukan virtual)

1. Setting Server Load Balancer menggunakan 2 adapter.
Adapter 1 menggunakan mode internal network untuk menghubungan antar server virtual./
Adapter 2 menggunakan mode host-only untuk menghubungkan





2. Setting Web Server 1 menggunakan adapter 1 dengan mode internal network.



3. Setting Web Server 1 menggunakan 1 adapter dengan mode internal network.



Tahap Konfigurasi Server
1. Login di server load balancer, lakukan konfiguras IP seperti berikut.

nano /etc/network/interfaces



2. Berikut konfigurasi IP sesuai topologi.



3. Jangan lupa lakukan penambahan repositori (3 DVD) dengan perintah berikut.
apt-cdrom add




4. Setelah itu install haproxy dengan perintah sebagai berikut.
apt-get install haproxy



5. Setelah haproxy terinstall, lakukan konfigurasi di file haproxy.cfg dengan perintah.
nano /etc/haproxy/haproxy.cfg
Setelah itu tambahkan konfiguasi dibaris paling bawah sebagai berikut.







Script Konfigurasi


defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
listen stats
bind :8080
mode http
stats enable
stats hide-version
stats realm Haproxy\ Statistics
stats uri /
stats auth zxc:zxc
frontend main
mode http
bind *:80
option forwardfor
default_backend web_server
backend web_server
mode http
balance roundrobin
server web1 192.168.10.11:80 check
server web2 192.168.10.12:80 check



Setelah itu save dan keluar.

Setelah itu lakukan restart dengan perintah sebagai berikut.

/etc/init.d/networking restart

/etc/init.d/haproxy restart




Jika ingin lebih yakin lakukan reboot server kalian.
Jika sudah konfigurasi pada Server Load Balancing sudah selesai, lanjut konfigurasi Web Server 1 dan 2.

Konfigurasi Web Server 1

1. Pertama, login root di web Server 1, dan lakukan konfigurasi IP address dengan perintah berikut.
nano /etc/network/interfaces



2. Konfiguasinya sebagai berikut. Jika sudah save dan keluar.



3. Setelah itu lakukan install web server, kalian bisa hanya menginstall apache2, namun disini saya contohkan menginstall package lengkap untuk membangun web server, biasa disebut LAMPP.
apt-get install apache2 php5 mysql-server phpmyadmin



4. Setelah itu untuk membedakan lakukan perubahan tampilan web server 1 dengan perintah berikut.
echo 'WebServer2' > /var/www/html/index.html



5. Lakuakan reboot web server atau restart apache2.

Konfigurasi Web Server 2

1. Pertama, login root di web Server 2, dan lakukan konfigurasi IP address dengan perintah berikut.
nano /etc/network/interfaces



2. Konfiguasinya sebagai berikut. Jika sudah save dan keluar.



3. Setelah itu lakukan install web server, kalian bisa hanya menginstall apache2, namun disini saya contohkan menginstall package lengkap untuk membangun web server, biasa disebut LAMPP.
apt-get install apache2 php5 mysql-server phpmyadmin



4. Setelah itu untuk membedakan lakukan perubahan tampilan web server 2 dengan perintah berikut.
echo 'WebServer2' > /var/www/html/index.html



5. Lakuakan reboot web server atau restart apache2 dengan perintah
/etc/init.d/apache2 restart

Tahap pengecekan
1. Akses Web Server melalui IP interface Load Balancing dengan ditambah port 8080 seperti berikut. Login dengan user dan password yang kalian setting di haproxy.cfg.



2. HaProxy sebagai load balancer sudah berjalan, namun karena web server belum dihubungkan maka status masih down.



3. Dan ketika web server diakses akan tampil error seperti berikut.

4. Setelah kedua web server dinyalahkan dan dihubungkan status menjadi up.




5. Jika kedua web server stanby (status up) maka ketika mengakses web server akan tampil web server 1 dan 2 secara bergantian sesuai algoritma round robin.





6. Jika salah satu web server down.



7. Maka otomatis traffic yang mengarah ke web server akan diarahkan ke web server yang aktif seperti contoh jika web server 1 down maka akan diarahkan ke web server 2.



Jika testing seperti itu berhasil, maka konfigurasi load balancing kalian sudah berhasil.

D. Kesimpulan dan Saran
HaProxy yang open-source membuat membangun load balancing bisa dilakukan siapa saja karena gratis dengan dokumentasi yang banyak di internet.
Namun dalam melakukan konfigurasi diperlukan pemahaman jaringan yang benar agar topologi yang dibuat dapat dikonfigurasi dengan baik, perlu juga ketelitian dalam melakukan konfigurasi dan yang terpenting jangan lupa #neverstopngoprek.



Post a Comment for "Install dan Konfigurasi HaProxy Load Balancing Debian 8"

Berlangganan via Email