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.
Baca Juga :Â Load Balancing : Sejarah Singkat dan Cara Kerjanya
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.
Baca Juga :Â Mengenal Teknologi Load Balancing Cluster
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

Setelah itu, tahapan selanjunya kita lakukan pengaturan pada lokasi server, dan juga username, password dan billing account Anda.

Setelah VM berhasil kita create selanjutnya kita bisa buka IP public yang kita dapatkan dan melakukan instalasi seperti pada gambar berikut:

Langkah selanjutnya, lakukan pengaturan pada VM yang Anda Create.

Setelah berhasil terinstal maka website kita akan tertampil seperti contoh berikut ;

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

Seperti sebelumnya, melakukan pengaturan pada data server, dan juga lokasi server.

Setelah VM berhasil di build kita bisa login melalui SSH dan melakukan seting pada haproxy kita seperti contoh berikut:

Setelah kita melakukan input parameter pada HAProxy kita maka aplikasi website kita bisa kita akses melalui IP dari HAProxy sehingga saat salah satu vm website mengalami kendala website akan tetap dapat diakses yang untuk selanjutnya disarankan untuk menggunakan domain data mengakses website anda tersebut.

Anda dapat melakukan akses status dari haproxy kita bisa mengakses melalui url :
http://ip_haproxy:1991/stats
dengan memasukan user dan password yang kita input sebelumnya:

Baca Juga :Â Mengenal Teknologi Load Balancing Cluster
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;

Lakukan, pengaturan serupa seperti sebelumnya.

VM akan create dan setelah mendapatkan IP public 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.

Setelah login kita perlu untuk membuat database yang akan kita gunakan untuk website kita, pada contoh ini menggunakan wordpress, maka kita bisa masuk ke mysql kita dengan
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.

Untuk sisa pertanyaan selanjutnya disarankan untuk memilih sejutu dengan ketik Y pada keyboard kita dan Enter seperti berikut:

Setelah kita mengamankan akses ke server database kita perlu untuk membuka akses database kita agar bisa kita akses dari jaringan lain selain jaringan local, maka selanjutnya pada terminal kita bisa membuka file /etc/mysql/mariadb.conf.d/50-server.cnf
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.1
dan 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
Jika ada hal teknis lain yang kendala lainnya. Tim Support kami siap 24/7 membantu mengatasi kebutuhan Anda. Semoga bermanfaat