VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban

VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban

Bahagian satu. pengenalan
Bahagian kedua. Mengkonfigurasi Firewall dan Peraturan NAT
Bahagian ketiga. Mengkonfigurasi DHCP
Bahagian keempat. Persediaan laluan

Kali terakhir kita bercakap tentang keupayaan NSX Edge dari segi penghalaan statik dan dinamik, dan hari ini kita akan berurusan dengan pengimbang beban.
Sebelum kita mula menyediakan, saya ingin mengingatkan anda secara ringkas tentang jenis utama pengimbangan.

Teori

Semua penyelesaian pengimbangan muatan hari ini paling kerap dibahagikan kepada dua kategori: pengimbangan pada tahap keempat (pengangkutan) dan ketujuh (aplikasi) model ATAU JIKA. Model OSI bukanlah titik rujukan terbaik apabila menerangkan kaedah pengimbangan. Sebagai contoh, jika pengimbang L4 turut menyokong penamatan TLS, adakah ia kemudiannya menjadi pengimbang L7? Tetapi ia adalah apa adanya.

  • Pengimbang L4 selalunya ia adalah proksi tengah yang berdiri di antara pelanggan dan satu set backend yang tersedia, yang menamatkan sambungan TCP (iaitu, bertindak balas secara bebas kepada SYN), memilih backend dan memulakan sesi TCP baharu ke arahnya, secara bebas menghantar SYN. Jenis ini adalah salah satu yang asas; pilihan lain mungkin.
  • Pengimbang L7 mengedarkan trafik merentas bahagian belakang yang tersedia "lebih canggih" daripada pengimbang L4. Ia boleh memutuskan bahagian belakang yang hendak dipilih berdasarkan, sebagai contoh, kandungan mesej HTTP (URL, kuki, dsb.).

Tidak kira jenisnya, pengimbang boleh menyokong fungsi berikut:

  • Penemuan perkhidmatan ialah proses menentukan set backend yang tersedia (Static, DNS, Consul, Etcd, dll.).
  • Menyemak kefungsian bahagian belakang yang dikesan ("ping" aktif bahagian belakang menggunakan permintaan HTTP, pengesanan pasif masalah dalam sambungan TCP, kehadiran beberapa kod HTTP 503 dalam respons, dsb.).
  • Pengimbangan itu sendiri (round robin, pemilihan rawak, cincang IP sumber, URI).
  • Penamatan TLS dan pengesahan sijil.
  • Pilihan berkaitan keselamatan (pengesahan, pencegahan serangan DoS, pengehadan kelajuan) dan banyak lagi.

NSX Edge menawarkan sokongan untuk dua mod penggunaan pengimbang beban:

Mod proksi, atau satu lengan. Dalam mod ini, NSX Edge menggunakan alamat IPnya sebagai alamat sumber apabila menghantar permintaan ke salah satu bahagian belakang. Oleh itu, pengimbang melaksanakan fungsi NAT Sumber dan Destinasi secara serentak. Bahagian belakang melihat semua trafik sebagai dihantar daripada pengimbang dan bertindak balas terus kepadanya. Dalam skema sedemikian, pengimbang mesti berada dalam segmen rangkaian yang sama dengan pelayan dalaman.

Begini caranya:
1. Pengguna menghantar permintaan ke alamat VIP (alamat pengimbang) yang dikonfigurasikan pada Edge.
2. Edge memilih salah satu hujung belakang dan melaksanakan NAT destinasi, menggantikan alamat VIP dengan alamat hujung belakang yang dipilih.
3. Edge melaksanakan sumber NAT, menggantikan alamat pengguna yang menghantar permintaan dengan alamatnya sendiri.
4. Pakej dihantar ke bahagian belakang yang dipilih.
5. Bahagian belakang tidak bertindak balas terus kepada pengguna, tetapi kepada Edge, kerana alamat asal pengguna telah ditukar kepada alamat pengimbang.
6. Edge menghantar respons pelayan kepada pengguna.
Rajah di bawah.
VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban

Mod telus atau sebaris. Dalam senario ini, pengimbang mempunyai antara muka pada rangkaian dalaman dan luaran. Pada masa yang sama, tiada akses langsung ke rangkaian dalaman dari luar. Pengimbang beban terbina dalam bertindak sebagai gerbang NAT untuk mesin maya pada rangkaian dalaman.

