Балансирање на товари со AWS ELB

Здраво на сите! Курсот започнува денес „AWS за програмери“, во врска со што одржавме соодветен тематски вебинар посветен на прегледот на ELB. Ги разгледавме типовите на балансери и создадовме неколку примероци EC2 со балансер. Проучивме и други примери на употреба.

Балансирање на товари со AWS ELB

По слушањето на вебинарот, Ти ќе:

  • разберете што е AWS Load Balancing;
  • ги знае типовите на Еластичниот балансирач и неговите компоненти;
  • користете го AWS ELB во вашата пракса.

Зошто воопшто треба да го знаете ова?

  • корисно ако планирате да полагате испити за сертификација AWS;
  • ова е едноставен начин да се дистрибуира оптоварувањето помеѓу серверите;
  • Ова е едноставен начин да додадете Lambda на вашата услуга (ALB).

Спроведе отворена лекција Ришат Терегулалов, системски инженер во маркетинг компанија за развој и поддршка на веб-страници.

Вовед

Што е еластичен балансирач може да се види на дијаграмот подолу, кој покажува едноставен пример:

Балансирање на товари со AWS ELB

Load Balancer прифаќа барања и ги дистрибуира низ примероци. Имаме еден посебен пример, има Lambda функции и има група AutoScaling (група сервери).

Видови AWS ELB

1. Да ги погледнеме главните типови:

Класичен Load Balancer. Првиот балансер на оптоварување од AWS, работи и на OSI слој 4 и на слој 7, поддржувајќи HTTP, HTTPS, TCP и SSL. Обезбедува основно балансирање на оптоварување низ повеќе примероци на Amazon EC2 и работи и на нивоа на барање и на поврзување. Ајде да го отвориме (означено во сиво):

Балансирање на товари со AWS ELB

Овој балансер се смета за застарен, па затоа се препорачува за употреба само во одредени случаи. На пример, за апликации што се изградени на мрежата EC2-Classic. Во принцип, никој не не спречува да го создадеме:

Балансирање на товари со AWS ELB

2. Мрежен Load Balancer. Погоден за тешки оптоварувања, работи на OSI Layer 4 (може да се користи во EKS и ECS), TCP, UDP и TLS се поддржани.

Network Load Balancer го насочува сообраќајот до цели во Amazon VPC и е способен да обработува милиони барања во секунда со ултра ниска латентност. Дополнително, тој е оптимизиран за справување со сообраќајните шеми со ненадејни и променливи оптоварувања.

3. Апликација Load Balancer. Работи на слој 7, има Lambda поддршка, поддржува правила за заглавие и ниво на патека, поддржува HTTP и HTTPS.
Обезбедува напредно рутирање на барања фокусирано на доставување апликации изградени на модерни архитектури, вклучувајќи микросервиси и контејнери. Го насочува сообраќајот кон цели во Amazon VPC врз основа на содржината на барањето.

За многу корисници, Application Load Balancer беше првиот избор за замена на Classic Load Balancer, бидејќи TCP не е толку вообичаен како HTTP.

Ајде да го создадеме и тоа, како резултат на што веќе ќе имаме два балансирачи на оптоварување:

Балансирање на товари со AWS ELB

Компоненти за салдо на оптоварување

Заеднички компоненти на салдо на оптоварување (заедничко за сите балансери):

  • Пристап до политика за евиденција

— вашите дневници за пристап ELB. За да направите поставки, можете да отидете во Опис и да го изберете копчето „Уреди атрибути“:

Балансирање на товари со AWS ELB

Потоа го одредуваме S3Bucket - складирање на објекти на Amazon:

Балансирање на товари со AWS ELB

  • Шема

— внатрешен или надворешен балансер. Поентата е дали вашиот LoadBalancer мора да прима надворешни адреси за да биде достапен однадвор, или може да биде вашиот внатрешен балансирач на оптоварување;

  • Безбедносни групи

— контрола на пристап до балансерот. Во суштина ова е заштитен ѕид на високо ниво.

Балансирање на товари со AWS ELB

Балансирање на товари со AWS ELB

  • Подмрежи

— подмрежи во вашиот VPC (и, соодветно, зоната на достапност). Подмрежите се наведени при креирањето. Ако VPC се ограничени по регион, тогаш подмрежите се ограничени со зони на достапност. Кога креирате Load Balancer, подобро е да го креирате во најмалку две подмрежи (помага ако се појават проблеми со една зона на достапност);

  • Слушатели

— вашите протоколи за балансирање. Како што беше споменато претходно, за Classic Load Balancer може да биде HTTP, HTTPS, TCP и SSL, за Network Load Balancer - TCP, UDP и TLS, за Application Load Balancer - HTTP и HTTPS.

Пример за класичен Load Balancer:

Балансирање на товари со AWS ELB

Но, во Application Load Balancer гледаме малку поинаков интерфејс и генерално поинаква логика:

Балансирање на товари со AWS ELB

Компоненти Load Balancer v2 (ALB и NLB)

Сега да ги разгледаме подетално балансерите на верзијата 2 Апликација Load Balancer и Network Load Balancer. Овие балансери имаат свои карактеристики на компонентите. На пример, се појави таков концепт како Целни групи - инстанци (и функции). Благодарение на оваа компонента, имаме можност да одредиме кон која од целните групи сакаме да го насочиме сообраќајот.

