AWS ELB ilə yük balansı

Hamıya salam! Kurs bu gün başlayır "Yaradıcılar üçün AWS", bununla əlaqədar olaraq biz ELB icmalına həsr olunmuş müvafiq tematik vebinar keçirdik. Biz balanslaşdırıcıların növlərinə baxdıq və balanslaşdırıcı ilə bir neçə EC2 nümunəsi yaratdıq. Digər istifadə nümunələrini də öyrəndik.

AWS ELB ilə yük balansı

Vebinarı dinlədikdən sonra, Sən ... əcəksən:

  • AWS Load Balancing-in nə olduğunu başa düşmək;
  • Elastic Load Balancer növlərini və onun komponentlərini bilmək;
  • təcrübənizdə AWS ELB istifadə edin.

Niyə ümumiyyətlə bunu bilmək lazımdır?

  • AWS sertifikatlaşdırma imtahanları verməyi planlaşdırırsınızsa faydalıdır;
  • bu yükü serverlər arasında bölüşdürməyin sadə yoludur;
  • Bu, xidmətinizə (ALB) Lambda əlavə etməyin sadə yoludur.

Açıq dərs keçirdi Rişat Terequlov, vebsaytın inkişafı və dəstəyi üçün marketinq şirkətində sistem mühəndisi.

Giriş

Elastik Yük Tarazlayıcısının nə olduğunu sadə bir nümunə göstərən aşağıdakı diaqramda görmək olar:

AWS ELB ilə yük balansı

Load Balancer sorğuları qəbul edir və onları nümunələr arasında paylayır. Bizdə ayrıca bir nümunə var, Lambda funksiyaları var və AutoScaling qrupu (bir qrup server) var.

AWS ELB növləri

1. Əsas növlərə nəzər salaq:

Klassik Yük Balansçısı. AWS-dən ilk yük balanslaşdırıcısı HTTP, HTTPS, TCP və SSL-i dəstəkləyən OSI Layer 4 və Layer 7-də işləyir. O, çoxsaylı Amazon EC2 nümunələri üzrə əsas yük balansını təmin edir və həm sorğu, həm də əlaqə səviyyələrində işləyir. Gəlin onu açaq (boz rənglə vurğulanıb):

AWS ELB ilə yük balansı

Bu balanslaşdırıcı köhnəlmiş hesab olunur, ona görə də onu yalnız müəyyən hallarda istifadə etmək tövsiyə olunur. Məsələn, EC2-Classic şəbəkəsində qurulmuş proqramlar üçün. Prinsipcə, onu yaratmağımıza heç kim mane olmur:

AWS ELB ilə yük balansı

2. Şəbəkə yükü balanslaşdırıcısı. Ağır iş yükləri üçün uyğundur, OSI Layer 4-də işləyir (EKS və ECS-də istifadə edilə bilər), TCP, UDP və TLS dəstəklənir.

Network Load Balancer trafiki Amazon VPC-də hədəflərə yönləndirir və ultra aşağı gecikmə ilə saniyədə milyonlarla sorğunu emal edə bilir. Bundan əlavə, o, ani və dəyişən yüklərlə trafik nümunələrini idarə etmək üçün optimallaşdırılmışdır.

3. Tətbiq yükü balanslaşdırıcısı. 7-ci qatda işləyir, Lambda dəstəyi var, başlıq və yol səviyyəsi qaydalarını dəstəkləyir, HTTP və HTTPS-i dəstəkləyir.
Mikroservislər və konteynerlər də daxil olmaqla, müasir arxitekturalar üzərində qurulmuş proqramların çatdırılmasına yönəlmiş qabaqcıl sorğu marşrutunu təmin edir. Sorğunun məzmununa əsasən trafiki Amazon VPC-də hədəflərə yönəldir.

Bir çox istifadəçi üçün Application Load Balancer Klassik Yük Tarazlayıcısını əvəz edən ilk seçim idi, çünki TCP HTTP qədər ümumi deyil.

Gəlin onu da yaradaq, bunun nəticəsində artıq iki yük balanslaşdırıcımız olacaq:

AWS ELB ilə yük balansı

Yük balansı komponentləri

Ümumi Yük Balansı Komponentləri (bütün balansçılar üçün ümumi):

  • Giriş Siyasətinə daxil olun

— ELB giriş qeydləriniz. Parametrləri etmək üçün Təsvirə keçib “Atributları redaktə et” düyməsini seçə bilərsiniz:

AWS ELB ilə yük balansı

Sonra S3Bucket - Amazon obyekt yaddaşını təyin edirik:

AWS ELB ilə yük balansı

  • Sxem

— daxili və ya xarici balanslaşdırıcı. Məsələ ondadır ki, LoadBalancer xaricdən əlçatan olmaq üçün xarici ünvanlar almalıdır, yoxsa sizin daxili yük balanslaşdırıcınız ola bilər;

  • Təhlükəsizlik qrupları

— balanslaşdırıcıya giriş nəzarəti. Əslində bu yüksək səviyyəli bir firewalldır.

AWS ELB ilə yük balansı

AWS ELB ilə yük balansı

  • Alt şəbəkələr

— VPC daxilindəki alt şəbəkələr (və müvafiq olaraq mövcudluq zonası). Alt şəbəkələr yaradılarkən müəyyən edilir. VPC-lər bölgə ilə məhdudlaşırsa, alt şəbəkələr əlçatanlıq zonaları ilə məhdudlaşır. Yük balanslaşdırıcısını yaradarkən onu ən azı iki alt şəbəkədə yaratmaq daha yaxşıdır (bir Əlçatımlılıq Zonasında problemlər yarandıqda kömək edir);

  • Dinləyicilər

— balanslaşdırıcı protokollarınız. Daha əvvəl qeyd edildiyi kimi, Classic Load Balancer üçün HTTP, HTTPS, TCP və SSL, Network Load Balancer üçün - TCP, UDP və TLS, Tətbiq Yükü Balancer üçün - HTTP və HTTPS ola bilər.

Klassik Yük Balansçısı üçün nümunə:

AWS ELB ilə yük balansı

Ancaq Tətbiq Yükü Balanslayıcısında bir az fərqli interfeys və ümumiyyətlə fərqli məntiq görürük:

AWS ELB ilə yük balansı

Load Balancer v2 komponentləri (ALB və NLB)

İndi gəlin 2-ci versiya balanslaşdırıcılarına daha yaxından nəzər salaq. Bu balanslaşdırıcıların öz komponent xüsusiyyətləri vardır. Məsələn, Hədəf Qrupları kimi bir konsepsiya ortaya çıxdı - nümunələr (və funksiyalar). Bu komponent sayəsində biz trafiki Hədəf Qruplarından hansına yönəltmək istədiyimizi müəyyən etmək imkanımız var.

AWS ELB ilə yük balansı

AWS ELB ilə yük balansı

Sadə dillə desək, Hədəf Qruplarında biz trafikin gələcəyi halları müəyyənləşdiririk. Əgər eyni Klassik Yük Balanserində siz intensivliyi dərhal balanslaşdırıcıya qoşursunuzsa, onda Tətbiq Yük Balanserində əvvəlcə siz:

  • bir yük balanslaşdırıcısı yaratmaq;
  • Hədəf qrupu yaratmaq;
  • tələb olunan limanlar və ya Yük balansı qaydaları vasitəsilə tələb olunan Hədəf Qruplarına birbaşa;
  • Hədəf qruplarında nümunələr təyin edirsiniz.

Bu əməliyyat məntiqi daha mürəkkəb görünə bilər, amma əslində daha rahatdır.

Növbəti komponentdir Dinləyici qaydaları (marşrutlaşdırma qaydaları). Bu, yalnız Tətbiq Yükü Balanslayıcısına aiddir. Əgər Network Load Balancer-də sadəcə bir Dinləyici yaradırsınızsa və o, müəyyən bir Hədəf qrupuna trafik göndərirsə, onda Application Load Balancer-da hər şey daha əyləncəli və rahatdır.

AWS ELB ilə yük balansı

İndi növbəti komponent haqqında bir neçə söz deyək - Elastik IP (NLB üçün statik ünvanlar). Əgər Dinləyici qaydalarının marşrutlaşdırma qaydaları yalnız Tətbiq Yükü Balanslaşdırıcısına təsir edirdisə, Elastik IP yalnız Şəbəkə Yükü Balanslaşdırıcısına təsir etdi.

Şəbəkə yük balanslaşdırıcısını yaradaq:

AWS ELB ilə yük balansı

AWS ELB ilə yük balansı

Və yalnız yaratma prosesində bizə Elastik IP seçmək imkanı verildiyini görəcəyik:

AWS ELB ilə yük balansı

Elastik IP zamanla müxtəlif EC2 nümunələri ilə əlaqələndirilə bilən tək IP ünvanı təmin edir. Əgər EC2 instansiyasının Elastik IP ünvanı varsa və həmin instansiya dayandırılıbsa və ya dayandırılıbsa, siz dərhal yeni EC2 instansiyasını Elastik IP ünvanı ilə əlaqələndirə bilərsiniz. Bununla belə, cari tətbiqiniz fəaliyyətini dayandırmayacaq, çünki real EC2 dəyişsə belə, tətbiqlər hələ də eyni IP ünvanını görür.