Mekanismenya adalah seperti berikut:
1. Pengguna menghantar permintaan ke alamat VIP (alamat pengimbang) yang dikonfigurasikan pada Edge.
2. Edge memilih salah satu hujung belakang dan melaksanakan NAT destinasi, menggantikan alamat VIP dengan alamat hujung belakang yang dipilih.
3. Pakej dihantar ke bahagian belakang yang dipilih.
4. Bahagian belakang menerima permintaan dengan alamat asal pengguna (sumber NAT tidak dilakukan) dan bertindak balas terus kepadanya.
5. Trafik diterima semula oleh pengimbang beban, kerana dalam skema sebaris ia biasanya bertindak sebagai pintu masuk lalai untuk ladang pelayan.
6. Edge melaksanakan NAT sumber untuk menghantar trafik kepada pengguna, menggunakan VIPnya sebagai alamat IP sumber.
Rajah di bawah.
VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban

Amalan

Bangku ujian saya mempunyai 3 pelayan yang menjalankan Apache, yang dikonfigurasikan untuk berfungsi melalui HTTPS. Edge akan melakukan pengimbangan round robin permintaan HTTPS, memproksi setiap permintaan baharu kepada pelayan baharu.
Mari kita mulakan.

Menjana sijil SSL yang akan digunakan oleh NSX Edge
Anda boleh mengimport sijil CA yang sah atau menggunakan sijil yang ditandatangani sendiri. Untuk ujian ini saya akan menggunakan tandatangan sendiri.

  1. Dalam antara muka Pengarah vCloud, pergi ke tetapan perkhidmatan Edge.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban
  2. Pergi ke tab Sijil. Daripada senarai tindakan, pilih menambah CSR baharu.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban
  3. Isikan medan yang diperlukan dan klik Simpan.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban
  4. Pilih CSR yang baru dibuat dan pilih pilihan CSR tanda sendiri.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban
  5. Pilih tempoh sah sijil dan klik Simpan
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban
  6. Sijil yang ditandatangani sendiri muncul dalam senarai yang tersedia.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban

Menyediakan Profil Aplikasi
Profil aplikasi memberi anda kawalan yang lebih lengkap ke atas trafik rangkaian dan menjadikannya mudah dan berkesan. Ia boleh digunakan untuk menentukan gelagat untuk jenis trafik tertentu.

  1. Pergi ke tab Pengimbang Beban dan dayakan pengimbang. Pilihan yang didayakan Pecutan di sini membolehkan pengimbang menggunakan pengimbangan L4 yang lebih pantas berbanding L7.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban
  2. Pergi ke tab Profil aplikasi untuk menetapkan profil aplikasi. Klik +.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban
  3. Tetapkan nama profil dan pilih jenis trafik yang mana profil akan digunakan. Biar saya terangkan beberapa parameter.
    Kegigihan – menyimpan dan menjejak data sesi, sebagai contoh: pelayan tertentu dalam kumpulan yang melayani permintaan pengguna. Ini memastikan permintaan pengguna dihalakan kepada ahli kumpulan yang sama untuk sepanjang hayat sesi atau sesi berikutnya.
    Dayakan laluan SSL – Apabila pilihan ini dipilih, NSX Edge berhenti menamatkan SSL. Sebaliknya, penamatan berlaku secara langsung pada pelayan yang sedang seimbang.
    Masukkan X-Forwarded-For HTTP header – membolehkan anda menentukan alamat IP sumber pelanggan yang menyambung ke pelayan web melalui pengimbang beban.
    Dayakan SSL Sisi Kolam – membolehkan anda menentukan bahawa kumpulan yang dipilih terdiri daripada pelayan HTTPS.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban
  4. Memandangkan saya akan mengimbangi trafik HTTPS, saya perlu mendayakan SSL Pool Side dan pilih sijil yang dijana sebelum ini dalam tab Sijil Pelayan Maya -> Sijil Perkhidmatan.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban
  5. Begitu juga untuk Sijil Pool -> Sijil Perkhidmatan.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban

