Здраво на сите! Курсот започнува денес
- разберете што е AWS Load Balancing;
- ги знае типовите на Еластичниот балансирач и неговите компоненти;
- користете го AWS ELB во вашата пракса.
Зошто воопшто треба да го знаете ова?
- корисно ако планирате да полагате испити за сертификација AWS;
- ова е едноставен начин да се дистрибуира оптоварувањето помеѓу серверите;
- Ова е едноставен начин да додадете Lambda на вашата услуга (ALB).
Спроведе отворена лекција
Вовед
Што е еластичен балансирач може да се види на дијаграмот подолу, кој покажува едноставен пример:
Load Balancer прифаќа барања и ги дистрибуира низ примероци. Имаме еден посебен пример, има Lambda функции и има група AutoScaling (група сервери).
Видови AWS ELB
1. Да ги погледнеме главните типови:
Класичен Load Balancer. Првиот балансер на оптоварување од AWS, работи и на OSI слој 4 и на слој 7, поддржувајќи HTTP, HTTPS, TCP и SSL. Обезбедува основно балансирање на оптоварување низ повеќе примероци на Amazon EC2 и работи и на нивоа на барање и на поврзување. Ајде да го отвориме (означено во сиво):
Овој балансер се смета за застарен, па затоа се препорачува за употреба само во одредени случаи. На пример, за апликации што се изградени на мрежата EC2-Classic. Во принцип, никој не не спречува да го создадеме:
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.
Ајде да го создадеме и тоа, како резултат на што веќе ќе имаме два балансирачи на оптоварување:
Компоненти за салдо на оптоварување
Заеднички компоненти на салдо на оптоварување (заедничко за сите балансери):
- Пристап до политика за евиденција
— вашите дневници за пристап ELB. За да направите поставки, можете да отидете во Опис и да го изберете копчето „Уреди атрибути“:
Потоа го одредуваме S3Bucket - складирање на објекти на Amazon:
- Шема
— внатрешен или надворешен балансер. Поентата е дали вашиот LoadBalancer мора да прима надворешни адреси за да биде достапен однадвор, или може да биде вашиот внатрешен балансирач на оптоварување;
- Безбедносни групи
— контрола на пристап до балансерот. Во суштина ова е заштитен ѕид на високо ниво.
- Подмрежи
— подмрежи во вашиот VPC (и, соодветно, зоната на достапност). Подмрежите се наведени при креирањето. Ако VPC се ограничени по регион, тогаш подмрежите се ограничени со зони на достапност. Кога креирате Load Balancer, подобро е да го креирате во најмалку две подмрежи (помага ако се појават проблеми со една зона на достапност);
- Слушатели
— вашите протоколи за балансирање. Како што беше споменато претходно, за Classic Load Balancer може да биде HTTP, HTTPS, TCP и SSL, за Network Load Balancer - TCP, UDP и TLS, за Application Load Balancer - HTTP и HTTPS.
Пример за класичен Load Balancer:
Но, во Application Load Balancer гледаме малку поинаков интерфејс и генерално поинаква логика:
Компоненти Load Balancer v2 (ALB и NLB)
Сега да ги разгледаме подетално балансерите на верзијата 2 Апликација Load Balancer и Network Load Balancer. Овие балансери имаат свои карактеристики на компонентите. На пример, се појави таков концепт како Целни групи - инстанци (и функции). Благодарение на оваа компонента, имаме можност да одредиме кон која од целните групи сакаме да го насочиме сообраќајот.
Во едноставни термини, во Целните групи ги одредуваме случаите каде ќе дојде сообраќајот. Ако во истиот Classic Load Balancer едноставно веднаш го поврзете интензитетот со балансерот, тогаш во Application Load Balancer прво:
- креирајте Load Balancer;
- креирајте целна група;
- директно преку потребните порти или правила за Load Balancer до бараните Целни групи;
- во Целните групи доделувате примероци.
Оваа оперативна логика може да изгледа покомплицирана, но всушност е поудобна.
Следната компонента е Правила на слушателот (правила за рутирање). Ова се однесува само на Application Load Balancer. Ако во Network Load Balancer едноставно креирате слушател и тој испраќа сообраќај до одредена целна група, тогаш во Application Load Balancer сè
Сега да кажеме неколку зборови за следната компонента - Еластична IP (статични адреси за НЛБ). Ако правилата за насочување на Слушачот влијаеле само на балансерот на оптоварување на апликации, тогаш Elastic IP влијаело само на балансот на оптоварување на мрежата.
Ајде да создадеме мрежен баланс на оптоварување:
И токму за време на процесот на креирање ќе видиме дека ни е дадена можност да избереме Elastic IP:
Elastic IP обезбедува единствена IP адреса која може да се поврзе со различни EC2 примери со текот на времето. Ако примерокот EC2 има Elastic IP адреса и тој пример е прекинат или прекинат, можете веднаш да поврзете нов примерок EC2 со Elastic IP адреса. Сепак, вашата тековна апликација нема да престане да работи, бидејќи апликациите сè уште ја гледаат истата IP адреса, дури и ако вистинската EC2 е променета.
тука е
Амазон ги менува со текот на времето, можеби на секои 60 секунди (но во пракса, се разбира, поретко). Ова значи дека IP адресите може да се променат. И во случај на Network Load Balancer, можете само да поврзете IP адреса и да ја наведете во вашите правила, политики итн.
Заклучоци
ELB обезбедува автоматска дистрибуција на дојдовниот сообраќај низ повеќе цели (контејнери, примероци на Amazon EC2, IP адреси и функции Lambda). ELB е способен да дистрибуира сообраќај со различни оптоварувања и во една зона на достапност и низ повеќе зони на достапност. Корисникот може да избере од три типа балансери кои обезбедуваат висока достапност, автоматско скалирање и добра заштита. Сето ова е важно за да се обезбеди толеранција на грешки на вашите апликации.
Главните предности:
- висока достапност. Договорот за услуги претпоставува 99,99% достапност за балансерот на оптоварување. На пример, повеќе зони за достапност обезбедуваат сообраќајот да се обработува само од здрави објекти. Всушност, можете да го балансирате оптоварувањето низ целиот регион, пренасочувајќи го сообраќајот кон здрави цели во различни зони на достапност;
- безбедност. ELB работи со Amazon VPC, обезбедувајќи различни безбедносни способности - интегрирано управување со сертификати, автентикација на корисникот и дешифрирање SSL/TLS. Сите заедно обезбедуваат централизирано и флексибилно управување со поставките за TLS;
- еластичноста. ELB може да се справи со ненадејни промени во мрежниот сообраќај. И длабоката интеграција со автоматското скалирање и дава на апликацијата доволно ресурси доколку се промени оптоварувањето, без да се бара рачна интервенција;
- флексибилност. Можете да користите IP адреси за да ги насочувате барањата до целите на вашите апликации. Ова обезбедува флексибилност при виртуелизирање на целните апликации, со што се дава можност за хостирање на повеќе апликации на еден пример. Бидејќи апликациите можат да користат една мрежна порта и да имаат посебни безбедносни групи, комуникацијата помеѓу апликациите е поедноставена кога имаме, да речеме, архитектура базирана на микроуслуги;
- мониторинг и ревизија. Можете да ги следите апликациите во реално време користејќи ги функциите на Amazon CloudWatch. Зборуваме за метрика, дневници, следење на барања. Во едноставни термини, ќе можете да ги идентификувате проблемите и сосема точно да ги посочите тесните грла во перформансите;
- хибридно балансирање на оптоварување. Способноста да се вчита рамнотежа помеѓу ресурсите во просториите и AWS со користење на истиот балансирач на оптоварување го олеснува мигрирањето или проширувањето на апликациите во просториите во облакот. Справувањето со неуспесите е исто така поедноставено со користење на облакот.
Доколку ве интересираат детали, еве уште неколку корисни врски од официјалната веб-страница на Амазон:
Извор: www.habr.com