Memahami Lebih Dalam Load Balancer pada Amazon Web Services (AWS)
Load Balancer adalah mesin virtual atau alat yang menyeimbangkan beban aplikasi web yang dapat berupa lalu lintas HTTP atau HTTPS yang diterima. Alat ini menyeimbangkan beban beberapa server web sehingga tidak ada server web yang terbebani.
Application Load Balancer
- Amazon Web Services (AWS) meluncurkan penyeimbang beban baru yang dikenal sebagai penyeimbang beban aplikasi (ALB) pada 11 Agustus 2016.
- ALB digunakan untuk mengarahkan lalu lintas pengguna ke awan AWS publik.
- ALB mengidentifikasi lalu lintas yang masuk dan meneruskannya ke sumber daya yang tepat. Misalnya, jika sebuah URL memiliki ekstensi /API, maka URL tersebut akan diarahkan ke sumber daya aplikasi yang sesuai.
- Ini dioperasikan pada Layer 7 Model OSI.
- Ini paling cocok untuk penyeimbangan beban lalu lintas HTTP dan HTTPS. Penyeimbang beban aplikasi bersifat cerdas, mengirimkan permintaan spesifik ke server web tertentu.
- Jika mengambil contoh TESLA. Ada tiga model TESLA, yaitu TESLA Model X, TESLA Model S, dan TESLA Model 3, dan TESLA memiliki fasilitas komputasi onboard. Akan ada sekelompok server web yang melayani Model X, sekelompok server web yang melayani Model S, dan juga untuk Model 3. Satu Load balancer memeriksa apakah lalu lintas yang masuk berasal dari Model X, Model S, atau Model 3, lalu mengirimkannya ke kelompok server yang dituju.
Network Load Balancer
- Ini dioperasikan pada Layer 4 model OSI.
- Ia membuat keputusan perutean pada lapisan transport (TCP/SSL), dan dapat menangani jutaan permintaan per detik.
- Ketika load balancer menerima koneksi, ia kemudian memilih target dari kelompok target dengan menggunakan algoritma perutean hash flow. Ini membuka koneksi TCP ke target port yang dipilih dan meneruskan permintaan tanpa mengubah header.
- Ini paling cocok untuk menyeimbangkan lalu lintas TCP ketika kinerja tinggi diperlukan.
Classic Load Balancer
- Ini dioperasikan pada Layer 4 model OSI.
- Ini merutekan lalu lintas antara klien dan server backend berdasarkan alamat IP.
- Sebagai contoh, Elastic Load balancer menerima permintaan dari klien pada port TCP 80, kemudian akan merutekan permintaan tersebut ke port yang ditentukan pada server backend. Port yang dirutekan oleh Load Balancer ke server target akan memiliki nomor port 80. Server backend kemudian akan mengirimkan data yang diminta kembali ke ELB, yang kemudian akan meneruskan balasan server Backend ke klien. Menurut perspektif klien, permintaan telah dipenuhi oleh ELB, bukan oleh server backend.
- Load balancer klasik adalah load balancer Elastis lawas.
- Ini juga dapat digunakan untuk menyeimbangkan lalu lintas HTTP atau HTTPs dan menggunakan fitur khusus Layer 7, seperti sesi X-forwarded dan sticky.
- Juga bisa menggunakan penyeimbang beban Layer 4 untuk aplikasi yang hanya mengandalkan protokol TCP.
Load Balancer Errors
- Classic Load Balancer = Jika mendapatkan kesalahan 504, ini adalah kesalahan batas waktu gateway. Load balancer masih tersedia, tetapi memiliki masalah dalam berkomunikasi dengan instance EC2. Jika aplikasi berhenti merespons, ELB (Classic Load Balancer) merespons dengan kesalahan 504. Ini berarti aplikasi mengalami masalah dan bisa jadi pada lapisan server web atau lapisan Database. Untuk memecahkan masalah di mana aplikasi gagal, dan meningkatkannya atau keluar jika memungkinkan.
- X Forwarded For Harder = X-Forwarded-For-Header digunakan untuk menentukan alamat IP klien saat Anda menggunakan penyeimbang beban klasik.
- Working of X-Forwarded For Header
- Seorang pengguna berada di alamat Ipv4, yaitu 124.12.3.23.
- Seorang pengguna mengirimkan permintaan ke load balancer klasik yang pada gilirannya melipat permintaan ke dalam instance EC2. Instance EC2 akan menggunakan alamat privat, yaitu 10.0.0.23 dan ini adalah satu-satunya alamat yang dilihat oleh instance EC2.
- Instance EC2 hanya menangkap alamat privat karena Classis Load balancer mencakup alamat IP Publik. Alamat publik diperlukan karena memberikan informasi berharga seperti “siapa yang menggunakan situs web Anda”.
- Instance EC2 mendapatkan alamat Ipv4 dalam bentuk Header permintaan X-Forwarded-For dari penyeimbang beban Klasik.