Балансирање на товари со AWS ELB

Балансирање на товари со AWS ELB

Во едноставни термини, во Целните групи ги одредуваме случаите каде ќе дојде сообраќајот. Ако во истиот Classic Load Balancer едноставно веднаш го поврзете интензитетот со балансерот, тогаш во Application Load Balancer прво:

  • креирајте Load Balancer;
  • креирајте целна група;
  • директно преку потребните порти или правила за Load Balancer до бараните Целни групи;
  • во Целните групи доделувате примероци.

Оваа оперативна логика може да изгледа покомплицирана, но всушност е поудобна.

Следната компонента е Правила на слушателот (правила за рутирање). Ова се однесува само на Application Load Balancer. Ако во Network Load Balancer едноставно креирате слушател и тој испраќа сообраќај до одредена целна група, тогаш во Application Load Balancer сè позабавно и поудобно.

Балансирање на товари со AWS ELB

Сега да кажеме неколку зборови за следната компонента - Еластична IP (статични адреси за НЛБ). Ако правилата за насочување на Слушачот влијаеле само на балансерот на оптоварување на апликации, тогаш Elastic IP влијаело само на балансот на оптоварување на мрежата.

Ајде да создадеме мрежен баланс на оптоварување:

Балансирање на товари со AWS ELB

Балансирање на товари со AWS ELB

И токму за време на процесот на креирање ќе видиме дека ни е дадена можност да избереме Elastic IP:

Балансирање на товари со AWS ELB

Elastic IP обезбедува единствена IP адреса која може да се поврзе со различни EC2 примери со текот на времето. Ако примерокот EC2 има Elastic IP адреса и тој пример е прекинат или прекинат, можете веднаш да поврзете нов примерок EC2 со Elastic IP адреса. Сепак, вашата тековна апликација нема да престане да работи, бидејќи апликациите сè уште ја гледаат истата IP адреса, дури и ако вистинската EC2 е променета.

тука е друга употреба на тема зошто е потребна Elastic IP. Видете, гледаме 3 IP адреси, но тие нема да останат тука засекогаш:

Балансирање на товари со AWS ELB

Амазон ги менува со текот на времето, можеби на секои 60 секунди (но во пракса, се разбира, поретко). Ова значи дека IP адресите може да се променат. И во случај на Network Load Balancer, можете само да поврзете IP адреса и да ја наведете во вашите правила, политики итн.

Балансирање на товари со AWS ELB

Заклучоци

ELB обезбедува автоматска дистрибуција на дојдовниот сообраќај низ повеќе цели (контејнери, примероци на Amazon EC2, IP адреси и функции Lambda). ELB е способен да дистрибуира сообраќај со различни оптоварувања и во една зона на достапност и низ повеќе зони на достапност. Корисникот може да избере од три типа балансери кои обезбедуваат висока достапност, автоматско скалирање и добра заштита. Сето ова е важно за да се обезбеди толеранција на грешки на вашите апликации.

Главните предности:

  • висока достапност. Договорот за услуги претпоставува 99,99% достапност за балансерот на оптоварување. На пример, повеќе зони за достапност обезбедуваат сообраќајот да се обработува само од здрави објекти. Всушност, можете да го балансирате оптоварувањето низ целиот регион, пренасочувајќи го сообраќајот кон здрави цели во различни зони на достапност;
  • безбедност. ELB работи со Amazon VPC, обезбедувајќи различни безбедносни способности - интегрирано управување со сертификати, автентикација на корисникот и дешифрирање SSL/TLS. Сите заедно обезбедуваат централизирано и флексибилно управување со поставките за TLS;
  • еластичноста. ELB може да се справи со ненадејни промени во мрежниот сообраќај. И длабоката интеграција со автоматското скалирање и дава на апликацијата доволно ресурси доколку се промени оптоварувањето, без да се бара рачна интервенција;
  • флексибилност. Можете да користите IP адреси за да ги насочувате барањата до целите на вашите апликации. Ова обезбедува флексибилност при виртуелизирање на целните апликации, со што се дава можност за хостирање на повеќе апликации на еден пример. Бидејќи апликациите можат да користат една мрежна порта и да имаат посебни безбедносни групи, комуникацијата помеѓу апликациите е поедноставена кога имаме, да речеме, архитектура базирана на микроуслуги;
  • мониторинг и ревизија. Можете да ги следите апликациите во реално време користејќи ги функциите на Amazon CloudWatch. Зборуваме за метрика, дневници, следење на барања. Во едноставни термини, ќе можете да ги идентификувате проблемите и сосема точно да ги посочите тесните грла во перформансите;
  • хибридно балансирање на оптоварување. Способноста да се вчита рамнотежа помеѓу ресурсите во просториите и AWS со користење на истиот балансирач на оптоварување го олеснува мигрирањето или проширувањето на апликациите во просториите во облакот. Справувањето со неуспесите е исто така поедноставено со користење на облакот.

Доколку ве интересираат детали, еве уште неколку корисни врски од официјалната веб-страница на Амазон:

  1. Балансирање на еластично оптоварување.
  2. Способности за балансирање на еластично оптоварување.

Извор: www.habr.com

Додадете коментар