AWS ELB bilan yuklarni muvozanatlash

Hammaga salom! Kurs bugun boshlanadi "Ishlab chiquvchilar uchun AWS", shu munosabat bilan biz ELB sharhiga bag'ishlangan tegishli tematik vebinar o'tkazdik. Biz balanslash vositalarining turlarini ko'rib chiqdik va muvozanatlashtiruvchi bilan bir nechta EC2 nusxalarini yaratdik. Biz foydalanishning boshqa misollarini ham o'rganib chiqdik.

AWS ELB bilan yuklarni muvozanatlash

Vebinarni tinglagandan so'ng, Siz bo `lasiz:

  • AWS Load Balancing nima ekanligini tushunish;
  • Elastic Load Balancer turlarini va uning komponentlarini bilish;
  • amaliyotingizda AWS ELB dan foydalaning.

Nega buni umuman bilishingiz kerak?

  • AWS sertifikatlash imtihonlarini topshirishni rejalashtirayotgan bo'lsangiz foydali;
  • bu yukni serverlar o'rtasida taqsimlashning oddiy usuli;
  • Bu sizning xizmatingizga Lambda qo'shishning oddiy usuli (ALB).

Ochiq dars oβ€˜tkazildi Rishat Teregulov, veb-saytlarni ishlab chiqish va qo'llab-quvvatlash bo'yicha marketing kompaniyasida tizim muhandisi.

kirish

Elastik yuk balansi nima ekanligini quyidagi diagrammada ko'rish mumkin, bu oddiy misolni ko'rsatadi:

AWS ELB bilan yuklarni muvozanatlash

Load Balancer so'rovlarni qabul qiladi va ularni misollar bo'ylab tarqatadi. Bizda bitta alohida misol bor, Lambda funksiyalari va AutoScaling guruhi (serverlar guruhi) mavjud.

AWS ELB turlari

1. Keling, asosiy turlarini ko'rib chiqaylik:

Klassik yuk balansi. AWS-dan birinchi balanslashtiruvchi OSI 4 va 7 qatlamlarida ishlaydi, HTTP, HTTPS, TCP va SSL qo'llab-quvvatlanadi. U bir nechta Amazon EC2 misollarida asosiy yuk muvozanatini ta'minlaydi va so'rov va ulanish darajalarida ishlaydi. Keling, uni ochamiz (kulrang bilan belgilangan):

AWS ELB bilan yuklarni muvozanatlash

Ushbu muvozanatlashtirgich eskirgan deb hisoblanadi, shuning uchun uni faqat ma'lum hollarda ishlatish tavsiya etiladi. Masalan, EC2-Classic tarmog'ida qurilgan ilovalar uchun. Aslida, uni yaratishga hech kim to'sqinlik qilmaydi:

AWS ELB bilan yuklarni muvozanatlash

2. Tarmoq yukini muvozanatlashtiruvchi. Og'ir ish yuklari uchun javob beradi, OSI 4-layerida ishlaydi (EKS va ECSda foydalanish mumkin), TCP, UDP va TLS qo'llab-quvvatlanadi.

Network Load Balancer trafikni Amazon VPC-dagi maqsadlarga yo'naltiradi va ultra past kechikish bilan soniyasiga millionlab so'rovlarni qayta ishlashga qodir. Bundan tashqari, u to'satdan va o'zgaruvchan yuklarga ega bo'lgan tirbandliklarni boshqarish uchun optimallashtirilgan.

3. Ilova yukini muvozanatlashtiruvchi. 7-qavatda ishlaydi, Lambda-ni qo'llab-quvvatlaydi, sarlavha va yo'l darajasi qoidalarini qo'llab-quvvatlaydi, HTTP va HTTPS-ni qo'llab-quvvatlaydi.
Zamonaviy arxitekturalar, jumladan, mikroservislar va konteynerlar asosida yaratilgan ilovalarni yetkazib berishga qaratilgan ilgβ€˜or soβ€˜rov marshrutini taqdim etadi. Trafikni so'rov mazmuni asosida Amazon VPC-dagi maqsadlarga yo'naltiradi.

Ko'pgina foydalanuvchilar uchun Application Load Balancer Classic Load Balancer o'rnini bosuvchi birinchi tanlov edi, chunki TCP HTTP kabi keng tarqalgan emas.

Keling, uni ham yarataylik, buning natijasida bizda allaqachon ikkita yuk balanslagichi bo'ladi:

AWS ELB bilan yuklarni muvozanatlash

Yuk balansi komponentlari

Umumiy yuk balansi komponentlari (barcha balanschilar uchun umumiy):

  • Jurnalga kirish siyosatiga kirish

β€” ELB kirish jurnallaringiz. Sozlamalarni o'rnatish uchun siz Tavsif bo'limiga o'tishingiz va "Atributlarni tahrirlash" tugmasini tanlashingiz mumkin:

