Zevenet Load Balancer Enterprise Edition arsitektur internal di ruang pengguna dan kernel

DIKIRIM PADA 2 Januari 2020

Pengantar

Tujuan dari artikel berikut adalah untuk memberikan gambaran arsitektur internal perangkat lunak Zevenet yang ditargetkan untuk administrator sistem dan pengembang perangkat lunak dengan minat untuk mengetahui lebih lanjut tentang cara kerja perangkat lunak Zevenet ADC. Semua informasi ini dapat digunakan juga untuk membantu dengan konfigurasi sistem produksi atau tujuan pemecahan masalah.

Arsitektur Zevenet

Zevenet mengelola proses dari ruang pengguna dan kernel yang memungkinkan untuk mengumpulkan kinerja terbanyak tetapi dengan fleksibilitas paling tinggi untuk melakukan semua tugas yang didelegasikan ke pengontrol pengiriman aplikasi seperti penyeimbangan muatan, keamanan, dan ketersediaan tinggi.

Diagram di bawah ini memberikan pandangan global tentang berbagai komponen yang menyusun sistem Zevenet secara internal. Potongan-potongan tambahan yang kurang penting telah dilewatkan untuk menawarkan tampilan yang lebih sederhana dan jelas.

Bagian berikut akan diuraikan bagian yang berbeda dan bagaimana mereka saling berhubungan.

Zevenet Load Balancer di Ruang Pengguna

Subsistem yang digunakan dalam User Space adalah:

GUI Web: antarmuka pengguna grafis web yang digunakan oleh pengguna untuk mengelola konfigurasi dan administrasi seluruh sistem, dikelola oleh server web HTTPS yang menggunakan API Zevenet untuk semua tindakan yang dilakukan terhadap penyeimbang beban.

API Zevenet: atau antarmuka program Aplikasi Zevenet, yang dirancang mengikuti ISTIRAHAT serta JSON antarmuka, dikonsumsi melalui HTTPS, digunakan oleh antarmuka pengguna lain yang berbeda dari sudut pandang pengguna seperti GUI web antarmuka atau ZCLI (Antarmuka baris perintah Zevenet). Alat ini memeriksa segala tindakan terhadap subsistem RBAC dan jika diizinkan, tindakan tersebut akan diambil di dalam Zevenet Appliance. API dapat menghubungkan dan mengelola subsistem userspace lain yang dijelaskan dalam diagram.

RBAC: Kontrol akses berbasis peran adalah mekanisme akses dan kontrol yang didefinisikan di sekitar pengguna, grup, dan peran. Modul ini mendefinisikan tindakan apa yang boleh dilakukan pengguna dengan konfigurasi tingkat tinggi antara grup, pengguna, dan peran. Ini benar-benar terintegrasi ke antarmuka GUI web yang memungkinkan untuk memuat tampilan web berdasarkan peran pengguna. Selain itu, subsistem ini dikonsumsi melalui Internet API atau alat lain yang menggunakan API.

LSLB - HTTP (S): Modul LSLB (Penyeimbang Beban Layanan Lokal) yang disusun oleh profil HTTP (S) dijalankan di ruang pengguna oleh proxy terbalik yang disebut Zproxy yang mampu mengelola aplikasi throughput tinggi dengan sangat efisien. Subsistem ini dikonfigurasikan oleh API dan dapat dilindungi oleh subsistem IPDS (menggunakan BlackLists, aturan DoS, RBL dan aturan WAF).

GSLB: Modul GSLB (Penyeimbang Beban Layanan Global) yang diimplementasikan dengan instance profil GSLB dijalankan di ruang pengguna oleh proses server DNS yang disebut Gdnsd yang dapat berfungsi sebagai server Nameserver DNS canggih dengan fitur penyeimbangan beban. Subsistem ini dikonfigurasikan oleh API dan dapat dilindungi oleh subsistem IPDS (menggunakan BlackLists, DoS, dan RBL).

Cek Kesehatan: Subsistem ini dikonfigurasikan oleh API dan digunakan oleh semua modul penyeimbang beban (LSLB, GSLB, dan DSLB) untuk memeriksa kesehatan backend. Pemeriksaan sederhana dan lanjutan dieksekusi terhadap backend dan kemudian jika cek gagal backend untuk farm yang diberikan ditandai sebagai turun dan tidak ada lagi lalu lintas diteruskan sampai cek bekerja lagi terhadap backend. Farm Guardian bertanggung jawab atas pemeriksaan ini dan dirancang dengan tingkat fleksibilitas dan konfigurasi yang tinggi.

