Minggu, 14 Mei 2017

Lab 8.19. Konfigurasi Reverse Proxy Pass dengan Load Balance Nginx



Assalamualaikum Warahmatullahi Wabarakatuh...

Alhamdulillah kali ini kita ada di penghujung materi yang membahas mengenai web server, dan materi yang terakhir ini masih membahas mengenai web server nginx dimana kita akan melakukan konfigurasi reverse proxy pass dengan load balance. sebelumnya apa itu load balance? Load balance adalah metode yang digunakan untuk membagi beban trafik pada dua atau lebih jalur koneksi. Hal ini digunakan supaya trafik dapat berjalan optimal, memaksimalkan throughput, memperkecil waktu tanggap dan meminimalisir terjadinya overload. Berikut topologi yang akan kita gunakan untuk melakukan konfigurasi, dimana kita menggunakan 4 server yang terdiri dari 1 server controller dan 3 server node / backend. Dimana server controller ini akan mengatur beberapa beban yang ditanggungnya terhadap server node 1, 2, dan 3. Dimana server node 1 ini akan kita konfigurasi supaya bisa menangani 3 request client, server node 2 dapat menangani 1 request client dan server node 3 berperan sebagai server backup jika server node 1 dan 2 mengalami overload atau dalam keadaan down / mati. Lalu bagaimanakah caranya? Mari kita coba sama-sama, Bismillah.... 


-- Konfigurasi server controller --


1. Sebelum melakukan konfigurasi, hal yang pertama kali kita lakukan adalah mengedit file konfigurasi DNS yaitu zona forwardnya yang terletak di direktori /var/named/.


2. Setelah masuk kedalam zona forwardnya maka disinilah kita akan menambahkan domain untuk node 1, node 2, dan node 3. Maka ketikkan script yang sudah diberitanda berwarna hijau dibawah ini, untuk ipnya disesuaikan saja. 


3. Setelah melakukan pengeditan pada zona forward, maka selanjutnya kita akan melakukan pengeditan pada zona reversenya, yang letaknya sama yaitu di direktori /var/named/.


4. Dan pada file konfigurasi zona reversenya ketikkan script seperti yang sudah ditandai dengan warna hijau dibawah ini, untuk domain dan ip nya disesuaikan. 


5. Jangan lupa untuk merestart service DNS nya supaya konfigurasi yang kita lakukan dapat berjalan dengan baik.


6. Selanjutnya kita akan melakukan pengetesan setiap domain yang telah kita tambahkan sebelumnya dengan perintah dig, maka ketikkan perintah dig (nama_domain)

  • Yang pertama kita akan melakukan pengecekan untuk node 1 terlebih dahulu, maka ketikkan perintah dig (nama_domain)