Burada başqa bir istifadə halı Elastik IP-nin nə üçün lazım olduğu mövzusunda. Baxın, biz 3 IP ünvanı görürük, lakin onlar həmişəlik burada qalmayacaq:

AWS ELB ilə yük balansı

Amazon onları zamanla, bəlkə də hər 60 saniyədən bir dəyişir (lakin praktikada, əlbəttə ki, daha az). Bu o deməkdir ki, IP ünvanları dəyişə bilər. Şəbəkə yükü balanslaşdırıcısı vəziyyətində, sadəcə bir IP ünvanını bağlaya və onu qaydalarınızda, siyasətinizdə və s.

AWS ELB ilə yük balansı

Nəticə çəkin

ELB çoxlu hədəflər (konteynerlər, Amazon EC2 nümunələri, IP ünvanları və Lambda funksiyaları) üzrə daxil olan trafikin avtomatik paylanmasını təmin edir. ELB həm tək Əlçatımlılıq Zonası daxilində, həm də çoxsaylı Əlçatımlılıq Zonaları arasında müxtəlif yüklərlə trafiki paylamağa qadirdir. İstifadəçi yüksək əlçatanlıq, avtomatik ölçmə və yaxşı qorunma təmin edən üç növ balanslaşdırıcıdan birini seçə bilər. Bütün bunlar tətbiqlərinizin səhvlərə dözümlülüyünü təmin etmək üçün vacibdir.

Əsas üstünlüklər:

  • yüksək əlçatanlıq. Xidmət müqaviləsi yük balanslaşdırıcısı üçün 99,99% əlçatanlığı nəzərdə tutur. Məsələn, çoxsaylı Əlçatımlılıq Zonaları trafikin yalnız sağlam obyektlər tərəfindən işlənməsini təmin edir. Əslində, müxtəlif mövcudluq zonalarında trafiki sağlam hədəflərə yönləndirərək, bütün bölgə üzrə yükü tarazlaya bilərsiniz;
  • təhlükəsizlik. ELB Amazon VPC ilə işləyir, müxtəlif təhlükəsizlik imkanlarını - inteqrasiya olunmuş sertifikat idarəetməsi, istifadəçi autentifikasiyası və SSL/TLS şifrəsinin açılmasını təmin edir. Hamısı birlikdə TLS parametrlərinin mərkəzləşdirilmiş və çevik idarə edilməsini təmin edir;
  • elastiklik. ELB şəbəkə trafikində qəfil dəyişiklikləri idarə edə bilər. Avtomatik Ölçmə ilə dərin inteqrasiya, əl ilə müdaxilə tələb etmədən yük dəyişdikdə tətbiqə kifayət qədər resurs verir;
  • rahatlıq. Sorğuları tətbiqlərinizin hədəflərinə yönləndirmək üçün IP ünvanlarından istifadə edə bilərsiniz. Bu, hədəf tətbiqləri virtuallaşdırarkən çeviklik təmin edir və beləliklə, bir instansiyada birdən çox proqramı yerləşdirmək imkanı verir. Tətbiqlər tək şəbəkə portundan istifadə edə və ayrıca təhlükəsizlik qruplarına malik ola bildiyindən, məsələn, mikroservislərə əsaslanan arxitekturaya malik olduğumuz zaman proqramlar arasında əlaqə sadələşir;
  • monitorinq və audit. Amazon CloudWatch xüsusiyyətlərindən istifadə edərək real vaxt rejimində proqramlara nəzarət edə bilərsiniz. Söhbət ölçülərdən, qeydlərdən, sorğu izlənməsindən gedir. Sadə dillə desək, siz problemləri müəyyən edə və performans darboğazlarını olduqca dəqiq müəyyənləşdirə biləcəksiniz;
  • hibrid yük balansı. Eyni yük balanslaşdırıcısından istifadə edərək yerli resurslar və AWS arasında balansı yükləmək imkanı yerli tətbiqləri buludlara köçürməyi və ya genişləndirməyi asanlaşdırır. Uğursuzluqların idarə edilməsi də buluddan istifadə etməklə sadələşdirilir.

Əgər təfərrüatlarla maraqlanırsınızsa, burada rəsmi Amazon saytından bir neçə faydalı keçid var:

  1. Elastik Yük Balanslaşdırma.
  2. Elastik yük balansı imkanları.

Mənbə: www.habr.com

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