Assalamualaikum wr. wb.
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.
Load balancing umumnya dikelompokkan dalam dua kategori : Layer 4 dan Layer 7, Layer 4 load balance bertindak pada data di network TCP (IP, TCP, FTP,UDP). Layer 7 load balance mendistribusikan permintaan dari client berdasarkan data yang ditemukan pada layer Application seperti HTTP. Maka dari itu sangat penting untuk mengerti, apa yang sebenarnya dibutuhkan jaringan sebelum membuat keputusan melakukan konfigurasi load balancer.
Disini untuk konfigurasi menggunakan Roundrobin.
TOPOLOGI :
Berikut langkah-langkah konfigurasinya :
Konfigurasi pada Web Server 1
Pada awal kita pastikan jaringannya menggunakan inet(internal network), kalau sudah tinggal jalankan saja servernya.
Pada awal kita pastikan jaringannya menggunakan inet(internal network), kalau sudah tinggal jalankan saja servernya.
Kalau sudah kita perlu mengkonfigurasi interfacenya terlebih dahulu, nano /etc/network/interface.
Selanjutnya tinggal restart saja dan coba ping apakah sudah berhasil mengkonfigurasi interfacenya.
Disini untuk web servernya menggunakan Nginx, apa itu Nginx ? Nginx (engine x) adalah server HTTP dan Proxy dengan kode sumber terbuka yang bisa juga berfungsi sebagai proxy IMAP/POP3. Nginx juga memiliki fitur seperti reverse proxy multiple protocols (HTTP, Memcached, PHP‑FPM, SCGI, uwsgi), Stream HTTP video (FLV, HDS, HLS, MP4) serta HTTP/2 gateway.
Disini disuruh masukan CD DVD Binary-1.
Lalu masukan juga CD DVD Binary-2nya.
Dan coba kita jalankan/aktifkan web server Nginxnya dengan perintah service nginx restart, lalu untuk melihat apakah sudah aktif apa belum bisa cek dengan perintah service nginx status, dan juga kita bisa lihat dengan perintah netstat -tupln.
Selanjutnya kita bisa edit html web servernya sesuai keinginan anda, dengan perintah
nano /var/www/html/index.nginx-debian.html.
Kalau sudah langsung restart saja.
Konfigurasi pada web server 1 sudah selesai, dan selanjutnya mengkonfigurasi pada web server 2.
Konfigurasi pada Web Server 2
Sama seperti diatas konfigurasinya, hanya beda IP Addressnya saja.
Setting interfacenya.
Lalu restart dan tes dengan ping apakah sudah berhasil konfigurasi interfacenya.
Selanjutnya sama seperti konfigurasi pada web server 1, kita install Nginx-nya.
Masukan CD DVD Binary-1.
Masukan CD DVD Binary 2.
Lalu kalau sudah kita aktifkan/jalankan nginxnya, dan cek apakah sudah aktif seperti gambar dibawah ini.
1.
2.
Selanjutnya kita bisa juga edit html web servernya, dengan perintah
nano /var/www/html/index.nginx-debian.html.
Lalu kita restart web server nginx-nya.
Konfigurasi pada web server 2 sudah selesai, selanjutnya kita konfigurasi pada server utamanya sebagai load balancernya.
Konfigurasi pada RouterDebian (LoadBalancer)
Kita perlu menyetting jaringannya dengan menggunakan 2 interface yaitu bridge dan internal network, kalau sudah lansung jalankan saja servernya.
Kita perlu menyetting jaringannya dengan menggunakan 2 interface yaitu bridge dan internal network, kalau sudah lansung jalankan saja servernya.
Awal setting interfacenya terlebih dahulu, disini eth0=bridge eth1=internalnetwork.
Lalu kita restart saja dan tes ping apakah sudah berhasil.
Selanjutnya akan menginstall HAProxy, apa itu HAProxy ? HAProxy adalah sebuah aplikasi opensource berbasis Linux yang biasa digunakan sebagai load balancing trafic jaringan. Load balancing adalah teknik untuk mendistribusikan beban trafik pada dua atau lebih jalur koneksi secara seimbang agar trafik dapat berjalan optimal, memaksimalkan throughput, memperkecil waktu tanggap dan menghindari overload pada salah satu jalur koneksi. Teknik balancing dapat menggunakan beberapa cara yang berbeda, tergantung kekompleksan yang ada.
Masuk ke konfugurasi default/haproxy dengan perintah nano /etc/default/haproxy lalu hilangkan tanda # pada config
CONFIG="/etc/haproxy/haproxy.cfg"
Kemudian masuk ke konfigurasi haproxy.cfg, buat konfigurasi frontend dan backend, bind *:80 = mengarahkan semua akses ip dari port 80, mode http = protocol yang akan diarahkan hanya http, default_backend footer = lanjutan dari konfigurasi frontend header ke konfigurasi backend footer, balance roundrobin = salah satu algoritma load balancing, server = akses dari load balancer akan di arahkan di salah satu ip server.
Selanjutnya kita restart.
Konfigurasi HAProxy sudah pada server utamanya, selanjutnya coba kita pengujiannya.
Pengujian
web server 1 coba tes ping ke serverutama dan web server 2.
Web server 2 coba tes ping ke serverutama dan web server 1.
Pada serverutama coba tes ping ke web server 1 dan web server 2.
Dan coba buka web browser untuk menguji, ketik ip address pada router yang mengarah ke internet yaitu 192.168.100.205.
Kemudian coba stop/berhentikan nginx pada web server 1, apakah web server 2akan meng-backup atau tidak.
~~~SELESAI~~~
Semoga bermanfaat dan bisa dimengerti hehe.
Wassalamualaikum wr. wb.