Kami mencipta kumpulan pelayan, lalu lintas yang akan menjadi Kumpulan seimbang

  1. Pergi ke tab Pools. Klik +.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban
  2. Kami menetapkan nama kumpulan, pilih algoritma (saya akan menggunakan round robin) dan jenis pemantauan untuk bahagian belakang pemeriksaan kesihatan. Pilihan Telus menunjukkan sama ada IP sumber awal pelanggan kelihatan kepada pelayan dalaman.
    • Jika pilihan dilumpuhkan, trafik untuk pelayan dalaman datang daripada IP sumber pengimbang.
    • Jika pilihan didayakan, pelayan dalaman melihat IP sumber pelanggan. Dalam konfigurasi ini, NSX Edge mesti bertindak sebagai get laluan lalai untuk memastikan paket yang dikembalikan melalui NSX Edge.

    NSX menyokong algoritma pengimbangan berikut:

    • IP_HASH – pemilihan pelayan berdasarkan hasil fungsi cincang untuk sumber dan IP destinasi setiap paket.
    • LEASTCONN – mengimbangi sambungan masuk, bergantung pada nombor yang sudah tersedia pada pelayan tertentu. Sambungan baharu akan diarahkan ke pelayan dengan sambungan paling sedikit.
    • ROBIN PUSINGAN – sambungan baharu dihantar ke setiap pelayan secara bergilir-gilir, mengikut berat yang diberikan kepadanya.
    • URI – bahagian kiri URI (sebelum tanda soal) dicincang dan dibahagikan dengan jumlah berat pelayan dalam kumpulan. Hasilnya menunjukkan pelayan mana yang menerima permintaan, memastikan permintaan itu sentiasa dihalakan ke pelayan yang sama, selagi semua pelayan masih tersedia.
    • HTTPHEADER – mengimbangi berdasarkan pengepala HTTP tertentu, yang boleh ditentukan sebagai parameter. Jika pengepala tiada atau tidak mempunyai sebarang nilai, algoritma ROUND_ROBIN digunakan.
    • URL – Setiap permintaan HTTP GET mencari parameter URL yang dinyatakan sebagai hujah. Jika parameter diikuti dengan tanda sama dan nilai, maka nilai dicincang dan dibahagikan dengan jumlah berat pelayan yang sedang berjalan. Hasilnya menunjukkan pelayan yang menerima permintaan. Proses ini digunakan untuk menjejaki ID pengguna dalam permintaan dan memastikan bahawa id pengguna yang sama sentiasa dihantar ke pelayan yang sama, selagi semua pelayan masih tersedia.

    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban

  3. Dalam blok Ahli, klik + untuk menambah pelayan pada kumpulan.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban

    Di sini anda perlu menunjukkan:

    • nama pelayan;
    • Alamat IP pelayan;
    • pelabuhan di mana pelayan akan menerima trafik;
    • pelabuhan untuk pemeriksaan kesihatan (Monitor healthcheck);
    • berat – menggunakan parameter ini anda boleh melaraskan jumlah berkadar trafik yang diterima untuk ahli kumpulan tertentu;
    • Sambungan Maks – bilangan maksimum sambungan ke pelayan;
    • Sambungan Min – bilangan sambungan minimum yang mesti diproses oleh pelayan sebelum trafik dimajukan kepada ahli kumpulan seterusnya.

    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban

    Inilah rupa kumpulan terakhir tiga pelayan.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban

Menambah Pelayan Maya

  1. Pergi ke tab Pelayan Maya. Klik +.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban
  2. Kami mengaktifkan pelayan maya menggunakan Dayakan Pelayan Maya.
    Kami memberinya nama, pilih Profil Aplikasi yang dibuat sebelum ini, Pool dan nyatakan alamat IP yang mana Pelayan Maya akan menerima permintaan dari luar. Kami menentukan protokol HTTPS dan port 443.
    Parameter pilihan di sini:
    Had Sambungan – bilangan maksimum sambungan serentak yang boleh diproses oleh pelayan maya;
    Had Kadar Sambungan (CPS) – bilangan maksimum permintaan masuk baharu sesaat.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban

Ini melengkapkan konfigurasi pengimbang; anda boleh menyemak kefungsiannya. Pelayan mempunyai konfigurasi mudah yang membolehkan anda memahami pelayan dari kumpulan yang memproses permintaan tersebut. Semasa persediaan, kami memilih algoritma pengimbangan Round Robin dan parameter Weight untuk setiap pelayan adalah sama dengan satu, jadi setiap permintaan seterusnya akan diproses oleh pelayan seterusnya daripada kumpulan.
Kami memasukkan alamat luaran pengimbang dalam penyemak imbas dan lihat:
VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban

Selepas memuat semula halaman, permintaan akan diproses oleh pelayan berikut:
VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban

Dan sekali lagi - untuk menyemak pelayan ketiga dari kolam:
VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban

Apabila menyemak, anda dapat melihat bahawa sijil yang Edge hantar kepada kami adalah sama yang kami hasilkan pada awalnya.

Menyemak status pengimbang daripada konsol gerbang Edge. Untuk melakukan ini, masukkan tunjukkan kolam loadbalancer perkhidmatan.
VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban

Mengkonfigurasi Pemantau Perkhidmatan untuk menyemak status pelayan dalam kumpulan
Menggunakan Pemantau Perkhidmatan kami boleh memantau status pelayan dalam kumpulan hujung belakang. Jika tindak balas kepada permintaan tidak seperti yang diharapkan, pelayan boleh dibawa keluar dari kolam supaya ia tidak menerima sebarang permintaan baharu.
Secara lalai, tiga kaedah pengesahan dikonfigurasikan:

  • TCP-monitor,
  • Pemantau HTTP,
  • HTTPS-monitor.

Jom buat yang baru.

  1. Pergi ke tab Pemantauan Perkhidmatan, klik +.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban
  2. Pilih:
    • nama untuk kaedah baru;
    • selang masa permintaan akan dihantar,
    • tamat masa menunggu jawapan,
    • jenis pemantauan – permintaan HTTPS menggunakan kaedah GET, kod status yang dijangka – 200(OK) dan URL permintaan.
  3. Ini melengkapkan persediaan Pemantau Perkhidmatan baharu; kini kami boleh menggunakannya semasa membuat kolam.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban

Menyediakan Peraturan Permohonan

Peraturan Aplikasi ialah cara untuk memanipulasi trafik berdasarkan pencetus tertentu. Dengan alat ini, kami boleh mencipta peraturan pengimbangan beban lanjutan yang mungkin tidak boleh dilakukan melalui profil Aplikasi atau perkhidmatan lain yang tersedia di Edge Gateway.

  1. Untuk membuat peraturan, pergi ke tab Peraturan Aplikasi pengimbang.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban
  2. Pilih nama, skrip yang akan menggunakan peraturan dan klik Simpan.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban
  3. Selepas peraturan dibuat, kita perlu mengedit Pelayan Maya yang telah dikonfigurasikan.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban
  4. Dalam tab Lanjutan, tambahkan peraturan yang kami buat.
    VMware NSX untuk si kecil. Bahagian 5: Mengkonfigurasi Pengimbang Beban

Dalam contoh di atas kami mendayakan sokongan tlsv1.

Beberapa lagi contoh:

Ubah hala trafik ke kolam lain.
Dengan skrip ini kita boleh mengubah hala trafik ke kolam pengimbangan lain jika kolam utama tidak berfungsi. Agar peraturan berfungsi, berbilang kumpulan mesti dikonfigurasikan pada pengimbang dan semua ahli kumpulan utama mesti berada dalam keadaan bawah. Anda perlu menyatakan nama kolam, bukan IDnya.

acl pool_down nbsrv(PRIMARY_POOL_NAME) eq 0
use_backend SECONDARY_POOL_NAME if PRIMARY_POOL_NAME

Ubah hala trafik ke sumber luaran.
Di sini kami mengubah hala trafik ke tapak web luaran jika semua ahli kumpulan utama tidak berfungsi.

acl pool_down nbsrv(NAME_OF_POOL) eq 0
redirect location http://www.example.com if pool_down

Malah lebih banyak contoh di sini.

Itu sahaja untuk saya tentang pengimbang. Jika anda mempunyai sebarang soalan, tanya, saya sedia menjawab.

Sumber: www.habr.com

Tambah komen