Sistem File Konfigurasi: Direktori ini digunakan untuk tujuan penyimpanan konfigurasi, setiap perubahan dalam direktori ini akan direplikasi ke cluster, jika layanan tersebut diaktifkan.

Nftlb: Proses userspace ini dikelola oleh subsistem API dan digunakan untuk dua tujuan utama: LSLB - L4XNAT manajemen dan konfigurasi IPDS modul subsistem.

Zevenet Load Balancer di Ruang Kernel

Subsistem yang digunakan dalam Kernel Space adalah:

Sistem Netfilter LSLB L4xNAT: Subsistem Netfilter digunakan oleh Nftlb untuk keperluan keseimbangan beban. Aturan Netfilter dimuat dalam kernel dengan proses Nftlb ini untuk membangun penyeimbang beban L4 kinerja tinggi. Nftlb memuat aturan penyeimbang beban di kernel dengan cara yang efisien untuk mengelola paket lalu lintas seoptimal mungkin. Selain itu, Nftlb akan memuat aturan Netfilter untuk pencegahan dan perlindungan intrusi (BlackLists, RBL, dan DoS).

Daftar Hitam IPDS: Subsistem ini diintegrasikan ke dalam Sistem Netfilter dan dikelola oleh Nftlb. Ini terdiri dari sekelompok aturan yang dikonfigurasi sebelum aturan penyeimbang beban jatuhkan koneksi untuk IP asal yang diberikan. Secara internal ia menciptakan seperangkat aturan yang dipesan berdasarkan kategori, negara, jenis penyerang, dll dan diperbarui setiap hari.

RBL IPDS: Secara analog dari yang sebelumnya, subsistem ini terintegrasi dalam Netfilter juga dan dikelola oleh Nftlb. IP asal diambil sebelum koneksi dibuat dan IP klien divalidasi layanan DNS eksternal. Jika IP teratasi maka IP ditandai sebagai berbahaya dan koneksi akan terputus.

DoS IPDS: Sistem konfigurasi yang sama dengan dua modul sebelumnya, diintegrasikan ke dalam Netfilter dan dikelola oleh Nftlb. Ini adalah seperangkat aturan yang dikonfigurasi sebelum aturan keseimbangan beban yang memeriksa apakah paket tersebut merupakan bagian dari a Serangan Denial of Service. Beberapa aturan diterapkan pada aliran paket untuk mencegat serangan sebelum dilakukan.

Sistem pelacakan koneksi: Sistem ini digunakan oleh subsistem Netfilter untuk keperluan manajemen koneksi, terjemahan jaringan dan untuk modul statistik, Serta pemeriksaan kesehatan subsistem untuk memaksa tindakan koneksi pada saat masalah terdeteksi di backend. Sistem pelacakan koneksi juga digunakan oleh Layanan pengelompokan untuk meneruskan status koneksi ke node kedua dari cluster, jika node master cluster gagal maka node kedua dapat mengatur lalu lintas dalam status koneksi yang sama dari master sebelumnya.

Sistem Perutean dan DSLB: Subsistem ini dikelola oleh API dan dikonfigurasi dalam ruang Kernel. Subsistem routing dibangun dengan iproute2 yang memungkinkan kita untuk mengelola beberapa tabel routing secara berurutan untuk menghindari pemeliharaan aturan yang rumit untuk perutean statisSelain itu, terima kasih kepada iproute2 yang disediakan modul DSLB (Datalink Service Load Balancer) memuat penyeimbangan uplink dengan beberapa gateway.

Pada saat penulisan artikel ini, Zevenet 6 sedang dalam produksi, sehingga subsistem-subsistem tersebut dapat berevolusi dalam versi masa depan untuk menawarkan kinerja yang lebih baik atau lebih banyak fitur.

Dokumentasi tambahan

Zevenet zproxy tolok ukur, profil LSLB -HTTP (S)
Tolok ukur nftlb Zevenet, profil LSLB - L4xNAT

Bagikan ke:

Dokumentasi di bawah ketentuan Lisensi Dokumentasi Bebas GNU.

Apakah artikel ini berguna?

Artikel terkait