VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer

VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer

Bagean siji. pambuka
Bagian loro. Konfigurasi Firewall lan Aturan NAT
Bagian telu. Konfigurasi DHCP
Bagian papat. Persiyapan rute

Pungkasan kita ngomong babagan kemampuan NSX Edge ing babagan rute statis lan dinamis, lan dina iki kita bakal ngatasi keseimbangan beban.
Sadurunge miwiti nyiyapake, aku pengin ngelingake sampeyan babagan jinis imbangan utama.

Teori

Kabeh solusi payload balancing saiki paling kerep dipΓ©rang dadi rong kategori: imbangan ing tingkat papat (transportasi) lan kapitu (aplikasi) model. UTAWA Yen. Model OSI dudu titik referensi sing paling apik nalika nerangake metode balancing. Contone, yen penyeimbang L4 uga ndhukung penghentian TLS, apa banjur dadi penyeimbang L7? Nanging apa iku.

  • Balancer L4 paling asring iku proxy tengah ngadeg antarane klien lan pesawat saka backends kasedhiya, kang terminates sambungan TCP (yaiku, independen nanggapi SYN), milih backend lan miwiti sesi TCP anyar ing arah sawijining, independen ngirim SYN. Jinis iki minangka salah sawijining dhasar; opsi liyane bisa uga.
  • Balancer L7 mbagekke lalu lintas liwat kasedhiya backends "luwih canggih" saka balancer L4 ora. Bisa mutusake backend sing kudu dipilih adhedhasar, contone, isi pesen HTTP (URL, cookie, lsp.).

Preduli saka jinise, balancer bisa ndhukung fungsi ing ngisor iki:

  • Panemuan layanan yaiku proses nemtokake set backend sing kasedhiya (Statis, DNS, Konsul, Etcd, lsp.).
  • Priksa fungsi backend sing dideteksi ("ping" aktif saka backend nggunakake panjalukan HTTP, deteksi pasif masalah ing sambungan TCP, ana sawetara 503 kode HTTP ing respon, etc.).
  • Balancing dhewe (round robin, pilihan acak, sumber IP hash, URI).
  • Terminasi TLS lan verifikasi sertifikat.
  • Opsi sing gegandhengan karo keamanan (otentikasi, pencegahan serangan DoS, watesan kacepetan) lan liya-liyane.

NSX Edge nawakake dhukungan kanggo rong mode panyebaran load balancer:

Mode proxy, utawa siji-lengan. Ing mode iki, NSX Edge nggunakake alamat IP minangka alamat sumber nalika ngirim panjalukan kanggo salah siji backends. Mangkono, imbangan bebarengan nindakake fungsi Sumber lan Tujuan NAT. Backend ndeleng kabeh lalu lintas dikirim saka balancer lan langsung nanggapi. Ing skema kasebut, balancer kudu ana ing segmen jaringan sing padha karo server internal.

Mangkene carane:
1. Pangguna ngirim panjalukan kanggo alamat VIP (alamat balancer) sing diatur ing Edge.
2. Edge milih salah siji saka backends lan nindakake tujuan NAT, ngganti alamat VIP karo alamat backend dipilih.
3. Edge nindakake sumber NAT, ngganti alamat pangguna sing dikirim request karo dhewe.
4. Paket dikirim menyang backend sing dipilih.
5. Backend ora nanggapi langsung kanggo pangguna, nanging kanggo Edge, wiwit alamat asli pangguna wis diganti menyang alamat balancer.
6. Edge ngirim respon server kanggo pangguna.
Diagram ing ngisor iki.
VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer

Transparan, utawa inline, mode. Ing skenario iki, balancer nduweni antarmuka ing jaringan internal lan eksternal. Ing wektu sing padha, ora ana akses langsung menyang jaringan internal saka eksternal. Load balancer sing dibangun minangka gateway NAT kanggo mesin virtual ing jaringan internal.

Mekanisme kasebut minangka nderek:
1. Pangguna ngirim panjalukan kanggo alamat VIP (alamat balancer) sing diatur ing Edge.
2. Edge milih salah siji saka backends lan nindakake tujuan NAT, ngganti alamat VIP karo alamat backend dipilih.
3. Paket dikirim menyang backend sing dipilih.
4. Backend nampa panjalukan karo alamat asli pangguna (sumber NAT ora dileksanakake) lan langsung nanggapi.
5. Lalu lintas ditampa maneh dening load balancer, amarga ing skema inline biasane minangka gateway standar kanggo farm server.
6. Edge nindakake sumber NAT kanggo ngirim lalu lintas menyang pangguna, nggunakake VIP minangka alamat IP sumber.
Diagram ing ngisor iki.
VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer

Praktek

Bangku testku duwe 3 server sing nganggo Apache, sing dikonfigurasi kanggo nggarap HTTPS. Edge bakal nindakake imbangan round robin saka panjalukan HTTPS, proxying saben panjalukan anyar menyang server anyar.
Ayo miwiti.