AWS ELB bilan yuklarni muvozanatlash

Keyin biz S3Bucket - Amazon ob'ekt xotirasini belgilaymiz:

AWS ELB bilan yuklarni muvozanatlash

  • Sxema

β€” ichki yoki tashqi balanslashtiruvchi. Gap shundaki, LoadBalancer tashqaridan kirish uchun tashqi manzillarni olishi kerakmi yoki bu sizning ichki yuk balansingiz bo'lishi mumkinmi;

  • Xavfsizlik guruhlari

β€” balanslagichga kirishni boshqarish. Aslida, bu yuqori darajadagi xavfsizlik devori.

AWS ELB bilan yuklarni muvozanatlash

AWS ELB bilan yuklarni muvozanatlash

  • Subnets

β€” VPC ichidagi pastki tarmoqlar (va shunga mos ravishda mavjudlik zonasi). Subnets yaratish jarayonida belgilanadi. Agar VPClar mintaqa bo'yicha cheklangan bo'lsa, quyi tarmoqlar mavjudlik zonalari bilan cheklangan. Load Balancerni yaratishda uni kamida ikkita kichik tarmoqda yaratish yaxshiroqdir (agar bitta mavjudlik zonasida muammolar yuzaga kelsa yordam beradi);

  • Tinglovchilar

β€” balansizator protokollaringiz. Yuqorida aytib o'tilganidek, Classic Load Balancer uchun HTTP, HTTPS, TCP va SSL, Network Load Balancer uchun - TCP, UDP va TLS, Application Load Balancer uchun - HTTP va HTTPS bo'lishi mumkin.

Klassik yuk balanslagichiga misol:

AWS ELB bilan yuklarni muvozanatlash

Ammo Application Load Balancer-da biz biroz boshqacha interfeys va umuman boshqacha mantiqni ko'ramiz:

AWS ELB bilan yuklarni muvozanatlash

Load Balancer v2 komponentlari (ALB va NLB)

Endi keling, 2-versiya balanslash vositalarini batafsil ko'rib chiqaylik Application Load Balancer va Network Load Balancer. Ushbu balanslashtirgichlar o'zlarining tarkibiy xususiyatlariga ega. Masalan, maqsadli guruhlar kabi tushuncha paydo bo'ldi - misollar (va funktsiyalar). Ushbu komponent tufayli biz maqsadli guruhlardan qaysi biriga trafikni yo'naltirmoqchi ekanligimizni aniqlash imkoniyatiga egamiz.

AWS ELB bilan yuklarni muvozanatlash

AWS ELB bilan yuklarni muvozanatlash

Oddiy qilib aytganda, Maqsadli guruhlarda biz tirbandlik keladigan holatlarni aniqlaymiz. Agar xuddi shu Classic Load Balancer-da siz intensivlikni zudlik bilan muvozanatlashtirgichga ulasangiz, u holda Ilova yuk balanslagichida avval siz:

  • yuk balansini yarating;
  • maqsadli guruh yaratish;
  • kerakli portlar yoki Load Balancer qoidalari orqali kerakli maqsadli guruhlarga to'g'ridan-to'g'ri;
  • Maqsadli guruhlarda siz misollarni tayinlaysiz.

Ushbu operatsion mantiq yanada murakkab ko'rinishi mumkin, lekin aslida u qulayroqdir.

Keyingi komponent Tinglovchi qoidalari (marshrutlash qoidalari). Bu faqat Application Load Balancer uchun amal qiladi. Agar Network Load Balancer-da siz shunchaki Tinglovchi yaratsangiz va u ma'lum bir maqsadli guruhga trafik yuborsa, Application Load Balancer-da hamma narsa yanada qiziqarli va qulay.

AWS ELB bilan yuklarni muvozanatlash

Endi keyingi komponent haqida bir necha so'z aytaylik - Elastik IP (NLB uchun statik manzillar). Agar Tinglovchi qoidalari marshrutlash qoidalari faqat Application Load Balancerga ta'sir qilgan bo'lsa, Elastik IP faqat Tarmoq yukini muvozanatlashtiruvchiga ta'sir qilgan.

Tarmoq yukini muvozanatlash vositasini yaratamiz:

AWS ELB bilan yuklarni muvozanatlash

AWS ELB bilan yuklarni muvozanatlash

Va yaratilish jarayonida biz Elastik IP-ni tanlash imkoniyatiga ega ekanligimizni ko'ramiz:

AWS ELB bilan yuklarni muvozanatlash

