Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası

Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası

Birinci hissə. giriş
İkinci hissə. Firewall və NAT qaydalarının konfiqurasiyası
Üçüncü hissə. DHCP konfiqurasiyası
Dördüncü hissə. Marşrutlaşdırma quraşdırma

Keçən dəfə statik və dinamik marşrutlaşdırma baxımından NSX Edge-in imkanları haqqında danışdıq və bu gün yük balanslaşdırıcısı ilə məşğul olacağıq.
Quraşdırmaya başlamazdan əvvəl sizə balanslaşdırmanın əsas növləri haqqında qısaca xatırlatmaq istərdim.

Теория

Bütün bugünkü yük balanslaşdırma həlləri ən çox iki kateqoriyaya bölünür: modelin dördüncü (nəqliyyat) və yeddinci (tətbiq) səviyyələrində balanslaşdırma. ACİ. OSI modeli balanslaşdırma metodlarını təsvir edərkən ən yaxşı istinad nöqtəsi deyil. Məsələn, L4 balanslaşdırıcısı TLS-nin dayandırılmasını da dəstəkləyirsə, o, L7 balanslaşdırıcısına çevrilirmi? Amma bu, odur.

  • Balanslaşdırıcı L4 Çox vaxt bu, müştəri ilə bir sıra mövcud backendlər arasında dayanan orta proksidir, o, TCP əlaqələrini dayandırır (yəni SYN-ə müstəqil cavab verir), arxa plan seçir və müstəqil olaraq SYN göndərərək öz istiqamətində yeni TCP sessiyasına başlayır. Bu tip əsaslardan biridir, başqa variantlar da mümkündür.
  • Balanslaşdırıcı L7 trafiki L4 balanslaşdırıcısından "daha mürəkkəb" mövcud backendlər arasında paylayır. O, məsələn, HTTP mesajının məzmununa (URL, kuki və s.) əsasən hansı backendin seçiləcəyinə qərar verə bilər.

Növündən asılı olmayaraq, balanslaşdırıcı aşağıdakı funksiyaları dəstəkləyə bilər:

  • Xidmət kəşfi mövcud backendlər dəstinin (Statik, DNS, Konsul, və s.) müəyyən edilməsi prosesidir.
  • Aşkar edilmiş arxa tərəflərin funksionallığının yoxlanılması (HTTP sorğusundan istifadə edərək backendin aktiv “pingi”, TCP bağlantılarında problemlərin passiv aşkarlanması, cavablarda bir neçə 503 HTTP kodunun olması və s.).
  • Balanslaşdırmanın özü (dəyirmi sistem, təsadüfi seçim, mənbə IP hash, URI).
  • TLS-nin dayandırılması və sertifikatın yoxlanılması.
  • Təhlükəsizliklə bağlı seçimlər (identifikasiya, DoS hücumunun qarşısının alınması, sürətin məhdudlaşdırılması) və daha çox.

NSX Edge iki yük balanslaşdırıcı yerləşdirmə rejimi üçün dəstək təklif edir:

Proksi rejimi və ya bir qol. Bu rejimdə NSX Edge arxa tərəflərdən birinə sorğu göndərərkən mənbə ünvanı kimi öz IP ünvanından istifadə edir. Beləliklə, balanslaşdırıcı eyni vaxtda Mənbə və Təyinat NAT funksiyalarını yerinə yetirir. Backend balanslaşdırıcıdan göndərilən bütün trafiki görür və birbaşa ona cavab verir. Belə bir sxemdə balanslaşdırıcı daxili serverlərlə eyni şəbəkə seqmentində olmalıdır.

Budur necə gedir:
1. İstifadəçi Edge-də konfiqurasiya edilmiş VIP ünvana (balanslaşdırıcı ünvana) sorğu göndərir.
2. Edge arxa hissələrdən birini seçir və təyinat NAT yerinə yetirir, VIP ünvanını seçilmiş backendin ünvanı ilə əvəz edir.
3. Edge sorğu göndərən istifadəçinin ünvanını öz ünvanıyla əvəz edərək mənbə NAT-ı yerinə yetirir.
4. Paket seçilmiş backend-ə göndərilir.
5. İstifadəçinin orijinal ünvanı balanslaşdırıcının ünvanına dəyişdirildiyi üçün arxa uç birbaşa istifadəçiyə deyil, Edge-ə cavab verir.
6. Edge serverin cavabını istifadəçiyə ötürür.
Diaqram aşağıdadır.
Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası

Şəffaf və ya daxili rejim. Bu ssenaridə balanslaşdırıcı daxili və xarici şəbəkələrdə interfeyslərə malikdir. Eyni zamanda, xarici şəbəkədən daxili şəbəkəyə birbaşa çıxış yoxdur. Daxili yük balanslaşdırıcısı daxili şəbəkədə virtual maşınlar üçün NAT şlüz kimi çıxış edir.

Mexanizm aşağıdakı kimidir:
1. İstifadəçi Edge-də konfiqurasiya edilmiş VIP ünvana (balanslaşdırıcı ünvana) sorğu göndərir.
2. Edge arxa hissələrdən birini seçir və təyinat NAT yerinə yetirir, VIP ünvanını seçilmiş backendin ünvanı ilə əvəz edir.
3. Paket seçilmiş backend-ə göndərilir.
4. Backend istifadəçinin orijinal ünvanı ilə sorğu qəbul edir (mənbə NAT yerinə yetirilməyib) və ona birbaşa cavab verir.
5. Trafik yenidən yük balanslaşdırıcısı tərəfindən qəbul edilir, çünki daxili sxemdə o, adətən server ferması üçün standart şlüz kimi çıxış edir.
6. Edge mənbə IP ünvanı kimi VIP-dən istifadə edərək istifadəçiyə trafik göndərmək üçün mənbə NAT yerinə yetirir.
Diaqram aşağıdadır.
Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası

Praktika

Test skamyamda HTTPS üzərində işləmək üçün konfiqurasiya edilmiş Apache ilə işləyən 3 server var. Edge, hər bir yeni sorğunu yeni serverə proksiləşdirərək HTTPS sorğularının dairəvi balansını həyata keçirəcək.
Gəlin başlayaq.

NSX Edge tərəfindən istifadə ediləcək SSL sertifikatının yaradılması
Siz etibarlı CA sertifikatını idxal edə və ya özünü imzalayan sertifikatdan istifadə edə bilərsiniz. Bu test üçün mən öz imzamı istifadə edəcəyəm.

  1. vCloud Director interfeysində Edge xidmətlərinin parametrlərinə keçin.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası
  2. Sertifikatlar sekmesine keçin. Fəaliyyətlər siyahısından yeni CSR əlavə etməyi seçin.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası
  3. Tələb olunan sahələri doldurun və Saxla düyməsini basın.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası
  4. Yeni yaradılmış CSR-i seçin və özünü imzalayan CSR seçimini seçin.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası
  5. Sertifikatın etibarlılıq müddətini seçin və Saxla düyməsini basın
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası
  6. Öz-özünə imzalanmış sertifikat mövcud olanlar siyahısında görünür.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası

Tətbiq Profilinin qurulması
Tətbiq profilləri sizə şəbəkə trafiki üzərində daha tam nəzarət imkanı verir və onu idarə etməyi sadə və effektiv edir. Onlar xüsusi trafik növləri üçün davranışı müəyyən etmək üçün istifadə edilə bilər.

  1. Load Balancer sekmesine keçin və balanslaşdırıcını aktivləşdirin. Buradakı Sürətləndirmə aktivləşdirilmiş seçim balanslaşdırıcıya L4 əvəzinə daha sürətli L7 balansından istifadə etməyə imkan verir.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası
  2. Tətbiq profilini təyin etmək üçün Tətbiq profili sekmesine keçin. + klikləyin.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası
  3. Profilin adını təyin edin və profilin tətbiq olunacağı trafik növünü seçin. Bəzi parametrləri izah edim.
    Əzmkarlıq – sessiya məlumatlarını saxlayır və izləyir, məsələn: hovuzda hansı xüsusi server istifadəçi sorğusuna xidmət edir. Bu, istifadəçi sorğularının sessiyanın və ya sonrakı sessiyaların ömrü boyu eyni hovuz üzvünə yönləndirilməsini təmin edir.
    SSL keçidini aktivləşdirin – Bu seçim seçildikdə, NSX Edge SSL-i dayandırmağı dayandırır. Bunun əvəzinə, xitam birbaşa balanslaşdırılan serverlərdə baş verir.
    X-Forwarded-For HTTP başlığını daxil edin – yük balanslaşdırıcısı vasitəsilə veb serverə qoşulan müştərinin mənbə IP ünvanını təyin etməyə imkan verir.
    Pool Side SSL-i aktivləşdirin – seçilmiş hovuzun HTTPS serverlərindən ibarət olduğunu müəyyən etməyə imkan verir.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası
  4. HTTPS trafikini balanslaşdıracağımdan, mən Pool Side SSL-i aktivləşdirməliyəm və Virtual Server Sertifikatlar -> Xidmət Sertifikatı sekmesinde əvvəllər yaradılmış sertifikatı seçməliyəm.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası
  5. Eynilə Hovuz Sertifikatları üçün -> Xidmət Sertifikatı.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası

Biz serverlər hovuzu yaradırıq, onların trafiki balanslaşdırılmış Pools olacaq

  1. Hovuzlar sekmesine keçin. + klikləyin.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası
  2. Hovuzun adını təyin edirik, alqoritmi (dəyirmi sistemdən istifadə edəcəyəm) və sağlamlıq yoxlaması üçün monitorinq növünü seçirik.Şəffaf seçimi müştərilərin ilkin mənbə IP-lərinin daxili serverlərə görünüb-görünmədiyini göstərir.
    • Seçim söndürülübsə, daxili serverlər üçün trafik balanslaşdırıcının mənbə IP-sindən gəlir.
    • Seçim aktivdirsə, daxili serverlər müştərilərin mənbə IP-sini görür. Bu konfiqurasiyada NSX Edge geri qaytarılan paketlərin NSX Edge-dən keçməsini təmin etmək üçün standart şlüz kimi çıxış etməlidir.

    NSX aşağıdakı balanslaşdırma alqoritmlərini dəstəkləyir:

    • IP_HASH – hər bir paketin mənbə və təyinat IP-si üçün hash funksiyasının nəticələrinə əsaslanan server seçimi.
    • LEASTCONN – müəyyən serverdə artıq mövcud olan nömrədən asılı olaraq daxil olan əlaqələrin balanslaşdırılması. Yeni bağlantılar ən az əlaqə olan serverə yönəldiləcək.
    • ROUND_ROBIN – yeni bağlantılar hər bir serverə ona təyin olunmuş çəkiyə uyğun olaraq növbə ilə göndərilir.
    • URI – URI-nin sol hissəsi (sual işarəsindən əvvəl) haşlanır və hovuzdakı serverlərin ümumi çəkisinə bölünür. Nəticə sorğunu hansı serverin qəbul etdiyini göstərir və bütün serverlər mövcud olduğu müddətdə sorğunun həmişə eyni serverə yönləndirilməsini təmin edir.
    • HTTPHEADER – parametr kimi təyin oluna bilən xüsusi HTTP başlığına əsaslanan balanslaşdırma. Başlıq yoxdursa və ya dəyəri yoxdursa, ROUND_ROBIN alqoritmi tətbiq edilir.
    • URL – Hər HTTP GET sorğusu arqument kimi göstərilən URL parametrini axtarır. Parametrdən sonra bərabər işarə və dəyər gəlirsə, o zaman dəyər hash edilir və işləyən serverlərin ümumi çəkisinə bölünür. Nəticə sorğunu hansı serverin qəbul etdiyini göstərir. Bu proses sorğularda istifadəçi identifikatorlarını izləmək və bütün serverlər mövcud olduğu müddətdə eyni istifadəçi id-nin həmişə eyni serverə göndərilməsini təmin etmək üçün istifadə olunur.

    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası

  3. Üzvlər blokunda hovuza server əlavə etmək üçün + düyməsini klikləyin.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası

    Burada müəyyən etmək lazımdır:

    • server adı;
    • Server IP ünvanı;
    • serverin trafik qəbul edəcəyi port;
    • sağlamlıq yoxlanışı üçün port (Sağlamlığın yoxlanılmasına nəzarət);
    • çəki – bu parametrdən istifadə edərək, müəyyən bir hovuz üzvü üçün alınan trafikin proporsional miqdarını tənzimləyə bilərsiniz;
    • Max Connections – serverə qoşulmaların maksimum sayı;
    • Minimum Bağlantılar – trafik növbəti hovuz üzvünə ötürülməzdən əvvəl serverin işləməli olduğu minimum əlaqə sayı.

    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası

    Üç serverin son hovuzu belə görünür.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası

Virtual Serverin əlavə edilməsi

  1. Virtual Serverlər sekmesine keçin. + klikləyin.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası
  2. Enable Virtual Server istifadə edərək virtual serveri aktivləşdiririk.
    Biz ona ad veririk, əvvəllər yaradılmış Tətbiq Profilini, Hovuzu seçirik və Virtual Serverin xaricdən sorğu qəbul edəcəyi IP ünvanını göstəririk. HTTPS protokolunu və 443 portunu təyin edirik.
    Burada əlavə parametrlər:
    Bağlantı limiti – virtual serverin emal edə biləcəyi maksimum eyni vaxtda qoşulma sayı;
    Bağlantı sürəti limiti (CPS) – saniyədə yeni daxil olan sorğuların maksimum sayı.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası

Bu, balanslaşdırıcının konfiqurasiyasını tamamlayır, onun funksionallığını yoxlaya bilərsiniz. Serverlər hovuzdan hansı serverin sorğunu emal etdiyini anlamağa imkan verən sadə konfiqurasiyaya malikdir. Quraşdırma zamanı biz Round Robin balans alqoritmini seçdik və hər bir server üçün Çəki parametri birinə bərabərdir, ona görə də hər bir sonrakı sorğu hovuzdan gələn növbəti server tərəfindən işlənəcək.
Brauzerdə balanslaşdırıcının xarici ünvanını daxil edirik və görürük:
Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası

Səhifəni yenilədikdən sonra sorğu aşağıdakı server tərəfindən işlənəcək:
Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası

Və yenə - hovuzdan üçüncü serveri yoxlamaq üçün:
Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası

Yoxlayarkən görə bilərsiniz ki, Edge-in bizə göndərdiyi sertifikat əvvəldə yaratdığımız sertifikatla eynidir.

Edge şlüz konsolundan balanslaşdırıcı statusu yoxlanılır. Bunu etmək üçün daxil edin xidmət yük balansı hovuzunu göstərin.
Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası

Hovuzdakı serverlərin vəziyyətini yoxlamaq üçün Xidmət Monitorunun konfiqurasiyası
Service Monitor istifadə edərək, biz backend hovuz serverlərin statusu nəzarət edə bilərsiniz. Əgər sorğuya cavab gözlənildiyi kimi deyilsə, server heç bir yeni sorğu qəbul etməmək üçün hovuzdan çıxarıla bilər.
Varsayılan olaraq, üç yoxlama metodu konfiqurasiya edilmişdir:

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

Gəlin yenisini yaradaq.

  1. Xidmətin monitorinqi sekmesine keçin, + düyməsini basın.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası
  2. Seçin:
    • yeni metodun adı;
    • sorğuların göndəriləcəyi interval,
    • cavab gözləyən zaman aşımı,
    • monitorinq növü – GET metodundan istifadə edərək HTTPS sorğusu, gözlənilən status kodu – 200(OK) və sorğu URL-i.
  3. Bu, yeni Xidmət Monitorunun quraşdırılmasını tamamlayır; indi biz hovuz yaratarkən ondan istifadə edə bilərik.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası

Tətbiq Qaydalarının qurulması

Tətbiq qaydaları müəyyən tetikleyicilərə əsaslanan trafiki manipulyasiya etmək üçün bir yoldur. Bu alətlə biz Tətbiq profilləri və ya Edge Gateway-də mövcud olan digər xidmətlər vasitəsilə mümkün olmayan təkmil yük balansı qaydaları yarada bilərik.

  1. Qayda yaratmaq üçün balanslaşdırıcının Tətbiq Qaydaları sekmesine keçin.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası
  2. Qaydadan istifadə edəcək ad, skript seçin və Saxla düyməsini basın.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası
  3. Qayda yaradıldıqdan sonra artıq konfiqurasiya edilmiş Virtual Serveri redaktə etməliyik.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası
  4. Qabaqcıl sekmesinde yaratdığımız qaydanı əlavə edin.
    Kiçiklər üçün VMware NSX. 5-ci hissə: Yük balanslaşdırıcısının konfiqurasiyası

Yuxarıdakı nümunədə tlsv1 dəstəyini aktiv etdik.

Daha bir neçə misal:

Trafiki başqa hovuza yönləndirin.
Bu skriptlə əsas hovuz işləmirsə, biz trafiki başqa balanslaşdırma hovuzuna yönləndirə bilərik. Qaydanın işləməsi üçün balanslaşdırıcıda çoxlu hovuz konfiqurasiya edilməlidir və əsas hovuzun bütün üzvləri aşağı vəziyyətdə olmalıdır. Hovuzun ID-sini deyil, adını göstərməlisiniz.

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

Trafiki xarici mənbəyə yönləndirin.
Burada əsas hovuzun bütün üzvləri işləmirsə, trafiki xarici vebsayta yönləndiririk.

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

Daha çox nümunə burada.

Balanslaşdırıcı haqqında mənim üçün hamısı budur. Hər hansı bir sualınız varsa, soruşun, cavab verməyə hazıram.

Mənbə: www.habr.com

Добавить комментарий