Mengenal Load Balancing
Load balancing adalah sebuah teknis untuk membagi beban suatu server ke server lain. Sebagai contoh, ketika kita memiliki sebuah server X dan kemudian kita ingin membagi beban ke server tersebut ke server Y. Dalam hal ini, untuk melakukan hal demikian kita memerlukan 2(dua) server dan satu perangkat yang akan kita gunakan untuk load balancing sebagai contoh sebuah server lain ataupun sebuah PC. Sebelum kita masuk ke instalasi HAPproxy, terlebih dahulu kita memahami apa itu load balancing.
Mengenal HAProxy
HAProxy adalah sebuah software atau perangkat lunak bersifat open source dan gratis yang menyediakan teknologi load balancer dan proxy server untuk aplikasi berbasis TCP dan HTTP yang memberikan request atau menyebarkan permintaan ke beberapa server. Haproxy memiliki reputasi yang baik karena teknolog yang cepat dan efisien dalam penggunaan prosesor dan memori.
Teknologi ini ebelumnya ditulis dalam bahasa C oleh Willy Tarreau yang mendukung SSL, keep alive custome , log format dan header writing.
Haproxy bisa bisa kita katakan salah satu software cepat dan banyak digunakan oleh berbagai website terkenal seperti Github, StackOverflow, Reddit, Tumblr, dan juga twitter. Haproxy saat ini termasuk dalam salah satu load balancer terkenal dan populer saat ini.
Sistem HAProxy dan Load Balancer
HAProxy dapat berjalan pada 2 mode; TCP layer 4 dan HTTP layer 7. Pada TCP layer 4, HAProxy melakukan forward RAW packet TCP dari client ke application server. Pada HTTP layer 7, HAProxy melakukan parsing HTTP Header sebelum melakukan forwarding ke application server.
Cara Setup Website 2 Region Menggunakan Load Balancer
Pada panduan ini kita akan mencoba mengimplementasikan penggunaan haproxy untuk melakukan setup web pada 2 server berbeda sehingga diharapkan saat salah satu server mengalami kendala server yang lain bisa mengcover agar web bisa terus dalam keadaan online.
Pada setup ini kita akan menggunakan 3 VM (Virtual Machine) yaitu:
- Website WordPress (sebagai contoh)
- Server Website HAProxy
- Server VM untuk MariaDB
Baik kita langsung login ke console.idcloudhost.com dan buat 2 VM pada location yang berbeda (South_Jkt dan North_Jkt):
Tahap Membuat Server WordPress





Tahap Instalasi HAProxy
Pada tahap ini kita, akan memulai proses untuk melakukan Create pada server HAProxy




http://ip_haproxy:1991/stats
dengan memasukan user dan password yang kita input sebelumnya:

Tahap Membuat VM Baru Maria DB
Untuk keperluan sentralisasi database kita juga bisa memisahkan server database yang akan kita gunakan oleh kedua VM website yang kita buat sebelumnya sehingga hanya menggunakan database pada 1 server khusus. Gambarannya seperti berikut, selanjutnya kita akan memasuki proses pembuatan VM baru melalui App Catalog yaitu MariaDB:

Mari kita masuk ke tahap membuat VM baru MariaDB di Cloud VPS IDCloudHost, terlebih dahulu buat Create VM dan pilih App Catalog MariaDB, seperti gambar berikut;



Selanjutnya kita bisa login ke SSH VM kita melalui panel atau menggunakan ssh client menggunakan user dan password yang kita set sebelumnya.

perintah berikut:
mysql
selanjutnya pada mysql console kita bisa ketikan perintah berikut untuk membuat database dan user :
CREATE DATABASE wp_myblog;
CREATE USER 'userwp'@'%' IDENTIFIED BY 'passwordsaya';
GRANT ALL ON wp_myblog.* TO 'userwp'@'%';
FLUSH PRIVILEGES;
EXIT;
mengamankan server database kita dengan mengetikan perintah:
sudo mysql_secure_installation
untuk password default user root database kita adalah kosong maka kita lakukan enter lalu kita set password root database kita agar lebih aman.


menggunakan text editor seperti vi atau nano,
nano /etc/mysql/mariadb.conf.d/50-server.cnf
lalu kita cari baris berikut:
bind-address = 127.0.0.1dan kita ubah menjadi
bind-address = 0.0.0.0
lalu kita lakukan save pada file tersebut dan lakukan restart pada service database kita dengan perintah:
systemctl restart mysql
Pada tahap ini server database sudah bisa kita akses dari luar sehingga kita bisa login ke 2 VM website yang kita miliki melalui ssh dan melakukan perubahan pada file
/var/www/html/wp-config.php dengan perintah:
sudo nano /var/www/html/wp-config.php
lalu sesuaikan konfigurasi koneksi database menjadi seperti contoh berikut:
define( 'DB_NAME', 'wp_myblog' );
define( 'DB_USER', 'userwp' );
define( 'DB_PASSWORD', 'passwordsaya' );
define( 'DB_HOST', 'isi_dengan_ip_server_database' );
Lakukan hal ini pada kedua server web, selanjutnya kita bisa buka alamat IP server HAProxy kita dan melakukan instalasi ulang kembali pada WordPressnya.
Penutup
Singkatnya, penggunaan HAProxy pada Cloud VPS memudahkan Anda beberapa langkah ketimbang setup pada server lainnya membuat load balancing pada server Anda. Seperti sebelumnya kita ketahui. Load balancing adalah metode pembagian traffic ke beberapa server yang berbeda untuk mencegah overloading dan server yang lambat.
Ada banyak juga manfaat lainnya yang bisa Anda dapatkan dari load balancing seperti kinerja yang maksimal dan penghematan resources server Anda. Tentunya teknologi ini membantu Anda. Apabila mendapatkan lonjakan traffic pengunjung yang banyak. Jadi untuk menghindari overload, Anda dapat menggunakan metode ini.