Ngasilake sertifikat SSL sing bakal digunakake dening NSX Edge
Sampeyan bisa ngimpor sertifikat CA sing bener utawa nggunakake sing ditandatangani dhewe. Kanggo tes iki aku bakal nggunakake tandha-diri.

  1. Ing antarmuka vCloud Director, pindhah menyang setelan layanan Edge.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer
  2. Pindhah menyang tab Sertifikat. Saka dhaptar tumindak, pilih nambah CSR anyar.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer
  3. Isi kolom sing dibutuhake banjur klik Simpen.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer
  4. Pilih CSR sing mentas digawe lan pilih opsi CSR tandha-diri.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer
  5. Pilih periode validitas sertifikat banjur klik Simpen
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer
  6. Sertifikat sing ditandatangani dhewe katon ing dhaptar sing kasedhiya.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer

Nggawe Profil Aplikasi
Profil aplikasi menehi kontrol sing luwih lengkap babagan lalu lintas jaringan lan nggawe gampang lan efektif. Bisa digunakake kanggo nemtokake prilaku kanggo jinis lalu lintas tartamtu.

  1. Pindhah menyang tab Load Balancer lan aktifake balancer. Opsi sing diaktifake Akselerasi ing kene ngidini balancer nggunakake imbangan L4 luwih cepet tinimbang L7.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer
  2. Pindhah menyang tab Profil aplikasi kanggo nyetel profil aplikasi. Klik +.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer
  3. Setel jeneng profil banjur pilih jinis lalu lintas sing bakal ditrapake profil kasebut. Ayo kula nerangake sawetara paramèter.
    Kegiyatan – nyimpen lan trek data sesi, contone: kang server tartamtu ing blumbang nglayani panjalukan pangguna. Iki mesthekake yen panjalukan pangguna diarahake menyang anggota blumbang sing padha kanggo umur sesi utawa sesi sabanjure.
    Aktifake passthrough SSL - Nalika pilihan iki dipilih, NSX Edge mandheg mungkasi SSL. Nanging, mandap ana langsung ing server sing lagi imbang.
    Lebokake header X-Forwarded-For HTTP - ngidini sampeyan nemtokake alamat IP sumber klien sing nyambung menyang server web liwat load balancer.
    Aktifake Pool Side SSL - ngidini sampeyan nemtokake manawa blumbang sing dipilih kalebu server HTTPS.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer
  4. Awit aku bakal ngimbangi lalu lintas HTTPS, aku kudu ngaktifake Pool Side SSL lan pilih sertifikat sing digawe sadurunge ing Sertifikat Server Virtual -> Sertifikat Layanan tab.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer
  5. Kajaba kanggo Sertifikat Kolam -> Sertifikat Layanan.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer

We nggawe blumbang server, lalu lintas sing bakal imbang Pools

  1. Pindhah menyang tab Pools. Klik +.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer
  2. Kita nyetel jeneng blumbang, pilih algoritma (Aku bakal nggunakake round robin) lan jinis ngawasi kanggo backend mriksa kesehatan.Pilihan Transparan nuduhake apa IP sumber awal klien katon kanggo server internal.
    • Yen opsi dipatΓ¨ni, lalu lintas kanggo server internal asalΓ© saka IP sumber balancer.
    • Yen opsi kasebut diaktifake, server internal ndeleng IP sumber klien. Ing konfigurasi iki, NSX Edge kudu tumindak minangka gateway standar kanggo mesthekake yen paket bali liwat NSX Edge.

    NSX ndhukung algoritma imbangan ing ngisor iki:

    • IP_HASH - pilihan server adhedhasar asil fungsi hash kanggo sumber lan tujuan IP saben paket.
    • LEASTCONN – imbangan saka sambungan mlebu, gumantung ing nomer wis kasedhiya ing server tartamtu. Sambungan anyar bakal diarahake menyang server kanthi sambungan paling sithik.
    • ROUND_ROBIN – sambungan anyar dikirim menyang saben server ing siji, sesuai karo bobot diutus kanggo.
    • URI – sisih kiwa URI (sadurunge tandha pitakonan) wis hashed lan dibagi dening bobot total server ing blumbang. Asil kasebut nuduhake server endi sing nampa panjalukan, mesthekake yen panyuwunan kasebut tansah dituju menyang server sing padha, anggere kabeh server tetep kasedhiya.
    • HTTPHEADER - balancing adhedhasar header HTTP tartamtu, sing bisa ditemtokake minangka parameter. Yen header ilang utawa ora duwe nilai, algoritma ROUND_ROBIN ditrapake.
    • URL – Saben panjalukan HTTP GET nggoleki parameter URL sing ditemtokake minangka argumen. Yen parameter ngiring dening tandha witjaksono lan nilai, banjur Nilai wis hashed lan dibagi dening bobot total mlaku server. Asil nuduhake server sing nampa panjalukan. Proses iki digunakake kanggo nglacak ID pangguna ing panjalukan lan mesthekake yen id pangguna sing padha tansah dikirim menyang server sing padha, anggere kabeh server tetep kasedhiya.

    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer

  3. Ing blok Anggota, klik + kanggo nambah server menyang blumbang.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer

    Ing kene sampeyan kudu nemtokake:

    • jeneng server;
    • Alamat IP server;
    • port ing ngendi server bakal nampa lalu lintas;
    • port kanggo mriksa kesehatan (Monitor healthcheck);
    • bobot - nggunakake parameter iki sampeyan bisa nyetel jumlah proporsional lalu lintas sing ditampa kanggo anggota blumbang tartamtu;
    • Sambungan Max - jumlah maksimum sambungan menyang server;
    • Sambungan Min - jumlah sambungan minimal sing kudu diproses server sadurunge lalu lintas diterusake menyang anggota blumbang sabanjure.

    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer

    Iki minangka blumbang pungkasan saka telung server.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer

Nambahake Virtual Server

  1. Pindhah menyang tab Server Virtual. Klik +.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer
  2. Kita ngaktifake server virtual nggunakake Aktifake Server Virtual.
    Kita menehi jeneng, pilih Profil Aplikasi sing wis digawe sadurunge, Kolam lan nunjukake alamat IP sing Server Virtual bakal nampa panjalukan saka njaba. Kita nemtokake protokol HTTPS lan port 443.
    Parameter opsional ing kene:
    Limit sambungan – jumlah maksimum sambungan simultaneous sing server virtual bisa proses;
    Limit Tingkat Sambungan (CPS) - jumlah maksimum panjalukan mlebu anyar saben detik.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer

Iki ngrampungake konfigurasi balancer; sampeyan bisa mriksa fungsine. Server duwe konfigurasi prasaja sing ngijini sampeyan kanggo ngerti kang server saka blumbang diproses request. Sajrone persiyapan, kita milih algoritma imbangan Round Robin, lan parameter Bobot kanggo saben server padha karo siji, supaya saben request sakteruse bakal diproses dening server sabanjurΓ© saka blumbang.
Kita ngetik alamat eksternal saka balancer ing browser lan ndeleng:
VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer

Sawise refresh kaca, panjalukan bakal diproses dening server ing ngisor iki:
VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer

Lan maneh - kanggo mriksa server katelu saka blumbang:
VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer

Nalika mriksa, sampeyan bisa ndeleng manawa sertifikat sing dikirim Edge padha karo sing digawe ing wiwitan.

Priksa status balancer saka console gateway Edge. Kanggo nindakake iki, ketik nuduhake blumbang loadbalancer layanan.
VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer

Konfigurasi Service Monitor kanggo mriksa status server ing blumbang
Nggunakake Service Monitor kita bisa ngawasi status server ing blumbang backend. Yen respon panjalukan ora kaya samesthine, server bisa dijupuk metu saka blumbang supaya ora nampa panjalukan anyar.
Kanthi gawan, telung cara verifikasi dikonfigurasi:

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

Ayo nggawe sing anyar.

  1. Pindhah menyang tab Service Monitoring, klik +.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer
  2. Pilih:
    • jeneng kanggo cara anyar;
    • interval nalika panjalukan bakal dikirim,
    • wektu entek ngenteni tanggapan,
    • jinis ngawasi - request HTTPS nggunakake cara GET, kode status samesthine - 200 (OK) lan request URL.
  3. Iki ngrampungake persiyapan Monitor Layanan anyar; saiki kita bisa nggunakake nalika nggawe blumbang.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer

Nggawe Aturan Aplikasi

Aturan Aplikasi minangka cara kanggo ngapusi lalu lintas adhedhasar pemicu tartamtu. Kanthi alat iki kita bisa nggawe aturan load balancing majeng sing bisa uga ora bisa liwat profil Aplikasi utawa layanan liyane kasedhiya ing Edge Gateway.

  1. Kanggo nggawe aturan, pindhah menyang tab Aturan Aplikasi saka balancer.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer
  2. Pilih jeneng, skrip sing bakal nggunakake aturan, banjur klik Simpen.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer
  3. Sawise aturan digawe, kita kudu ngowahi Server Virtual sing wis dikonfigurasi.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer
  4. Ing tab Lanjut, tambahake aturan sing digawe.
    VMware NSX kanggo bocah cilik. Part 5: Konfigurasi Load Balancer

Ing conto ing ndhuwur, kita ngaktifake dhukungan tlsv1.

Sawetara conto liyane:

Pangalihan lalu lintas menyang blumbang liyane.
Kanthi skrip iki, kita bisa ngarahake lalu lintas menyang kolam imbangan liyane yen blumbang utama mudhun. Kanggo aturan bisa digunakake, sawetara pools kudu diatur ing balancer lan kabeh anggota blumbang utama kudu ing negara mudhun. Sampeyan kudu nemtokake jeneng blumbang, ora ID sawijining.

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

Pangalihan lalu lintas menyang sumber eksternal.
Ing kene kita ngarahake lalu lintas menyang situs web eksternal yen kabeh anggota blumbang utama mudhun.

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

Malah luwih conto kene.

Iku kabeh kanggo kula babagan balancer. Yen sampeyan duwe pitakon, takon, aku siap mangsuli.

Source: www.habr.com

Add a comment