Pada
kesempatan kali ini, saya akan melanjutkan materi dari Web Server Nginx, yaitu
Konfigurasi Reverse Proxy Pass dengan Load Balance.
Load Balance merupakan metode
untuk membagi beban trafik kepada dua atau lebih jalur koneksi di jaringan. Hal
ini berfungsi agar trafik berjalan optimal, memaksimalkan throughput,
memperkecil waktu tanggap/respon dan meminimalisir terjadinya overload.
Pada Load Balance ini terdapat server controller yang digunakan untuk mengatur berapa beban yang ditanggung oleh server tertentu. Misalnya server A di konfigurasi untuk bisa menangani 3 request client, sedangkan server B menangani 1 request client, dan Server C berperan sebagai server backup yang akan aktif apabila server A dan B sedang Overload atau sedang dalam keadaan mati.
Pada postingan kali ini, saya membuat 4 server, dimana 1 server sebagai controller dan 3 server lainnya sebagai server yang akan dibalancing oleh controller.
Topologi
:
Sekarang
kita masuk ke tahap konfigurasi :
Konfigurasi Server Controller
Sebelum kita konfigurasi Load Balance, edit terlebih dulu file konfigurasi DNS pada zona forward dan juga reverse nya untuk menambahkan domain node1, node2, dan node3
Pertama, edit zona forward yang sudah kalian buat
nano /var/named/"namafilezonaforward"
Kemudian tambahkan syntak seperti pada
gambar dibawah, sesuaikan IP nya dengan IP node kalian masing-masing
nano /var/named/"namafilezonareverse"
Kemudian tambahkan syntak seperti yang sudah saya tandai pada
gambar dibawah, sesuaikan IP dan juga domain node1, node2, dan node3
Lalu lakukan perintah dig untuk melakukan pengetesan domain node1, node2, dan node3
dig "nama domain"
Setelah itu, edit file konfigurasi web server nginx. Disini
saya mengedit nya pada file Virtual Host yang sudah saya buat pada lab
sebelumnya
Keterangan :
- upstream digunakan untuk mendefinisikan sebuah cluster yang dapat direquest proxy. Ini biasa digunakan untuk menentukan cluster web server untuk load balancing
- backendivan merupakan penamaan dari cluster yang akan di balancing
- server merupakan pendefinisian server mana yang akan dibalancing, disini saya mengaturnya untuk server node1, node2, dan node3
- weight merupakan beban yang dapat ditanggung pada server tertentu
- backup berfungsi untuk menentukan server mana yang akan berperan sebagai backup pada saat server lainnya sedang overload atau sedang dalam keadaan mati
- proxy_pass_header yaitu identifikasi Nama server yang dicari di antara kelompok server yang ada, dan jika tidak ditemukan, maka akan ditentukan dengan menggunakan resolver.
Masih pada file konfigurasi Nginx, cari syntak location { kemudian
tambahkan syntak seperti yang sudah saya tandai pada gambar dibawah
Keterangan :
- proxy_pass digunakan untuk menentukan alamat server proxied dan URI ke lokasi mana yang akan dipetakan. Lokasi yang dimaksud dapat berupa Cluster, Domain ataupun IP Address. Pada gambar diatas saya mengaturnya ke cluster upstream backeniqbal
Kemudian restart service Nginx agar konfigurasi
yang sudah dilakukan dapat berjalan
Konfigurasi
Server Node1, Node2, dan Node3
Pertama edit konten web untuk Node1
Untuk verifikasi
pada web browser client dengan cara mengakses Server Controller
Maka
hasilnya pasti akan sesuai dengan yang sudah dikonfigurasi pada Server
Controller, karena Node1 diatur agar bisa menampung bebab request client
sebanyak 4 kali maka pada saat request ke 4, Server Controller akan mengarahkan
request tersebut ke Node2, sedangkan server Node3 tidak akan digunakan, karena
server Node3 hanya berperan sebagai backup yang hanya akan digunakan jika
server lainnya sedang mati ataupun overload
Sekarang
kita coba matikan server Node1
poweroff
Setelah itu coba akses lagi server controller pada web
browser client
Sekarang
matikan server Node2
Sekarang kita
coba matikkan seluruh server Node, disini kita akan mematikan server Node
terakhir, yaitu Node3
SELESAI
Semoga Bermanfaat
0 komentar:
Posting Komentar