Dalam skenario yang menggunakan sejumlah besar port atau port yang ditetapkan secara dinamis, manajemen konfigurasi menjadi sangat kompleks jika Anda mengonfigurasi listener satu per satu. Selain itu, kesalahan konfigurasi dapat menyebabkan risiko keamanan. Network Load Balancer (NLB) mendukung fitur pendengaran multi-port, yang memungkinkan NLB mendengarkan berdasarkan rentang port dan meneruskan lalu lintas jaringan menggunakan beberapa port dari sebuah listener. Pendengaran multi-port menyederhanakan manajemen konfigurasi dan mengurangi risiko keamanan.
Apa itu pendengaran multi-port?
Pendengaran multi-port memungkinkan NLB mendengarkan berdasarkan rentang port dan meneruskan lalu lintas jaringan yang ditujukan untuk rentang port tersebut. Pendengaran tidak lagi terbatas pada port tertentu.
Setelah Anda mengaktifkan pendengaran multi-port untuk instance NLB, instance NLB akan mendengarkan semua port dalam rentang port yang ditentukan dan secara otomatis meneruskan permintaan langsung ke port yang sama di server backend.
Pendengaran multi-port memungkinkan Anda mengelola lalu lintas jaringan pada beberapa port secara fleksibel dan secara signifikan menyederhanakan manajemen konfigurasi. Fitur ini sangat ideal untuk skenario yang menggunakan sejumlah besar port atau port yang ditetapkan secara dinamis.
Fitur utama
Mendengarkan Berdasarkan Rentang Port: Pendengaran multi-port memungkinkan Anda menentukan rentang port yang berisi nomor port berurutan, seperti
1000 hingga 2000. NLB mendengarkan semua port dalam rentang port yang ditentukan.Konfigurasi Disederhanakan: Pendengaran multi-port menghilangkan kebutuhan untuk mengonfigurasi listener satu per satu. Fitur ini sangat ideal untuk skenario yang menggunakan sejumlah besar port yang tetap sama antara listener dan server backend. Pendengaran multi-port memungkinkan Anda mengelola lalu lintas jaringan secara fleksibel bahkan jika port layanan sering diubah atau diperluas. Anda tidak perlu menambahkan atau mengubah port satu per satu.
Skema penggunaan
Pendengaran multi-port sangat ideal untuk skenario yang menggunakan sejumlah besar port atau port yang ditetapkan secara dinamis, seperti:
Game online, termasuk game peran tunggal daring (RPG), game pemain versus lingkungan (PvE), dan game simulasi (SLG). Dalam skenario tersebut, sejumlah besar port digunakan untuk memproses data game dalam berbagai skenario. Port ditetapkan untuk skenario game atau ruang game yang berbeda.
Komunikasi real-time, termasuk konferensi video dan pendidikan daring. Dalam skenario tersebut, sejumlah besar port digunakan untuk memproses data audio dan video real-time serta data sinyal.
Skenario contoh
Sebuah perusahaan membuat virtual private cloud (VPC) di wilayah China (Hangzhou). Instance NLB diterapkan di VPC. Dua instance Elastic Compute Service (ECS) bernama ECS01 dan ECS02 ditambahkan ke grup server instance NLB. Aplikasi yang dapat diakses diterapkan pada instance ECS.
Perusahaan ingin mengaktifkan pendengaran multi-port untuk instance NLB untuk mendengarkan port 8080 hingga 8090. Port-port tersebut ditetapkan untuk layanan yang berbeda.
Batasan
Untuk mengaktifkan pendengaran multi-port untuk instance NLB, Anda harus mengaitkan instance NLB dengan grup server yang memiliki pendengaran multi-port diaktifkan. Anda tidak dapat mengubah status pendengaran multi-port untuk listener atau grup server. Untuk mengaktifkan pendengaran multi-port, Anda harus membuat grup server dan listener serta mengaktifkan pendengaran multi-port.
Prasyarat
VPC dibuat di wilayah China (Hangzhou). vSwitch dibuat di masing-masing dua zona. Untuk informasi lebih lanjut, lihat Buat dan Kelola VPC.
Instance ECS dibuat di masing-masing vSwitch. Aplikasi yang menggunakan port 8080 hingga 8090 diterapkan pada instance ECS.
Grup keamanan ECS01 dan ECS02 mengizinkan permintaan ke port 8080 hingga 8090.
Instance NLB yang menghadap Internet dibuat dan running di VPC. Untuk informasi lebih lanjut, lihat Buat dan Kelola Instance NLB.
Nama domain didaftarkan dan nomor penyedia konten Internet (ICP) diperoleh untuk nama domain tersebut. Untuk informasi lebih lanjut, lihat Daftarkan Nama Domain Generik dan Proses Pendaftaran ICP.
Langkah 1: Buat grup server yang mendukung pendengaran multi-port
Masuk ke Konsol NLB.
Di bilah navigasi atas, pilih wilayah tempat instance NLB diterapkan.
Di panel navigasi kiri, pilih NLB > Server Groups.
Di halaman Server Groups, klik Create Server Group.
Konfigurasikan grup server. Tabel berikut menjelaskan beberapa parameter. Parameter lainnya menggunakan nilai default. Untuk informasi lebih lanjut, lihat Buat dan Kelola Grup Server.
Parameter
Deskripsi
Server Group Type
Pilih tipe grup server yang ingin Anda buat.
Server Group Name
Masukkan nama untuk grup server.
VPC
Pilih VPC instance NLB dari daftar drop-down. Hanya server dalam VPC instance NLB yang dapat ditambahkan ke grup server.
Multi-port Forwarding
Aktifkan pengalihan multi-port.
Setelah Anda mengaktifkan fitur pengalihan multi-port, Anda tidak perlu menentukan port saat menambahkan server ke grup server. NLB meneruskan permintaan langsung ke server backend berdasarkan port yang diminta.
PentingJika Anda mengaktifkan pengalihan multi-port untuk listener, Anda hanya dapat mengaitkan listener dengan grup server yang memiliki pengalihan multi-port diaktifkan.
Configure Health Check
Aktifkan pemeriksaan kesehatan.
Health Check Port
Untuk mengaktifkan pengalihan multi-port, Anda harus menentukan port pemeriksaan kesehatan.
Pemeriksaan kesehatan memeriksa port untuk memeriksa status kesehatan server backend. Jika port tidak mengembalikan respons yang valid, server backend dinyatakan tidak sehat.
Dalam contoh ini, port pemeriksaan kesehatan diatur ke port 8080.
Setelah Anda menyelesaikan konfigurasi, klik Create. Setelah grup server dibuat, klik Add Backend Server di pesan yang muncul.
Pilih ECS01 dan ECS02 sebagai server backend. Parameter lainnya menggunakan nilai default. Anda tidak perlu menentukan port server jika pendengaran multi-port diaktifkan. Klik OK.
Langkah 2: Buat listener yang mendukung pendengaran multi-port
Dalam contoh ini, listener TCP dibuat.
Masuk ke Konsol NLB.
Di bilah navigasi atas, pilih wilayah tempat instance NLB diterapkan.
Di halaman Instances, temukan instance NLB yang ingin Anda kelola dan klik Create Listener di kolom Actions.
Konfigurasikan listener. Tabel berikut menjelaskan beberapa parameter. Parameter lainnya menggunakan nilai default. Untuk informasi lebih lanjut, lihat Tambahkan Listener TCP. Setelah Anda menyelesaikan konfigurasi, klik Submit.
Konfigurasikan listener:
Parameter
Deskripsi
Multi-port Listening/Forwarding
Aktifkan pendengaran dan pengalihan multi-port.
Listener Port Range
Tentukan port pertama dan terakhir dari rentang port yang ingin Anda dengarkan. Dalam contoh ini, rentang port dimulai dengan port 8080 dan berakhir dengan port 8090.
NLB mendengarkan semua port yang termasuk dalam rentang port yang ditentukan dan meneruskan permintaan yang ditujukan untuk port tersebut langsung ke port server backend.
PentingSetelah Anda membuat listener yang mendukung pendengaran multi-port, rentang port listener tidak dapat diubah.
Kaitkan listener dengan grup server:
Parameter
Deskripsi
Server Group
Pilih grup server yang berisi ECS01 dan ECS02 dan mendukung pendengaran multi-port.
PentingPastikan pengalihan multi-port diaktifkan untuk grup server. Jika tidak, grup server gagal dikaitkan dengan listener.
Langkah 3: Tambahkan record DNS
Dalam skenario bisnis nyata, kami sarankan Anda menggunakan record CNAME untuk memetakan nama domain kustom ke nama domain instance NLB Anda.
Di panel navigasi kiri, pilih .
Di halaman Instances, salin nama domain instance NLB yang ingin Anda kelola.
Lakukan langkah-langkah berikut untuk membuat record CNAME:
CatatanJika nama domain Anda tidak didaftarkan menggunakan Alibaba Cloud Domains, Anda harus menambahkan nama domain Anda ke Alibaba Cloud DNS sebelum Anda dapat mengonfigurasi record DNS. Untuk informasi lebih lanjut, lihat Kelola Nama Domain. Jika nama domain Anda didaftarkan menggunakan Alibaba Cloud Domains, lewati langkah ini.
Masuk ke <Konsol Alibaba Cloud DNS.
Di halaman Authoritative DNS Resolution, temukan nama domain Anda dan klik DNS Settings di kolom Actions.
Di tab DNS Settings halaman detail nama domain, klik Add DNS Record.
Di panel Add DNS Record, konfigurasikan parameter dan klik OK. Tabel berikut menjelaskan parameter.
Parameter
Deskripsi
Record Type
Pilih CNAME dari daftar drop-down.
Hostname
Awalan nama domain. Dalam contoh ini, @ dimasukkan.
CatatanJika nama domain adalah nama domain root, masukkan @.
DNS Request Source
Pilih Default.
Record Value
Masukkan CNAME, yaitu nama domain instance NLB.
TTL Period
Tentukan nilai time-to-live (TTL) untuk record CNAME yang akan disimpan di server DNS. Dalam contoh ini, nilai default digunakan.
Langkah 4: Uji pendengaran multi-port
Uji ketersediaan instance NLB.
Dalam contoh ini, klien Linux digunakan. Jika Anda menggunakan CentOS dan telnet belum diinstal, jalankan perintah
yum install -y telnetuntuk menginstal telnet.Jalankan perintah
telnet nama domain portbeberapa kali. Nomor port harus termasuk dalam rentang 8080 hingga 8090. Jika Anda menerima paket respons yang mencakup Connected to ..., instance NLB dapat meneruskan permintaan ke server backend.Mencoba *.*.*.*... Terhubung ke www.example.com. Karakter escape adalah '^]'Akses nama domain dan port yang termasuk dalam rentang 8080 hingga 8090 dari browser, seperti
http://nama domain:8080. Jika Anda menerima respons seperti yang ditunjukkan pada gambar berikut, klien dapat mengakses aplikasi.
Simulasikan kegagalan.
Hentikan aplikasi di ECS01. Jalankan perintah
systemctl stop nginx.servicedi ECS01 untuk menghentikan aplikasi.Tunggu beberapa menit dan jalankan perintah
telnet nama domain portdi klien lagi. Nomor port harus termasuk dalam rentang 8080 hingga 8090. Anda masih dapat menerima paket respons yang mencakup Connected to ....Mencoba *.*.*.*... Terhubung ke www.example.com. Karakter escape adalah '^]'Akses nama domain dan port yang termasuk dalam rentang 8080 hingga 8090 dari browser, seperti
http://nama domain:8080. Jika Anda menerima respons seperti yang ditunjukkan pada gambar berikut, klien dapat mengakses aplikasi.
Mulai aplikasi di ECS01 dan hentikan aplikasi di ECS02. Jalankan perintah
systemctl start nginx.servicedi ECS01 untuk memulai ulang aplikasi, dan jalankan perintahsystemctl stop nginx.servicedi ECS02 untuk menghentikan aplikasi.Tunggu beberapa menit dan jalankan perintah
telnet nama domain portdi klien lagi. Nomor port harus termasuk dalam rentang 8080 hingga 8090. Anda masih dapat menerima paket respons yang mencakup Connected to ....Mencoba *.*.*.*... Terhubung ke www.example.com. Karakter escape adalah '^]'Akses nama domain dan port yang termasuk dalam rentang 8080 hingga 8090 dari browser, seperti
http://nama domain:8080. Jika Anda menerima respons seperti yang ditunjukkan pada gambar berikut, klien dapat mengakses aplikasi.
Uji sebelumnya menunjukkan bahwa titik kegagalan tunggal (SPOF) yang disebabkan oleh satu server tidak merusak ketersediaan instance NLB, dan aplikasi di server backend dapat diakses melalui port apa pun yang termasuk dalam rentang 8080 hingga 8090.