Grup server mengarahkan permintaan klien ke server backend. Saat menambahkan listener, Anda harus menentukan grup server. Listener meneruskan lalu lintas ke grup server yang sesuai berdasarkan protokol dan port yang dikonfigurasi. Network Load Balancer (NLB) menggunakan pemeriksaan kesehatan untuk memantau kondisi server backend.
Tipe grup server NLB
Tipe grup server | Tipe server backend | Deskripsi |
Tipe Server | Anda dapat menambahkan instans ECS, ENI, dan ECI sebagai server backend. | Server backend harus berada dalam VPC yang sama dengan grup server agar dapat menerima permintaan dari instans NLB. |
Tipe IP | Anda dapat menambahkan alamat IP sebagai server backend. | Alamat IP tidak dibatasi oleh blok CIDR VPC tempat grup server berada. Anda dapat menambahkan alamat IP dari server lintas wilayah, lintas VPC, atau pusat data lokal. Alamat IP tersebut berfungsi sebagai server backend untuk menerima permintaan dari instans NLB.
Hanya alamat IP pribadi yang didukung. Alamat IP publik tidak didukung. |
NLB tidak secara otomatis memperbarui informasi server backend jika server tersebut dilepas atau alamat IP pribadinya berubah. Untuk mencegah gangguan layanan, hapus server dari grup server sebelum melepasnya atau mengubah konfigurasinya.
Buat grup server
Masuk ke Konsol NLB.
-
Di bilah navigasi atas, pilih wilayah tempat instans NLB ditempatkan.
-
Di panel navigasi kiri, pilih NLB > Server Groups.
-
Pada halaman Server Groups, klik Create Server Group.
Pada kotak dialog Create Server Group, konfigurasikan pengaturan berikut lalu klik Create.
Parameter
Deskripsi
Server Group Type
Pilih tipe grup server:
Server Type: Memungkinkan Anda menambahkan instans ECS, ENI, dan ECI sebagai server backend.
IP Type: mendukung penambahan alamat IP sebagai server backend.
Hanya alamat IP pribadi yang dapat ditambahkan; alamat IP publik tidak didukung.
VPC
Pilih VPC dari daftar drop-down VPC.
Backend Server Protocol
Pilih protokol backend:
TCP: Mengaitkan grup server dengan listener TCP dan TCP/SSL.
UDP: Mengaitkan grup server dengan listener UDP.
Scheduling Algorithm
Pilih algoritma penjadwalan:
Round Robin: Mendistribusikan permintaan ke server backend secara berurutan.
Weighted Round-robin (Default): Mendistribusikan permintaan ke server backend berdasarkan bobotnya. Server backend dengan bobot lebih tinggi menerima lebih banyak permintaan.
Source IP Hashing: Menggunakan penghashan konsisten berdasarkan alamat IP sumber. Permintaan dari alamat IP sumber yang sama diarahkan ke server backend yang sama.
Four-element Hashing: Menggunakan penghashan konsisten berdasarkan empat-tupel (IP sumber, IP tujuan, port sumber, dan port tujuan). Paket dari aliran yang sama diarahkan ke server backend yang sama.
QUIC ID Hashing: Menggunakan penghashan konsisten berdasarkan ID koneksi QUIC. Permintaan dengan ID QUIC yang sama diarahkan ke server backend yang sama.
Anda hanya dapat memilih QUIC ID hashing ketika protokol backend adalah UDP.
Protokol QUIC berkembang pesat. Algoritma ini diimplementasikan berdasarkan draft-ietf-quic-transport-10. Kompatibilitas dengan semua versi QUIC tidak dijamin. Kami menyarankan Anda melakukan pengujian yang cukup sebelum menggunakan algoritma ini di lingkungan produksi.
Weighted Least Connections: Mendistribusikan permintaan berdasarkan bobot dan beban aktual (jumlah koneksi) setiap server backend. Jika server backend memiliki bobot yang sama, server dengan koneksi paling sedikit akan menerima lebih banyak permintaan.
Resource Group
Pilih kelompok sumber daya untuk grup server.
Tag
Tetapkan Tag Key dan Tag Value.
IP Version
Pilih versi IP:
IPv4 (Default): Anda hanya dapat menambahkan server backend IPv4.
IPv4/IPv6 dual-stack: Anda dapat menambahkan server backend IPv4 dan IPv6.
Jika IPv6 tidak diaktifkan untuk VPC yang Anda pilih, Anda hanya dapat memilih IPv4.
IP Version Affinity
Jika Anda mengatur IP Version ke IPv4/IPv6 dual-stack, Anda dapat mengonfigurasi IP Version Affinity:
No affinity (Default): Permintaan didistribusikan ke server backend sehat berdasarkan algoritma penjadwalan, terlepas dari versi IP sumber.
Affinity mode: Permintaan diarahkan berdasarkan versi IP sumbernya. Permintaan IPv4 hanya diarahkan ke server backend IPv4, dan permintaan IPv6 hanya diarahkan ke server backend IPv6.
Jika Anda memilih Affinity mode, pastikan grup server backend berisi target IPv4 dan IPv6 yang sehat; jika tidak, permintaan protokol yang bersangkutan tidak dapat diteruskan dengan benar.
Connection Draining
Tentukan apakah akan mengaktifkan pengurasan koneksi. Fitur ini dinonaktifkan secara default.
Jika Anda mengaktifkan pengurasan koneksi, Anda juga harus mengatur Connection Draining Timeout. Timeout dapat diatur dari 0 hingga 900 detik. Nilai 0 menunjukkan bahwa koneksi langsung dikuras.
Ketika server backend dihapus atau gagal dalam pemeriksaan kesehatan:
Jika pengurasan koneksi dinonaktifkan (default), koneksi yang ada tidak diinterupsi secara aktif. Koneksi tersebut hanya terputus setelah klien memutuskan koneksi atau sesi berakhir.
Jika pengurasan koneksi diaktifkan, koneksi yang ada dipertahankan hingga waktu timeout berakhir. Kemudian, koneksi tersebut ditutup secara aktif untuk memastikan transisi layanan yang lancar.
Client IP Preservation
Tentukan apakah akan mengaktifkan pelestarian IP klien. Jika Anda mengaktifkan fitur ini, server backend dapat mengambil alamat IP sumber klien.
Jika Anda menonaktifkan fitur ini, server backend dapat bertindak sebagai klien untuk mengakses instans NLB. Untuk mengambil alamat IP sumber klien, Anda dapat mengaktifkan Proxy Protocol untuk listener.
Setelah pelestarian alamat klien diaktifkan, grup server tipe IP tidak mendukung pembawaan otomatis alamat sumber klien. Konfigurasikan ProxyProtocol di listener untuk mendapatkan alamat sumber.
Multi-port Forwarding
Aktifkan atau nonaktifkan penerusan semua port. Ketika diaktifkan, Anda tidak perlu menentukan port saat menambahkan server backend, dan NLB meneruskan traffic ke server backend sesuai dengan port permintaan front-end.
Jika Anda mengaktifkan fitur multi-port forwarding untuk listener, Anda juga harus mengaktifkan fitur ini untuk grup server backend.
Health Check
Tentukan apakah akan mengaktifkan pemeriksaan kesehatan.
Health Check Settings
Jika Anda mengaktifkan pemeriksaan kesehatan, Anda dapat mengklik Modify untuk mengubah pengaturan pemeriksaan kesehatan.
Health Check Protocol
Pilih protokol untuk pemeriksaan kesehatan:
TCP (Default): Mengirim paket SYN untuk memeriksa apakah port server dapat dijangkau.
HTTP: Mengirim permintaan HEAD atau GET untuk memeriksa apakah aplikasi di server dalam kondisi sehat.
UDP: Mengirim paket ICMP Echo Request dan paket probe UDP untuk mendapatkan informasi status.
Anda hanya dapat memilih UDP untuk Health Check Protocol jika protokol backend grup server adalah UDP.
Health Check Method
Pilih metode pemeriksaan kesehatan:
GET: Jika paket respons lebih besar dari 8 KB, paket tersebut dipotong. Hal ini tidak memengaruhi hasil pemeriksaan kesehatan.
HEAD: Pemeriksaan kesehatan listener HTTP menggunakan HEAD secara default. Pastikan server backend Anda mendukung permintaan HEAD. Jika aplikasi backend Anda tidak mendukung atau telah menonaktifkan permintaan HEAD, pemeriksaan kesehatan mungkin gagal. Dalam kasus ini, gunakan metode GET.
Parameter ini hanya berlaku ketika protokol pemeriksaan kesehatan adalah HTTP.
Health Check Protocol Version
Pilih versi HTTP: HTTP/1.0 (default) atau HTTP/1.1.
Versi protokol pemeriksaan kesehatan harus sesuai dengan versi HTTP yang didukung oleh aplikasi backend Anda. Jika tidak, pemeriksaan kesehatan mungkin gagal. Jika server backend Anda:
Hanya mendukung HTTP 1.0, Anda harus memilih HTTP/1.0.
Hanya mendukung HTTP 1.1, Anda harus memilih HTTP/1.1.
Mendukung HTTP 1.0 dan HTTP 1.1, Anda dapat memilih salah satu versi.
Parameter ini hanya berlaku ketika protokol pemeriksaan kesehatan adalah HTTP.
Health Check Port
Pilih port probe yang digunakan layanan pemeriksaan kesehatan untuk mengakses server backend.
Backend Server Port: Secara default, layanan pemeriksaan kesehatan menggunakan port server backend.
Custom Port: Tentukan port untuk pemeriksaan kesehatan.
Jika Anda mengaktifkan multi-port forwarding, Anda harus menentukan port pemeriksaan kesehatan.
Health Check Path
Masukkan URL halaman pemeriksaan kesehatan.
Parameter ini hanya berlaku ketika protokol pemeriksaan kesehatan adalah HTTP.
Health Check Domain Name
Masukkan nama domain untuk pemeriksaan kesehatan.
Backend Server Internal IP (Default): Alamat IP pribadi server backend digunakan sebagai nama domain untuk pemeriksaan kesehatan.
Custom Domain Name: Masukkan nama domain.
Parameter ini hanya berlaku ketika protokol pemeriksaan kesehatan adalah HTTP.
Health Check Status Codes
Pilih kode status yang menunjukkan pemeriksaan kesehatan berhasil. Anda dapat memilih http_2xx (default), http_3xx, http_4xx, dan http_5xx.
Parameter ini hanya berlaku ketika protokol pemeriksaan kesehatan adalah HTTP.
Custom Request/Response
Saat Anda mengonfigurasi pemeriksaan kesehatan untuk listener UDP, Anda dapat mengaktifkan Custom Request/Response. Lalu, masukkan konten permintaan di bidang Custom Request, seperti youraccountID, dan respons yang diharapkan di bidang Custom Response, seperti slb123.
Anda juga harus menambahkan logika respons pemeriksaan kesehatan yang sesuai ke aplikasi di server backend. Misalnya, jika aplikasi menerima permintaan yang berisi
youraccountID, aplikasi tersebut harus mengembalikan respons yang berisi slb123.
Jika instans NLB menerima respons yang diharapkan dari server backend, pemeriksaan kesehatan berhasil. Jika tidak, pemeriksaan kesehatan gagal. Metode ini memaksimalkan keandalan pemeriksaan kesehatan UDP.
Parameter ini hanya berlaku ketika protokol pemeriksaan kesehatan adalah UDP.
Response Timeout Period
Periode menunggu respons terhadap permintaan pemeriksaan kesehatan. Jika server backend tidak merespons dalam periode yang ditentukan, pemeriksaan kesehatan gagal.
Health Check Interval
Interval pelaksanaan pemeriksaan kesehatan.
Jika Anda mengatur Health Check Protocol ke UDP, pastikan nilai Health Check Interval lebih besar dari atau sama dengan nilai Response Timeout Period. Hal ini mencegah probe UDP salah dianggap tidak responsif karena timeout.
Healthy Threshold
Jumlah pemeriksaan kesehatan berturut-turut yang berhasil yang diperlukan untuk mengubah status server backend dari tidak sehat menjadi sehat.
Unhealthy Threshold
Jumlah kegagalan pemeriksaan kesehatan berturut-turut setelah itu status pemeriksaan kesehatan server backend diubah dari sehat menjadi tidak sehat.
Tambahkan server backend (Tipe Server)
Jika Anda membuat grup server tipe Server, Anda harus menambahkan server backend untuk menangani permintaan masuk. Anda tidak dapat menambahkan instans ECS, ENI, atau ECI yang sama lebih dari sekali ke grup server yang mengaktifkan multi-port forwarding.
Pada halaman Server Groups, temukan grup server yang ingin Anda kelola dan gunakan salah satu metode berikut untuk membuka halaman server backend.
Pada kolom Actions, klik Modify Backend Server.
Klik ID grup server. Pada halaman detail grup server, klik tab Backend Servers.
Pada tab Backend Servers, klik Add Backend Server.
Pada panel Add Backend Server, pilih Server Type lalu klik Next.
Saat tipe server adalah ECS/ENI, pilih server target atau klik Purchase ECS Instance di pojok kanan atas.
Untuk memilih ENI, pastikan ENI sekunder telah Bind a secondary ENI ke instans ECS target dan sakelar Advanced Mode diaktifkan. Lalu, klik ikon
di sebelah kanan ID instans ECS target dan pilih ENI.Jika IP Version grup server adalah IPv4/IPv6 dual-stack, klik ikon pengaturan di sebelah header kolom IP. Pada kotak dialog IP Address, pilih kebijakan alamat IP:
Prefer IPv4 over IPv6: Alamat IPv4 primer yang tersedia dipilih secara default.
Prefer IPv6 over IPv4: Alamat IPv6 yang tersedia dipilih secara default. Jika ENI memiliki beberapa alamat IPv6, alamat pertama yang tersedia dipilih berdasarkan urutannya dalam daftar.
Dualstack: Alamat IPv4 primer yang tersedia dan alamat IPv6 pertama yang tersedia dipilih.
Opsi ini hanya mengatur alamat IP default yang dipilih untuk ENI. Anda tetap dapat mengubah pilihan secara manual di kolom alamat IP.
Saat tipe server adalah ECI, pilih server target atau klik Purchase Elastic Container Instance di pojok kanan atas.
Konfigurasikan port dan bobot server, lalu klik OK.
Setelah grup server mengaktifkan all-port forwarding, Anda tidak perlu menentukan port saat menambahkan server backend. NLB meneruskan lalu lintas ke server backend sesuai dengan port permintaan front-end.
Bobot default adalah 100. Server dengan bobot lebih tinggi menerima lebih banyak permintaan.
Anda dapat mengarahkan kursor ke ikon
untuk mengubah bobot dan port beberapa server sekaligus: Klik Replicate to Below: Jika Anda mengubah bobot atau port server saat ini, bobot atau port semua server di bawahnya diubah menjadi nilai yang sama.
Klik Replicate to Above: Jika Anda mengubah bobot atau port server saat ini, bobot atau port semua server di atasnya diubah menjadi nilai yang sama.
Klik Replicate to All: Jika Anda mengubah bobot atau port server saat ini, bobot atau port semua server dalam grup server diubah menjadi nilai yang sama.
Klik Reset:
Klik Reset di samping Weight untuk mengembalikan bobot default semua server dalam grup server.
Klik Reset di samping Port untuk menghapus nomor port semua server dalam grup server.
PeringatanJika Anda mengatur bobot server menjadi 0, server tersebut tidak lagi menerima permintaan baru.
Tambahkan server backend (Tipe IP)
Jika Anda membuat grup server tipe IP, Anda harus menambahkan alamat IP sebagai server backend untuk menangani permintaan masuk. Anda tidak dapat menambahkan alamat IP yang sama lebih dari sekali ke grup server yang mengaktifkan multi-port forwarding.
Anda tidak dapat menambahkan alamat IP virtual (VIP) instans NLB dalam VPC yang sama, atau VIP instans ALB yang dibuat dalam VPC yang sama setelah .
Hanya alamat IP pribadi yang didukung. Alamat IP publik tidak didukung.
Pada halaman Server Groups, temukan grup server target dan gunakan salah satu metode berikut untuk menambahkan alamat IP.
Pada kolom Actions, klik Modify Backend Server.
Klik ID grup server.
Pada halaman detail grup server, klik tab Backend Servers, lalu klik Add IP Address.
Pada tab Select Servers panel Add Backend Server, masukkan alamat IP lalu klik Next.
Anda dapat mengonfigurasi beberapa port dan bobot untuk alamat IP tersebut.
Pada tab Ports/Weights, atur port dan bobot untuk alamat IP yang ditambahkan, lalu klik OK.
Setelah grup server mengaktifkan all-port forwarding, Anda tidak perlu menentukan port saat menambahkan server backend. NLB meneruskan lalu lintas ke server backend sesuai dengan port permintaan front-end.
Bobot default adalah 100. Server dengan bobot lebih tinggi menerima lebih banyak permintaan.
Anda dapat mengarahkan kursor ke ikon
untuk mengubah bobot dan port beberapa server sekaligus: Klik Replicate to Below: Jika Anda mengubah bobot atau port server saat ini, bobot atau port semua server di bawahnya diubah menjadi nilai yang sama.
Klik Replicate to Above: Jika Anda mengubah bobot atau port server saat ini, bobot atau port semua server di atasnya diubah menjadi nilai yang sama.
Klik Replicate to All: Jika Anda mengubah bobot atau port server saat ini, bobot atau port semua server dalam grup server diubah menjadi nilai yang sama.
Klik Reset:
Klik Reset di samping Weight untuk mengembalikan bobot default semua server dalam grup server.
Klik Reset di samping Port untuk menghapus nomor port semua server dalam grup server.
PeringatanJika Anda mengatur bobot server menjadi 0, server tersebut tidak lagi menerima permintaan baru.
Operasi lainnya
Aksi | Prosedur |
Edit informasi dasar | Pada halaman Server Groups, temukan grup server target lalu klik Modify Basic Information. Pada kotak dialog Modify Basic Information, Anda dapat mengubah algoritma penjadwalan, afinitas versi IP (tersedia hanya jika IP Version grup server adalah IPv4/IPv6 dual-stack), pengurasan koneksi, dan pengaturan pelestarian IP klien. |
Edit pengaturan pemeriksaan kesehatan | Pada halaman Server Groups, temukan grup server target lalu klik Modify Health Check Settings. Pada kotak dialog Modify Health Check Settings, ubah pengaturan pemeriksaan kesehatan. Peringatan
|
Hapus server backend | Anda dapat menghapus server backend dari grup server sesuai kebutuhan. Peringatan Menghapus server backend langsung dari grup server dapat menyebabkan gangguan layanan. Untuk menghindarinya, atur terlebih dahulu bobot server menjadi 0, lalu hapus dari grup server.
|
Hapus grup server | Anda hanya dapat menghapus grup server jika tidak dikaitkan dengan aturan pengalihan listener apa pun. Menghapus grup server tidak memengaruhi server backend-nya. Jika Anda tidak lagi memerlukan instans ECS, ENI, atau ECI yang terdaftar sebagai server backend, Anda dapat menghentikan atau melepaskannya. Pada halaman Server Groups, temukan grup server target. Di kolom Actions, pilih lalu klik OK. |
Referensi API
CreateServerGroup: Membuat grup server untuk instans NLB.
DeleteServerGroup: Menghapus grup server instans NLB.
AddServersToServerGroup: Menambahkan server backend ke grup server instans NLB.
RemoveServersFromServerGroup: Menghapus server backend dari grup server instans NLB.
UpdateServerGroupAttribute: Memperbarui konfigurasi grup server untuk instans NLB.
FAQ
Apakah NLB mendukung pembatasan penerusan koneksi baru berdasarkan ambang batas jumlah koneksi backend?
Tidak. Algoritma penjadwalan saat ini (Weighted Round Robin, hash IP sumber, hash empat-tupel, dll.) tidak menyediakan strategi pengurasan lalu lintas berdasarkan jumlah koneksi. Untuk mengontrol koneksi baru ke Pod backend dalam skenario seperti ACS StatefulSet, Anda dapat menggunakan alternatif berikut:
fallback pemeriksaan kesehatan: Konfigurasikan Health check untuk grup server. Ketika Pod backend tidak dapat merespons probe karena koneksi habis, setelah jumlah kegagalan berturut-turut mencapai Unhealthy threshold, NLB secara otomatis menandai backend sebagai tidak sehat dan berhenti meneruskan permintaan baru. Disarankan untuk memperpendek Interval dan menurunkan Unhealthy threshold secara tepat untuk mendeteksi anomali backend lebih cepat dan mengurangi kehilangan lalu lintas.
Penghentian koneksi secara halus: Aktifkan Connection graceful interruption saat membuat kelompok server. Setelah backend dihapus oleh pemeriksaan kesehatan, koneksi TCP jangka panjang yang telah terjalin dapat terus mengirimkan data secara normal selama periode batas waktu yang ditetapkan tanpa langsung terputus.
kontrol aktif di sisi Pod: Disarankan untuk menerapkan pemantauan jumlah koneksi di dalam Pod, dan secara proaktif menolak koneksi baru ketika jumlah koneksi mendekati batas atas (misalnya, dengan mengembalikan respons error atau menutup port pendengar), digunakan bersamaan dengan pemeriksaan kesehatan untuk mencapai kontrol lalu lintas yang lebih tepat.