Secara default, instans Classic Load Balancer (CLB) meneruskan seluruh lalu lintas ke kelompok server backend yang dikonfigurasi untuk listener tersebut. Seiring perluasan layanan Anda, hal ini dapat menyebabkan distribusi sumber daya tidak merata, degradasi kinerja, dan kompleksitas operasional. Dengan mengonfigurasi aturan pengalihan pada listener CLB, Anda dapat mengarahkan lalu lintas ke kelompok server backend tertentu, sehingga memungkinkan manajemen lalu lintas detail halus dan isolasi layanan guna meningkatkan pemanfaatan sumber daya, menjamin stabilitas layanan, serta mengoptimalkan pengalaman pengguna.
Ikhtisar fitur
Aturan pengalihan untuk listener CLB mendistribusikan permintaan klien masuk ke server backend yang berbeda berdasarkan nama domain dan path URL.
Fitur utama
-
Pengalihan berbasis nama domain
-
Mode pencocokan: Mendukung pencocokan eksak dan pencocokan wildcard (termasuk wildcard satu level dan multi-level). Contohnya,
www.aliyun.commerupakan pencocokan eksak, sedangkan*.aliyun.comdan*.market.aliyun.commerupakan pencocokan wildcard. -
Prioritas pencocokan: Urutan pencocokan adalah Pencocokan Eksak > Wildcard Lebih Spesifik > Wildcard Lebih Umum, sehingga aturan paling tepat dieksekusi terlebih dahulu.
Tabel berikut menunjukkan contoh prioritas pencocokan. Tanda ✓ menunjukkan cocok dan × menunjukkan tidak cocok.
Mode
URL permintaan uji
Aturan pengalihan domain
www.aliyun.com
*.aliyun.com
*.market.aliyun.com
Exact Match
www.aliyun.com
✓
×
×
Pencocokan wildcard
market.aliyun.com
×
✓
×
info.market.aliyun.com
×
×
✓
-
-
Pengalihan berbasis path URL
Logika pencocokan: Sistem menggunakan Pencocokan awalan terpanjang berdasarkan path URL. Misalnya, jika Anda mengonfigurasi aturan untuk /abc dan /abcd, permintaan untuk /abcde akan sesuai dengan aturan /abcd.
-
Kombinasi kebijakan: Anda dapat mengonfigurasi beberapa kebijakan dalam satu listener yang sama dan menggunakan kombinasi nama domain serta path URL untuk menerapkan skenario distribusi lalu lintas kompleks, seperti mengarahkan permintaan baca dan tulis ke kelompok server yang berbeda.
Cara kerja
Anda dapat menambahkan beberapa aturan pengalihan ke satu listener, dengan setiap aturan dikaitkan ke kelompok vServer yang berbeda. Logika pencocokan ditunjukkan pada gambar berikut. Jika Anda belum mengonfigurasi aturan pengalihan apa pun, load balancer akan meneruskan semua permintaan ke kelompok server default yang dikonfigurasi untuk listener tersebut. Ketika aturan pengalihan telah dikonfigurasi, load balancer mencoba mencocokkan suatu aturan. Jika permintaan sesuai dengan suatu aturan, permintaan tersebut diteruskan ke kelompok server yang terkait dengan aturan tersebut. Jika tidak, permintaan dikirim ke kelompok server default listener.
Kasus penggunaan
-
Arsitektur microservices: Dalam arsitektur microservices, sebuah aplikasi terdiri dari beberapa layanan independen yang di-deploy pada instans atau kontainer berbeda. Routing berbasis path mengarahkan permintaan klien ke instans layanan spesifik yang menangani logika bisnis terkait. Misalnya, pada platform e-commerce, permintaan autentikasi pengguna, pemrosesan pesanan, dan pembayaran dapat diarahkan ke layanan autentikasi, pesanan, dan pembayaran masing-masing berdasarkan path URL dalam permintaan HTTP.
-
Pemisahan baca/tulis: Untuk layanan dengan konkurensi tinggi dan persyaratan konsistensi data ketat, seperti pemrosesan pesanan, Anda dapat menerapkan pemisahan baca/tulis guna mengoptimalkan kinerja dan keamanan data. Operasi baca dan tulis ditangani oleh instans atau kluster database berbeda. Operasi baca diarahkan ke database baca, sedangkan operasi tulis diarahkan ke database tulis.
-
Aplikasi multi-tenant: Dalam aplikasi multi-tenant, diperlukan lingkungan independen untuk memberikan isolasi layanan dan personalisasi bagi tenant berbeda. Misalnya, Anda dapat menggunakan subdomain spesifik tenant untuk membedakan titik masuk berbeda dan menggunakan path URL untuk memperhalus fungsi layanan lebih lanjut. Pendekatan ini tidak hanya menjamin keamanan dan privasi data tiap tenant, tetapi juga memungkinkan pengalaman dan antarmuka pengguna yang disesuaikan.
Batasan
-
Hanya listener HTTP dan HTTPS Lapisan 7 yang mendukung aturan pengalihan.
-
Kelompok server backend yang ditentukan dalam aturan pengalihan harus berupa kelompok vServer.
-
Anda dapat menambahkan hingga 40 aturan pengalihan berbasis nama domain dan URL ke listener HTTP atau HTTPS. Untuk informasi selengkapnya, lihat Batasan.
Skenario contoh
Sebuah platform pendidikan ingin menawarkan berbagai layanan pembelajaran daring, termasuk kursus video dan perpustakaan ujian daring, melalui satu nama domain. Layanan video memerlukan bandwidth tinggi dan kemampuan streaming, sedangkan layanan perpustakaan ujian memerlukan komputasi intensif dan waktu respons cepat. Awalnya, semua layanan di-deploy dalam satu kelompok server, yang menyebabkan alokasi sumber daya tidak merata. Selama jam puncak streaming video, kinerja perpustakaan ujian terganggu, sehingga menurunkan pengalaman pengguna. Beban server tinggi selama lonjakan lalu lintas juga mengancam stabilitas layanan.
Untuk mengatasi hal ini, platform tersebut menggunakan aturan pengalihan CLB Alibaba Cloud untuk mengarahkan lalu lintas berdasarkan path URL berbeda di bawah satu nama domain. Seperti ditunjukkan pada gambar berikut, permintaan ke /video/ diteruskan ke kelompok vServer layanan video RS1, sehingga menjamin bandwidth dan daya pemrosesan yang cukup untuk layanan video. Permintaan ke /exam/ diteruskan ke kelompok vServer layanan ujian RS2, sehingga mengoptimalkan sumber daya komputasi untuk respons dan pengiriman kueri yang cepat. Pendekatan ini mencapai routing presisi dan menjamin setiap subservice beroperasi secara independen.
Prasyarat
-
Anda telah membuat Virtual Private Cloud (VPC) bernama VPC1 di wilayah China (Shanghai), serta membuat dua vSwitch, VSW1 dan VSW2, di Zona E dan Zona G masing-masing.
-
Anda telah membuat instans ECS ECS01 dan ECS02 di VSW1 dan VSW2 masing-masing, serta men-deploy layanan aplikasi pada masing-masing instans. Catatan: Pastikan aturan security group mengizinkan lalu lintas pada port yang digunakan oleh layanan aplikasi.
Perintah contoh berikut menunjukkan cara men-deploy aplikasi uji pada ECS01 dan ECS02:
-
Anda telah membuat dua kelompok vServer, RS1 dan RS2, untuk instans CLB Anda, serta menambahkan ECS01 ke RS1 dan ECS02 ke RS2. Port server backend harus sesuai dengan port layanan aplikasi. Contoh ini menggunakan port default NGINX 80.
-
Anda telah mengonfigurasi listener HTTP atau listener HTTPS untuk instans CLB Anda.
-
Anda telah mendaftarkan nama domain di Alibaba Cloud dan menyelesaikan Pendaftaran ICP.
Prosedur
Langkah 1: Konfigurasikan aturan pengalihan
-
Masuk ke Konsol Classic Load Balancer (CLB).
-
Pada bilah navigasi atas, pilih wilayah tempat instans CLB Anda di-deploy.
-
Pada halaman Instances, klik ID instans target.
-
Pada tab Listener, temukan listener target dan klik Set Forwarding Rule di kolom Actions.
-
Pada panel Add Forwarding Policy, konfigurasikan aturan pengalihan dan klik Add Forwarding Policy.
Pada contoh ini, dua aturan pengalihan dikonfigurasi: permintaan dengan URL
/videoditeruskan ke kelompok vServer RS1, dan permintaan dengan URL/examditeruskan ke kelompok vServer RS2.-
Domain Name: Masukkan nama domain terdaftar Anda, yang harus telah menyelesaikan Pendaftaran ICP.
-
URL: Masukkan path permintaan.
Pencocokan path untuk aturan pengalihan CLB bersifat case-sensitive. Misalnya,
/videodan/viDeodianggap sebagai dua path terpisah dan memerlukan aturan pengalihan berbeda.
CatatanJika path URL permintaan berisi karakter khusus, Anda harus menggunakan encoding URL. Misalnya, jika aturan pengalihan dikonfigurasi untuk path URL yang berisi tanda pagar (#), seperti /#/, URL permintaan harus menggunakan nilai ter-encode "%23" (misalnya, /%23/) agar dapat dicocokkan dan diteruskan dengan benar.
-
Langkah 2: Konfigurasikan pemeriksaan kesehatan
Secara default, pemeriksaan kesehatan HTTP mengirim permintaan HTTP ke halaman utama default aplikasi yang dikonfigurasi di server. Untuk menggunakan halaman selain halaman utama default dalam pemeriksaan kesehatan, tentukan path eksaknya.
-
Pada halaman Instances, temukan instans CLB target dan klik ID-nya.
-
Pada tab Listener, temukan listener tersebut dan klik Set Forwarding Rule di kolom Actions.
-
Pada panel Add Forwarding Rules, di bawah Forwarding Rules, temukan aturan pengalihan target dan klik Modify. Ulangi langkah ini untuk aturan lain yang perlu dikonfigurasi.
-
Pada panel Modify Forwarding Rule, aktifkan Advanced Setting dan atur Health Check Path ke path URL aturan pengalihan. Misalnya, untuk aturan yang menggunakan URL /video, Anda harus mengatur path pemeriksaan kesehatan menjadi /video.
Aktifkan sakelar Health Check dan klik OK.
Langkah 3: Siapkan rekaman DNS
-
Untuk domain yang tidak didaftarkan di Alibaba Cloud, Anda harus terlebih dahulu menambahkan domain ke konsol DNS Alibaba Cloud sebelum dapat mengonfigurasi rekaman DNS.
-
Jika instans CLB Anda merupakan instans akses internal, Anda harus terlebih dahulu mengaitkan alamat Elastic IP (EIP) dengannya, lalu membuat Rekaman A yang memetakan nama domain ke EIP tersebut agar dapat diakses publik.
-
Pada panel navigasi kiri, pilih .
-
Pada halaman Instances, pilih instans target dan salin IP Address-nya.
-
Lakukan langkah-langkah berikut untuk menambahkan Rekaman A:
-
Masuk ke Konsol DNS Alibaba Cloud.
-
Pada halaman Public Zone, temukan nama domain target dan klik Settings di kolom Actions.
-
Pada halaman Settings, klik Add Record.
-
Pada panel Add Record, konfigurasikan parameter berikut. Anda dapat membiarkan parameter lain dengan nilai default atau mengubahnya sesuai kebutuhan. Lalu, klik OK.
Parameter
Deskripsi
Record Type
Pilih A dari daftar drop-down.
Hostname
Awalan nama domain Anda.
CatatanUntuk domain root, atur hostname menjadi @.
Record Value
Masukkan alamat IP instans CLB yang telah disalin.
-
Langkah 4: Uji konfigurasi
Gunakan browser untuk mengakses http://<nama domain Anda>/<URL>/ dan verifikasi bahwa permintaan diarahkan ke kelompok server yang benar.
-
Akses layanan video di http://www.example.com/video/ untuk memverifikasi bahwa permintaan diarahkan ke kelompok vServer layanan video RS1.
Jika akses berhasil, halaman akan menampilkan konten berikut:
Hello World ! This is video service. -
Akses layanan ujian di
http://www.example.com/exam/untuk memverifikasi bahwa permintaan diarahkan ke kelompok vServer layanan ujian RS2.Jika halaman menampilkan respons berikut, permintaan telah berhasil diarahkan ke layanan ujian:
Hello World ! This is exam service.
FAQ
Apakah aturan pengalihan CLB mendukung pengalihan URL?
Tidak. Aturan pengalihan CLB hanya meneruskan lalu lintas. Jika Anda perlu mengonfigurasi pengalihan URL, pertimbangkan untuk menggunakan Application Load Balancer (ALB). Untuk informasi selengkapnya, lihat Konfigurasikan aturan pengalihan untuk listener.
Mengapa pemeriksaan kesehatan saya gagal setelah mengonfigurasi pengalihan berbasis path?
Saat melakukan pemeriksaan kesehatan, load balancer mengabaikan aturan pengalihan dan mengirim permintaan ke path pemeriksaan kesehatan yang dikonfigurasi pada listener (path root secara default). Jika layanan backend Anda memberikan respons berbeda berdasarkan path permintaan, pemeriksaan kesehatan yang dikirim ke path default atau path yang tidak sesuai mungkin gagal. Anda dapat mengonfigurasi path pemeriksaan kesehatan kustom untuk setiap aturan pengalihan sesuai kebutuhan.
Apakah ada biaya tambahan untuk menggunakan aturan pengalihan berbasis domain?
Mengonfigurasi aturan pengalihan berbasis domain tidak dikenai biaya. Namun, jika Anda mengaitkan EIP dengan instans CLB akses internal untuk mengeksposnya ke internet, Anda akan dikenai biaya penggunaan jaringan publik. Untuk informasi selengkapnya tentang penagihan, lihat Ikhtisar penagihan CLB.
Apakah aturan pengalihan dikonfigurasi per listener?
Ya. Aturan pengalihan untuk setiap listener bersifat independen dan harus dikonfigurasi secara terpisah.
Dokumen terkait
-
Jika Anda perlu mengonfigurasi beberapa domain HTTPS untuk instans CLB, lihat Konfigurasikan beberapa situs web HTTPS pada satu instans CLB.
-
Jika aplikasi Anda menggunakan HTTP dan Anda ingin migrasi ke protokol HTTPS yang lebih aman, lihat Gunakan CLB untuk mengalihkan permintaan HTTP ke HTTPS.
-
Jika Anda perlu melakukan migrasi mulus dari CLB ke ALB, lihat Migrasi satu-klik listener Lapisan 7 dari CLB ke ALB dan Migrasi manual listener Lapisan 7 dari CLB ke ALB.