Elastik IP vaqt o'tishi bilan turli EC2 nusxalari bilan bog'lanishi mumkin bo'lgan yagona IP-manzilni taqdim etadi. Agar EC2 nusxasi Elastik IP manziliga ega bo'lsa va bu misol tugatilgan yoki to'xtatilgan bo'lsa, siz darhol yangi EC2 nusxasini Elastik IP manzil bilan bog'lashingiz mumkin. Biroq, joriy ilovangiz ishlashni to'xtatmaydi, chunki haqiqiy EC2 o'zgargan bo'lsa ham ilovalar bir xil IP manzilni ko'radi.

shu yerda boshqa foydalanish holati Elastik IP nima uchun kerakligi mavzusida. Qarang, biz 3 ta IP manzilni ko'ramiz, lekin ular bu yerda abadiy qolmaydi:

AWS ELB bilan yuklarni muvozanatlash

Amazon ularni vaqt o'tishi bilan, ehtimol har 60 soniyada o'zgartiradi (lekin amalda, albatta, kamroq). Bu shuni anglatadiki, IP manzillar o'zgarishi mumkin. Va Network Load Balancer bo'lsa, siz shunchaki IP-manzilni bog'lashingiz va uni qoidalaringizda, siyosatingizda va hokazolarda ko'rsatishingiz mumkin.

AWS ELB bilan yuklarni muvozanatlash

Xulosa chiqaring

ELB kiruvchi trafikni bir nechta maqsadlar (konteynerlar, Amazon EC2 nusxalari, IP manzillar va Lambda funktsiyalari) bo'yicha avtomatik taqsimlashni ta'minlaydi. ELB bitta mavjudlik zonasida ham, bir nechta mavjudlik zonalarida ham turli yuklar bilan trafikni taqsimlash imkoniyatiga ega. Foydalanuvchi yuqori mavjudlik, avtomatik o'lchov va yaxshi himoyani ta'minlaydigan uchta turdagi balanslagichlardan birini tanlashi mumkin. Bularning barchasi ilovalaringizning xatolarga chidamliligini ta'minlash uchun muhimdir.

Asosiy afzalliklari:

  • yuqori mavjudligi. Xizmat shartnomasi yuk balansi uchun 99,99% mavjudligini nazarda tutadi. Masalan, bir nechta mavjudlik zonalari trafikni faqat sog'lom ob'ektlar tomonidan qayta ishlanishini ta'minlaydi. Darhaqiqat, siz turli xil mavjudlik zonalarida trafikni sog'lom maqsadlarga yo'naltirib, butun mintaqa bo'ylab yukni muvozanatlashingiz mumkin;
  • xavfsizlik. ELB Amazon VPC bilan ishlaydi, turli xil xavfsizlik imkoniyatlarini ta'minlaydi - sertifikatlarni integratsiyalashgan boshqarish, foydalanuvchi autentifikatsiyasi va SSL/TLS shifrini ochish. Hammasi birgalikda TLS sozlamalarini markazlashtirilgan va moslashuvchan boshqarishni ta'minlaydi;
  • elastiklik. ELB tarmoq trafigidagi keskin o'zgarishlarni boshqarishi mumkin. Va Auto Scaling bilan chuqur integratsiya, agar yuk o'zgarsa, qo'lda aralashuvni talab qilmasdan, dasturga etarli resurslarni beradi;
  • moslashuvchanlik. So'rovlarni ilovalaringizning maqsadlariga yo'naltirish uchun IP manzillaridan foydalanishingiz mumkin. Bu maqsadli ilovalarni virtualizatsiya qilishda moslashuvchanlikni ta'minlaydi va shu bilan bir misolda bir nechta ilovalarni joylashtirish imkoniyatini beradi. Ilovalar bitta tarmoq portidan foydalanishi va alohida xavfsizlik guruhlariga ega bo'lishi mumkinligi sababli, masalan, mikroservislarga asoslangan arxitekturaga ega bo'lganimizda ilovalar o'rtasidagi aloqa soddalashtiriladi;
  • monitoring va audit. Amazon CloudWatch funksiyalari yordamida real vaqtda ilovalarni kuzatishingiz mumkin. Biz o'lchovlar, jurnallar, so'rovlarni kuzatish haqida gapiramiz. Oddiy qilib aytganda, siz muammolarni aniqlay olasiz va ishlashdagi qiyinchiliklarni aniq aniqlay olasiz;
  • gibrid yuk balansi. Xuddi shu yuk balanslagichidan foydalangan holda mahalliy resurslar va AWS o'rtasidagi muvozanatni yuklash qobiliyati mahalliy ilovalarni bulutga ko'chirish yoki kengaytirishni osonlashtiradi. Nosozliklarni hal qilish ham bulut yordamida soddalashtirilgan.

Agar siz tafsilotlarga qiziqsangiz, Amazon rasmiy veb-saytidan yana bir nechta foydali havolalar:

  1. Elastik yukni muvozanatlash.
  2. Elastik yukni muvozanatlash qobiliyati.

Manba: www.habr.com

a Izoh qo'shish