May 14, 2017

LAB 8.19 Reverse Proxy Pass with Load Balance Nginx Web Server CentOS7

Pengertian

Load Balance atau dapat juga disebut dengan Load Balancing merupakan suatu teknik untuk membagi beban trafik menjadi 2 atau lebih jalur koneksi dengan tujuan mengoptimalkan trafik, memaksimalkan troughput dan mempersingkat waktu tanggap (terhadap request) serta menghindari overload pada salah satu jalur koneksi.

Persiapan

Persiapannya masih sama (karena melanjutkan konfigurasi lab sebelumnya), yang diperlukan yaitu Sistem Operasi CentOS 7 sebagai server dan Sistem Operasi Windows sebagai client. Hanya saja pada konfigurasi kali ini memerlukan 2 server lagi sehingga totalnya ada 3 server backend yang nantinya akan dikofigurasi load balance.


Topologi


  • Domain = anita.co.id
  • IP Address Server Controller = 172.16.11.127/24
  • IP Address Server Node 1 = 172.16.11.141/24
  • IP Address Server Node 2 = 172.16.11.142/24
  • IP Address Server Node 3 = 172.16.11.143/24


Konfigurasi Server Controller

1.  Langkah pertama adalah mengedit file zona forward untuk domain yang digunakan. Buka file dengan perintah nano.


2.  Kemudian tambahkan script berikut pada file, saya telah menandainya dengan warna hijau. IP Address masing-masing node sesuaikan dengan yang Anda gunakan.


3.  Kemudian Anda juga perlu mengedit file zona reversenya.


4.  Tambahkan script seperti pada gambar. Angka yang berada diawal script merupakan oktat terakhir dari masing-masing IP Address node, silahkan disesuaikan begitupula dengan domainnya.


5.  Restart service named (DNS) agar konfigurasi yang telah ditambahkan dapat berjalan.


6.  Untuk pengetesan, dig masing-masing domain dimulai dari node 1. Masukkan perintah dig node1.nama.domain. Pastikan domain node 1 terarah ke IP Address server node 1.



7.  Selanjutnya dig domain node 2, dan pastikan terarah ke IP Address server node 2.



8.  Begitupula dengan domain node 3, dig domain node 3 dan pastikan terarah ke IP Address server node 3.



9.  Langkah selanjutnya edit file konfigurasi web server Anda, disini saya mengedit file konfigurasi virtual host yang telah saya buat pada tutorial lab-lab sebelumnya.


10.  Kemudian tambahkan script seperti yang telah saya tandai dengan warna hijau.

Keterangan :
  • upstream = digunakan untuk menentukan cluster web server untuk load balancing.
  • backendanita = penamaan yang saya buat untuk cluster yang akan di balancing.
  • server = digunakan untuk menentukan server yang akan di balancing, disini saya mengaturnya 3 server yaitu node 1, node 2 dan node 3,
  • weight = merupakan beban request yang dapat ditanggung server tertentu.
  • backup = digunakan untuk menentukan server yang akan dijadikan backup ketika server lain sedang overload atau tidak aktif.
  • proxy_pass_header = digunakan untuk identifikasi nama server yang dicari dari kelompok server yang ada.


11.  Masih pada file yang sama, temukan dan edit bagian location /. Tambahkan script seperti pada gambar. Proxy pass digunakan untuk menetapkan alamat server proxy dan URI ke lokasi yang akan dipetakan. Lokasi yang dimaksud dapat berupa cluster, domain maupun IP Address. Disini saya menggunakan cluster upstream backendanita yang telah dibuat sebelumnya.


12.  Restart service nginx agar perubahan yang dilakukan dapat berjalan, masukkan perintah systemctl restart nginx.


Konfigurasi Server Node 1

1.  Edit atau buat konten untuk web pada server node 1.


2.  Isi konten sesuai dengan keinginan Anda.


Konfigurasi Server Node 2

1.  Edit atau buat konten untuk web pada server node 2.


2.  Isi konten sesuai dengan keinginan Anda.

Konfigurasi Server Node 3

1.  Edit atau buat konten untuk web pada server node 3.


2.  Isi konten sesuai dengan keinginan Anda.


Verifikasi

1.  Buka browser pada client Anda kemudian akses domain server controller. Hasilnya akan sesuai dengan konfigurasi yang dibuat pada server controller, dimana server node 1 hanya dapat menampung beban request sebanyak 3 kali dari client. Artinya pada request ke-4, controller akan mengarahkan ke server node 2. Sedangkan server node 3 belum diarahkan karena server tersebut berperan sebagai backup.




2.  Untuk pengetesan selanjutnya, matikan server node 1 dengan perintah berikut. Kemudian akses kembali domain server controller. Karena server node 1 mati, maka konten web akan diarahkan ke server node 2. Sedangkan server node 3 masih belum digunakan karena perannya sebagai backup.




3.  Selanjutnya coba matikan server node 2. Setelah itu akses kembali domain server controller. Disinilah server node 3 berperan, ketika kedua backend (node 1 dan node 2) mati, maka server balancing (controller) akan mencari backup dan mengarahkan request client pada server backup tersebut.




4.  Lalu apa yang akan terjadi jika semua server mati? Ketika semua server mati, web server yang diakses akan menampilkan laman berikut ini.




Selesai.
Sekian untuk konfigurasi web server nginx dengan load balance, saya minta maaf jika terdapat kesalahan dan kekurangan. Selamat mencoba dan semoga bermanfaat. Terima kasih.


0 komentar:

Post a Comment