Lab 8.19, Proxy Pass with Load Balance



    Hai young society. kembali lagi. Kali ini kita akan membahas bagaimana caranya konfigurasi proxy pass for load balance di centos dengan menggunakan web server nginx. Untuk penjelasannya bisa dilihat di topologi di bawah ini.




    Pada topologi diatas ini ada 4 server, yaitu server node1, node 2, node 3 dan server controller yang pastinya memiliki fungsi yang berbeda. Pada server node1 dan node 2 diatas akan memiliki tugas sebagai web servernya dan node3 akan berfungsi sebagai backup dari server node1 dan node 2 apabila terjadi down. Sedangkan server controller akan bertindak sebagai controller untuk setiap server dibelakang-nya. Jadi ketika client merequest sebuah web maka tidak langsung di layani oleh server node1 (server web) nya, melainkan oleh controllernya terlebih dahulu. Biasanya teknik ini dilakukan untuk menghindari serangan cyber attack yang mengincar web server, jadi ketika hacker mencoba menyerang tidak langsung kena web server melainkan controllernya dulu yang kena.

   Diatas ini adalah topologi sederhana, jika aslinya bisa sampai puluhan controller dan node nodenya. Oke langsung saja ke tutortialnya :




Konfigurasi Server Controller :



1.  Pertama-tama kita harus menambahkan setiap server kedalam file forward DNS di server controller.

nano /var/named/forward.tkj




2.  Lalu kita tambahkan  setiap node  seperti gambar dibawah ini. Disini kita seperti mendaftarkan server nodenya supaya bisa diakses oleh server controller. Berikan juga IP setiap node. Fungsi dari forward ini juga adalah mentranslate nama domain menjadi IP.






3.  Jika tadi menambahkan forward kita juga harus menambahkan node1 di reverse juga.

nano /var/named/reverse.tkj




4.  Lalu kita tambahkan domain dan ip dari setiap node. dan tambahkan juga ip berserta domainnya. Karena fungsi reverse ini mentranslate ip menjadi domain.







5.  Kemudian kita restart service dns nya. Jangan sampai muncul pesan error ya.

systemctl restart named




6.  Kemudian kita coba dig untuk mengetes apa domain sudah jalan atau belum. Jika sudah maka akan seperti pada gambar dibawah ini.

dig node1.1frekuensi.com






lakukan juga untuk domain node2 nya, apa sudah jalan atau belum. Jika sudah maka akan seperti pada gambar dibawah ini.

dig node2.1frekuensi.com






lakukan juga untuk domain node2 nya, apa sudah jalan atau belum. Jika sudah maka akan seperti pada gambar dibawah ini.

dig node3.1frekuensi.com




7.  Lalu kita konfigurasi file web server nginxnya. Disini Author mengeditnya di file virtual host karena melanjutkan lab sebelumnya. Jika kamu belum baca bisa baca disini.

nano /etc/nginx/conf.d/vhost.conf




8.  Lalu tambahkan syntax seperti ini.


     - upstream                 : digunakan unutk mendefinisikan cluster yang dapat direquest proxy. Biasanya digunakan untuk menentukan mengcluster web server untuk kebutuhan load balancing.

     - backends                 : nama dari cluster yang akan di load balancing. Disini untuk penmaan bebas, terserah kalian.

     - weight                     : pembagian beban untuk setiap server node secara merata.

     - backup                    : untuk menentukan server mana yang akan menjadi backup apa bila server lainnya mengalami overload atau down.

     - server                      : untuk menentukan server mana yang akan di balancing.

     - proxy_pass_header : merupakan nama server yang nantinya akan dicari pada setiap server yang ada. Jika tidak ketemu akan ditentukan dengan menggunakan resolver.

     - proxy_pass              : untuk menetapkan alamat server web ke lokasi mana yang di tetapkan. Lokasinya dapat berupa ip, domain, atau cluster. karena pada lab balancing ini kita menggunakan nama cluster maka kita beri nama backends, sesuai dengan penamaan cluster yang Author berikan sebelumnya.







9.  Kemudian kita restart service nginxnya. Jangan sampai ada pesan error ya.

systemctl restart nginx








Konfigurasi Server Node1 :



10.  Disini pada server node1, node2 ,dan node3 kita cukup membuat web server saja. jika kamu belum mengkonfigurasinya, bisa dilihat disini.

       Pada server node1, untuk isi web nya kita isi dengan script html biasa dan ini contentnya adalah tes node1.www.1frekuensi.com.






Konfigurasi Server Node2 :


11.  Pada server node2, untuk isi web nya kita isi dengan script html biasa dan ini contentnya adalah tes node2.www.1frekuensi.com.







Konfigurasi Server Node3 :



12.  Pada server node3, untuk isi web nya kita isi dengan script html biasa dan ini contentnya adalah tes node3.www.1frekuensi.com.









Akses dari Client :



13.  Coba kita akses dari client dengan browser dan dengan alamat domain kamu coba refresh browser kamu, pasti akan berubah ubah servernya.









Test Ketika Server Node1 dan Node 2 Dimatikan




Matikan Service Nginx Node1 :


systemctl stop nginx





Matikan Service Nginx Node2 :


systemctl stop nginx






Test dari Client :


Coba akses kembali, dan coba refresh web browser kamu. Pasti nanti akan tergantikan sama
web server node3.






    Nah segitu dulu untuk lab kali ini. Jika ada kesalahan gambar atau penjelasan mohon di koreksi dan bantu Author merevisi nya. Sekian dulu perjumpaan kita. Wassalamualaikum..

Comments

Popular Posts