Apa itu AWS Network Load Balancer (NLB)?
AWS Network Load Balancer (NLB) adalah alat dari Amazon Web Services yang mendistribusikan lalu lintas dengan performa tinggi ke berbagai instance cloud serta menyediakan penskalaan otomatis sumber daya untuk memastikan latensi rendah dan throughput tinggi bagi aplikasi. Hal ini dimungkinkan oleh kemampuannya menangani jutaan permintaan pengguna per detik dengan tingkat latensi yang sangat rendah.
AWS NLB beroperasi di Layer 4, atau lapisan transport, dalam model Open Systems Interconnection (OSI). Ia menggunakan beberapa protokol dan proses — seperti Transmission Control Protocol (TCP), User Datagram Protocol (UDP), TCP_UDP listeners, dan Transport Layer Security listeners — untuk mendukung load balancing aplikasi.
Komponen AWS NLB
Load balancer berfungsi sebagai titik kontak tunggal bagi klien. Berikut adalah dua komponen utama dari AWS NLB:
Listeners. Sebelum AWS NLB dapat digunakan, administrator harus menambahkan satu atau lebih listener. Listener adalah proses yang menggunakan protokol dan port number yang dikonfigurasi untuk mencari permintaan koneksi. Aturan yang ditentukan untuk listener menentukan bagaimana NLB mengarahkan lalu lintas ke kelompok target.
Kelompok target. Kelompok target terdiri dari beberapa target yang telah didaftarkan, yang dapat menerima lalu lintas dari listener, seperti Amazon EC2 instances, alamat IP, layanan mikro, dan kontainer. Sebuah target dapat didaftarkan di beberapa kelompok target, yang meningkatkan ketersediaan aplikasi, terutama saat permintaan melonjak.
Bagaimana cara kerja load balancing di AWS?
NLB melakukan pemeriksaan kesehatan pada target untuk memastikan lalu lintas hanya diarahkan ke sumber daya yang berkinerja tinggi. Jika suatu target menjadi lambat atau tidak merespons, NLB akan mengarahkan lalu lintas ke target lain. Jika tidak ada target sehat dalam zona ketersediaan (AZ), lalu lintas dapat dialihkan ke sumber daya di AZ lain. Jika NLB itu sendiri tidak merespons, integrasinya dengan Amazon Route 53 dapat mengarahkan lalu lintas ke load balancer alternatif di AWS Region lain.
Administrator dapat mengatur load balancing melalui AWS Management Console atau AWS Command Line Interface. Pertama, mereka harus mendefinisikan satu atau lebih listener untuk menerima permintaan koneksi dari pengguna melalui port dan protokol yang telah ditentukan. Listener kemudian meneruskan permintaan ke kelompok target yang telah dibuat oleh administrator.
NLB menyediakan satu alamat IP statis per AZ yang dapat digunakan aplikasi sebagai IP front-end untuk terhubung ke NLB. Load balancer juga memungkinkan pelanggan AWS untuk menetapkan alamat IP elastis per AZ dan mencatat alamat IP pengguna akhir untuk pemrosesan aplikasi backend. NLB kompatibel dengan antarmuka pemrograman aplikasi (API) dari application load balancer (ALB), memberikan tim TI lebih banyak kontrol dalam load balancing berbasis program. Selain itu, NLB terintegrasi dengan layanan AWS lainnya, seperti Auto Scaling dan CloudFormation.
Apa saja jenis load balancing di AWS?
AWS menggunakan berbagai teknik load balancing untuk menangani berbagai skenario distribusi lalu lintas. Berikut adalah jenis utama load balancing yang didukung oleh AWS:
- Application Load Balancing. ALB mendukung perutean berbasis jalur saat beroperasi di lapisan aplikasi (Layer 7 model OSI). ALB menganalisis aturan listener berdasarkan prioritas untuk menentukan aturan mana yang harus diterapkan dan memilih target dari kelompok target untuk menerapkan aturan tersebut. Algoritma perutean default dalam load balancing ini adalah round robin.
- Global Server Load Balancing (GSLB). GSLB membantu mendistribusikan lalu lintas ke server yang tersebar secara geografis untuk memastikan kecepatan dan skalabilitas aplikasi. Teknologi ini menggunakan geolokasi dan manipulasi respons sistem nama domain (DNS) untuk memilih pusat data terbaik bagi pengguna.
- Classic Load Balancing. Load balancing klasik memberikan load balancing dasar di beberapa Amazon EC2 instances di berbagai AZ. Namun, AWS telah menghentikan layanan ini sejak 15 Agustus 2022.
Fitur dan manfaat menggunakan NLB
- Load balancing Layer 4 berbasis koneksi. NLB mendukung load balancing untuk lalu lintas TCP dan UDP.
- Skalabilitas tinggi. NLB menangani lalu lintas dalam jumlah besar, cocok untuk aplikasi yang membutuhkan throughput tinggi.
- Latensi rendah. Dirancang untuk aplikasi yang memerlukan waktu respons cepat.
- Cross-zone load balancing. Memungkinkan distribusi lalu lintas di berbagai zona ketersediaan.
- Preservasi alamat IP sumber. Memungkinkan backend melihat alamat IP asli klien.
- Integrasi dengan AWS Services. Termasuk Auto Scaling, ECS, dan AWS Config.
Batasan NLB
- Tidak mendukung asosiasi dengan security groups.
- Tidak dapat menghapus AZ setelah diaktifkan.
- Alamat IP tidak dapat diubah setelah NLB dibuat.
Struktur Harga AWS NLB
AWS mengenakan biaya berdasarkan penggunaan per jam dan jumlah NLB Capacity Units (NLCU) yang digunakan.
- $0.0225 per jam atau sebagian jam untuk setiap NLB.
- $0.006 per NLCU per jam atau sebagian jam.