Dan nantinya akan muncul informasi tentang node1 ini.



    • Yang kedua kita akan melakukan pengecekan untuk node 2 nya , maka ketikkan perintah dig (nama_domain)

    Dan nantinya akan muncul informasi tentang node2 ini.

    • Yang terakhir kita akan melakukan pengecekan untuk node 3 nya , maka ketikkan perintah dig (nama_domain)

    Dan nantinya akan muncul informasi tentang node3 ini.


    7. Jika sudah melakukan pengecekan disetiap domain, maka selanjutnya kita akan mengedit file konfigurasi nginx, dan disini kita akan menggunakan file konfigurasi virtual host yang sudah kita buat pada lab sebelumnya. 


    8. Dan disinilah kita akan menambahkan script seperti yang sudah ditandai dengan warna hijau dibawah ini. 

    Keterangan :
    • upstream ini digunakan untuk mendefinisikan sebuah cluster yang dapat me-request proxy. Ini biasa digunakan untuk menentukan cluster web server untuk load balancing.
    • banckenkamilah yaitu penamaan saja dari cluster yang akan di balancing
    • server merupakan pendefinisian server mana saja yang akan dibalancing, dan disini kita akan mengaturnya untuk node1, 2, dan 3
    • weight merupakan beban yang dapat ditanggung oleh server tertentu.
    • backup digunakan sebagai server mana yang berperan sebagai backup pada saat server yang lainnya jika terjadi overload atau down / mati. 
    • proxy_pass_header yaitu identifikasi nama server yang dicari di antara kelompok server yang ada, dan jika tidak ditemukan, ditentukan dengan menggunakan resolver. 

    9. Masih dalam file konfigurasi virtual host, dan disini kita akan menambahkan script seperti yang ditandai berwarna hijau dibawah ini yang letaknya di location / { dan untuk peletakkan scriptnya sebelum kurawal tutup }.

    Keterangan :
    • proxy_pass digunakan untuk menetapkan alamat server proxied dan URL ke lokasi mana yang akan dipetakan. Lokasi yang dimaksud dapat berupa Cluster, Domain ataupun IP Address. Pada gambar dibawah ini kita akan mengaturnya ke cluster upstream backenkamilah. 

    10. Setelah melakukan konfigurasi jangan lupa untuk merestart service nginx supaya konfigurasi yang telah kita lakukan dapat berjalan dengan baik. 

     

    -- konfigurasi server node1 --

    1. Sebelumnya pastikan node1 ini sudah terintall nginx, dan konfigurasi nginx disinipun masih default, dan sekarang kita akan melakukan pengeditan konten web pada node1 di dalam index.html yang terletak di direktori /usr/share/nginx/html/.


    2. Dan isikan script seperti gambar dibawah ini, dan script dibawah ini merupakan script sederhana yang kita gunakan, jadi ini bisa diisi sesuka hati kita ya.


    -- konfigurasi server node2 --

    1. Sebelumnya pastikan node2 ini sudah terintall nginx, dan konfigurasi nginx disinipun masih default, dan sekarang kita akan melakukan pengeditan konten web pada node2 di dalam index.html yang terletak di direktori /usr/share/nginx/html/.


    2. Dan isikan script seperti gambar dibawah ini, dan script dibawah ini merupakan script sederhana yang kita gunakan, jadi ini bisa diisi sesuka hati kita ya.


    -- konfigurasi server node3 --

    1. Sebelumnya pastikan node3 ini sudah terintall nginx, dan konfigurasi nginx disinipun masih default, dan sekarang kita akan melakukan pengeditan konten web pada node3 di dalam index.html yang terletak di direktori /usr/share/nginx/html/.


    2. Dan isikan script seperti gambar dibawah ini, dan script dibawah ini merupakan script sederhana yang kita gunakan, jadi ini bisa diisi sesuka hati kita ya.


    -- Verifikasi --

    1. Untuk verifikasi ini saya menggunakan video, supaya lebih mudah dimengerti. Dimana pada saat kita mengakses server controller nantinya yang akan muncul adalah konten dari server node 1 dan 2, sedangkah server node3 akan muncul jika server node 1 dan 2 ini mengalami overload, down / mati.
    2. Dan saat kita melakukan refresh pertama kalinya masih muncul konten dari server node1, untuk kedua kalinya melakukan refresh masih konten server node1 yang muncul, dan untuk ketiga kalinya melakukan refresh masih konten server node1 yang muncul, sedangkang untuk keempat kalinya melakukan refresh maka yang akan muncul adalah server node2, karena sebelumnya pada file konfigurasi virtual host kita mengatur weight / beban tanggungan server node1 sebanyak 3.
    3. Jika nantinya kita akan coba mematikan / poweroff server node1, dimana saat kita mengakses kembali server controller yang keluar adalah konten server node2 saja. Karena balancing (controller) menganggap masih ada server yang aktif dan menyerahkan request client kepada server tersebut.
    4. Kemudian kita akan coba juga untuk mematikan / poweroff server node2, saat kita mengakses kembali server controller yang akan muncul adalah konten dari server node3 yang berperan sebagai backup.
    5. Lalu bagaimana jika kita juga mematikan / poweroff server node3? Maka yang terjadi saat kita mengakses kembali server controller adalah bad gateway karena semua server down / mati.
    6. Untuk lebih jelasnya bisa lihat video dibawah ini. 




    Sekian yang dapat saya sampaikan, kurang lebihnya mohon maaf
    Semoga bermanfaat, Wassalamualaikum Warahmatullahi Wabarakatuh...

    0 komentar:

    Posting Komentar

    sedikit informasi

    klik tanda plus di pojok kanan atas untuk keperluan lainnya. Terimakasih..