Дафъаи гузашта мо дар бораи имкониятҳои NSX Edge дар робита ба масири статикӣ ва динамикӣ сӯҳбат карда будем ва имрӯз мо бо тавозуни сарборӣ кор хоҳем кард.
Пеш аз он ки мо ба танзим оғоз кунем, ман мехоҳам ба шумо дар бораи намудҳои асосии мувозинат ба таври мухтасар хотиррасон кунам.
Теория
Ҳама қарорҳои мувозинати бори имрӯза аксар вақт ба ду категория тақсим мешаванд: мувозинат дар сатҳҳои чорум (наклиёт) ва ҳафтум (барнома)-и модел.
- Тавозуни L4 аксар вақт он прокси миёнаест, ки дар байни муштарӣ ва маҷмӯи пуштибонии дастрас қарор дорад, ки пайвастҳои TCP-ро қатъ мекунад (яъне мустақилона ба SYN ҷавоб медиҳад), пуштибониро интихоб мекунад ва сессияи нави TCP-ро дар самти худ оғоз мекунад ва мустақилона SYN-ро мефиристад. Ин навъ яке аз навъҳои асосӣ аст, вариантҳои дигар низ имконпазиранд.
- Тавозуни L7 трафикро дар байни пуштибонии дастрас нисбат ба баланси L4 "мукаммалтар" тақсим мекунад. Он метавонад муайян кунад, ки кадом пуштибониро дар асоси, масалан, мундариҷаи паёми HTTP (URL, куки ва ғ.) интихоб кунад.
Новобаста аз намуд, мувозинат метавонад вазифаҳои зеринро дастгирӣ кунад:
- Кашфи хидмат ин раванди муайян кардани маҷмӯи пуштибонии дастрас (Static, DNS, Consul, etcd ва ғайра) мебошад.
- Санҷиши функсияҳои пуштибонии ошкоршуда ("ping"-и фаъоли пуштибон бо истифода аз дархости HTTP, ошкоркунии ғайрифаъоли мушкилот дар пайвастҳои TCP, мавҷудияти якчанд рамзи 503 HTTP дар посухҳо ва ғайра).
- Худи мувозинат (робин даври, интихоби тасодуфӣ, манбаи IP hash, URI).
- Қатъи TLS ва санҷиши сертификат.
- Вариантҳои марбут ба амният (тасдиқкунӣ, пешгирии ҳамлаи DoS, маҳдудияти суръат) ва ғайра.
NSX Edge барои ду намуди ҷойгиркунии мувозинати сарборӣ дастгирӣ пешниҳод мекунад:
Ҳолати прокси ё як даст. Дар ин режим, NSX Edge суроғаи IP-и худро ҳамчун суроғаи манбаъ ҳангоми ирсоли дархост ба яке аз пуштибонҳо истифода мебарад. Ҳамин тариқ, мувозинат ҳамзамон вазифаҳои манбаъ ва таъиноти NAT-ро иҷро мекунад. Дар пушти сар тамоми трафикро, ки аз мувозинат фиристода шудааст, мебинад ва мустақиман ба он посух медиҳад. Дар чунин схема, мувозинат бояд дар як сегменти шабака бо серверҳои дохилӣ бошад.
Ин тавр аст:
1. Истифодабаранда ба суроғаи VIP (суроғаи тавозункунанда), ки дар Edge танзим шудааст, дархост мефиристад.
2. Edge яке аз пушти сарро интихоб мекунад ва суроғаи VIP-ро бо суроғаи пуштибонии интихобшуда иваз карда, NAT-ро иҷро мекунад.
3. Edge манбаи NAT-ро иҷро карда, суроғаи корбареро, ки дархост фиристодааст, бо суроғаи худ иваз мекунад.
4. Баста ба пуштибонии интихобшуда фиристода мешавад.
5. Аксҳо мустақиман ба корбар не, балки ба Edge ҷавоб медиҳанд, зеро суроғаи аслии корбар ба суроғаи балансатор иваз шудааст.
6. Edge посухи серверро ба корбар интиқол медиҳад.
Диаграмма дар поён оварда шудааст.
Ҳолати шаффоф ё дарунсохт. Дар ин сенария, мувозинат дорои интерфейсҳои шабакаҳои дохилӣ ва беруна мебошад. Дар айни замон, дастрасии мустақим ба шабакаи дохилӣ аз берунӣ вуҷуд надорад. Тавозуни дарунсохташуда ҳамчун шлюзи NAT барои мошинҳои виртуалӣ дар шабакаи дохилӣ амал мекунад.
Механизм чунин аст:
1. Истифодабаранда ба суроғаи VIP (суроғаи тавозункунанда), ки дар Edge танзим шудааст, дархост мефиристад.
2. Edge яке аз пушти сарро интихоб мекунад ва суроғаи VIP-ро бо суроғаи пуштибонии интихобшуда иваз карда, NAT-ро иҷро мекунад.
3. Баста ба пуштибонии интихобшуда фиристода мешавад.
4. Бозгашт ба дархост бо суроғаи аслии корбар (манбаи NAT иҷро нашудааст) қабул мекунад ва мустақиман ба он посух медиҳад.
5. Трафик аз нав тавозуни сарборӣ қабул карда мешавад, зеро дар схемаи дохилӣ он одатан ҳамчун дарвозаи пешфарз барои фермаи сервер амал мекунад.
6. Edge манбаи NAT-ро барои ирсоли трафик ба корбар бо истифода аз VIP-и худ ҳамчун суроғаи IP-и манбаъ иҷро мекунад.
Диаграмма дар поён оварда шудааст.
Таҷҳизот
Дастгоҳи санҷишии ман дорои 3 сервери Apache мебошад, ки барои кор тавассути HTTPS танзим карда шудааст. Edge мувозинати даврии дархостҳои HTTPS-ро иҷро мекунад ва ҳар як дархости навро ба сервери нав прокси мекунад.
Биёед сар кунем.
Эҷоди шаҳодатномаи SSL, ки аз ҷониби NSX Edge истифода мешавад
Шумо метавонед шаҳодатномаи дурусти CA-ро ворид кунед ё шаҳодатномаи худ имзошударо истифода баред. Барои ин санҷиш ман аз имзои худ истифода хоҳам кард.
- Дар интерфейси vCloud Director, ба танзимоти хидматҳои Edge гузаред.
- Ба ҷадвали Сертификатҳо гузаред. Аз рӯйхати амалҳо, илова кардани CSR-и навро интихоб кунед.
- Майдонҳои заруриро пур кунед ва "Нигоҳ" -ро клик кунед.
- CSR-и навтаъсисро интихоб кунед ва имконоти CSR-ро интихоб кунед.
- Мӯҳлати эътибори сертификатро интихоб кунед ва Нигоҳ доштанро клик кунед
- Шаҳодатномаи худ имзошуда дар рӯйхати шаҳодатномаҳои дастрас пайдо мешавад.
Насб кардани профили барнома
Профилҳои барнома ба шумо назорати пурратари трафики шабакаро фароҳам меоранд ва идоракунии онро содда ва муассир мегардонанд. Онҳо метавонанд барои муайян кардани рафтор барои намудҳои мушаххаси трафик истифода шаванд.
- Ба ҷадвали Load Balancer гузаред ва мувозинатро фаъол созед. Опсияи фаъолсозии суръатбахшӣ дар ин ҷо ба мувозинат имкон медиҳад, ки ба ҷои L4 тезтар мувозинати L7-ро истифода барад.
- Барои насб кардани профили барнома ба ҷадвали профили барнома гузаред. + клик кунед.
- Номи профилро таъин кунед ва намуди трафикро интихоб кунед, ки профил барои он татбиқ карда мешавад. Биёед ман баъзе параметрҳоро шарҳ диҳам.
Persistence – маълумотҳои сессияро нигоҳ медорад ва пайгирӣ мекунад, масалан: кадом сервери мушаххаси ҳавз ба дархости корбар хидмат мерасонад. Ин кафолат медиҳад, ки дархостҳои корбарон ба як узви ҳавз дар тӯли тамоми сеанс ё ҷаласаҳои минбаъда равона карда мешаванд.
Гузаронидани SSL-ро фаъол созед – Вақте ки ин хосият интихоб карда мешавад, NSX Edge қатъ кардани SSL-ро қатъ мекунад. Ба ҷои ин, қатъкунӣ бевосита дар серверҳое рух медиҳад, ки мутавозин карда мешаванд.
Сарлавҳаи X-Forwarded-For HTTP-ро ворид кунед – ба шумо имкон медиҳад, ки суроғаи IP-и манбаи муштарӣ, ки тавассути баланси сарборӣ ба веб-сервер пайваст мешавад, муайян кунед.
SSL-и Pool Side-ро фаъол созед – ба шумо имкон медиҳад, ки муайян кунед, ки ҳавзи интихобшуда аз серверҳои HTTPS иборат аст.
- Азбаски ман трафики HTTPS-ро мувозинат хоҳам кард, ман бояд Pool Side SSL -ро фаъол созам ва сертификати қаблан тавлидшударо дар ҷадвали Сертификати сервери виртуалӣ -> Сертификати хидмат интихоб кунам.
- Ба ҳамин монанд барои Сертификати ҳавз -> Шаҳодатномаи хидмат.
Мо як ҳавзи серверҳо эҷод мекунем, ки трафик ба онҳо ҳавзҳои мутавозин хоҳад буд
- Ба ҷадвали ҳавзҳо гузаред. + клик кунед.
- Мо номи ҳавзро таъин мекунем, алгоритмро интихоб мекунем (ман даври даврро истифода хоҳам кард) ва намуди мониторинг барои пуштибонии санҷиши саломатӣ.. Опсияи шаффоф нишон медиҳад, ки оё IP-ҳои ибтидоии муштариён ба серверҳои дохилӣ намоёнанд.
- Агар опсия ғайрифаъол бошад, трафик барои серверҳои дохилӣ аз IP-и манбаи баланскунанда меояд.
- Агар интихоб фаъол бошад, серверҳои дохилӣ IP-и манбаи муштариёнро мебинанд. Дар ин конфигуратсия, NSX Edge бояд ҳамчун дарвозаи пешфарз амал кунад, то бастаҳои баргардонидашуда аз NSX Edge гузарад.
NSX алгоритмҳои зерини тавозуниро дастгирӣ мекунад:
- IP_HASH – интихоби сервер дар асоси натиҷаҳои функсияи хэш барои IP-и манбаъ ва таъиноти ҳар як баста.
- LEASTCONN – мувозинати пайвастҳои воридотӣ, вобаста ба шумораи аллакай дар сервери мушаххас мавҷудбуда. Пайвастҳои нав ба сервер бо камтарин пайвастҳо равона карда мешаванд.
- ROUND_ROBIN - Пайвастҳои нав ба ҳар як сервер мувофиқи вазни ба он таъиншуда бо навбат фиристода мешаванд.
- URI – қисми чапи URI (пеш аз аломати савол) ҳаш карда мешавад ва ба вазни умумии серверҳо дар ҳавз тақсим карда мешавад. Натиҷа нишон медиҳад, ки кадом сервер дархостро қабул мекунад ва кафолат медиҳад, ки дархост ҳамеша ба як сервер равона карда мешавад, то даме ки ҳама серверҳо дастрас боқӣ монанд.
- HTTPHEADER – мувозинат дар асоси сарлавҳаи мушаххаси HTTP, ки онро ҳамчун параметр муайян кардан мумкин аст. Агар сарлавҳа мавҷуд набошад ё ягон арзиш надошта бошад, алгоритми ROUND_ROBIN истифода мешавад.
- URL – Ҳар як дархости HTTP GET параметри URL-ро, ки ҳамчун аргумент нишон дода шудааст, ҷустуҷӯ мекунад. Агар пас аз параметр аломати баробар ва арзиш бошад, пас арзиш ҳаш карда мешавад ва ба вазни умумии серверҳои иҷрошаванда тақсим карда мешавад. Натиҷа нишон медиҳад, ки кадом сервер дархостро қабул мекунад. Ин раванд барои пайгирии ID-и корбар дар дархостҳо истифода мешавад ва кафолат додани он, ки ҳамон як идентификатори корбар ҳамеша ба як сервер фиристода мешавад, то даме ки ҳама серверҳо дастрасанд.
- Барои илова кардани серверҳо ба ҳавз дар блоки аъзоён + -ро клик кунед.
Дар ин ҷо шумо бояд муайян кунед:- номи сервер;
- Суроғаи IP сервер;
- порте, ки дар он сервер трафикро қабул мекунад;
- бандар барои санҷиши саломатӣ (Монитори саломатӣ);
- вазн - бо истифода аз ин параметр шумо метавонед миқдори мутаносиби трафики гирифташударо барои узви мушаххаси ҳавз танзим кунед;
- Max Connections – шумораи максималии пайвастшавӣ ба сервер;
- Пайвастҳои ҳадди ақал – шумораи ҳадди ақали пайвастҳое, ки сервер бояд пеш аз интиқоли трафик ба узви навбатии ҳавз коркард кунад.
Ин аст он чизе ки ҳавзи ниҳоии се сервер ба назар мерасад.
Илова кардани сервери виртуалӣ
- Ба ҷадвали серверҳои виртуалӣ гузаред. + клик кунед.
- Мо сервери виртуалиро бо истифода аз Фаъолсозии сервери виртуалӣ фаъол мекунем.
Мо ба он ном медиҳем, Профили қаблан сохташудаи Ариза, Ҳавзро интихоб мекунем ва суроғаи IP-ро нишон медиҳем, ки ба он сервери виртуалӣ аз берун дархостҳоро қабул мекунад. Мо протоколи HTTPS ва порти 443-ро муайян мекунем.
Параметрҳои ихтиёрӣ дар ин ҷо:
Маҳдудияти пайвастшавӣ – шумораи максималии пайвастҳои ҳамзамон, ки сервери виртуалӣ метавонад коркард кунад;
Маҳдудияти суръати пайвастшавӣ (CPS) – шумораи максималии дархостҳои нави воридотӣ дар як сония.
Ин конфигуратсияи мувозинатро ба анҷом мерасонад; шумо метавонед кори онро тафтиш кунед. Серверҳо конфигуратсияи оддӣ доранд, ки ба шумо имкон медиҳад фаҳмед, ки кадом сервер аз ҳавз дархостро коркард кардааст. Ҳангоми насб, мо алгоритми тавозуни Round Robin-ро интихоб кардем ва параметри Вазн барои ҳар як сервер ба як баробар аст, аз ин рӯ ҳар як дархости минбаъда аз ҷониби сервери навбатии ҳавз коркард карда мешавад.
Мо суроғаи берунии мувозинатро дар браузер ворид мекунем ва мебинем:
Пас аз навсозии саҳифа, дархост аз ҷониби сервери зерин коркард карда мешавад:
Ва боз - барои тафтиш кардани сервери сеюм аз ҳавз:
Ҳангоми тафтиш, шумо мебинед, ки сертификате, ки Edge ба мо мефиристад, ҳамонест, ки мо дар ибтидо тавлид кардем.
Санҷиши ҳолати мувозинат аз консол Edge Gateway. Барои ин, ворид кунед ҳавзи loadbalancer хизматрасонӣ нишон.
Танзими хидматрасонии Monitor барои тафтиши ҳолати серверҳо дар ҳавз
Бо истифода аз Service Monitor мо метавонем ҳолати серверҳоро дар ҳавзи пуштибонӣ назорат кунем. Агар посух ба дархост мувофиқи интизорӣ набошад, серверро аз ҳавз хориҷ кардан мумкин аст, то он ягон дархости нав қабул накунад.
Бо нобаёнӣ, се усули санҷиш танзим карда мешаванд:
- TCP-монитор,
- монитор HTTP,
- HTTPS-монитор.
Биёед як нав эҷод кунем.
- Ба ҷадвали Мониторинги хидмат равед, + -ро клик кунед.
- Интихоб кунед:
- номи усули нав;
- фосилаи фиристодани дархостҳо,
- интизори ҷавоб,
- намуди мониторинг - дархости HTTPS бо истифода аз усули GET, рамзи ҳолати интизорӣ - 200 (OK) ва URL дархост.
- Ин насби монитори нави хидматрасониро анҷом медиҳад; акнун мо метавонем онро ҳангоми сохтани ҳавз истифода барем.
Муқаррар кардани қоидаҳои дархост
Қоидаҳои барнома як роҳи идоракунии трафик дар асоси триггерҳои муайян мебошанд. Бо ин асбоб мо метавонем қоидаҳои пешрафтаи мувозинати сарборӣ эҷод кунем, ки тавассути профилҳои барнома ё хидматҳои дигаре, ки дар Edge Gateway дастрас нестанд, имконнопазир аст.
- Барои сохтани қоида, ба ҷадвали Қоидаҳои Барномаҳои мувозинат гузаред.
- Ном, скриптро, ки қоидаро истифода мебарад, интихоб кунед ва Нигоҳ -ро пахш кунед.
- Пас аз сохтани қоида, мо бояд сервери виртуалии аллакай танзимшударо таҳрир кунем.
- Дар ҷадвали Advanced, қоидаеро, ки мо сохтаем, илова кунед.
Дар мисоли боло мо дастгирии tlsv1-ро фаъол кардем.
Якчанд мисоли дигар:
Трафикро ба ҳавзи дигар равона кунед.
Бо ин скрипт мо метавонем трафикро ба ҳавзи дигари мувозинат равона кунем, агар ҳавзи асосӣ қатъ шавад. Барои кор кардани қоида, ҳавзҳои сершумор бояд дар мувозинат танзим карда шаванд ва ҳамаи аъзои ҳавзи асосӣ бояд дар ҳолати поён бошанд. Шумо бояд номи ҳавзро муайян кунед, на ID-и он.
acl pool_down nbsrv(PRIMARY_POOL_NAME) eq 0
use_backend SECONDARY_POOL_NAME if PRIMARY_POOL_NAME
Трафикро ба манбаи беруна равона кунед.
Дар ин ҷо мо трафикро ба вебсайти беруна равона мекунем, агар ҳамаи аъзоёни ҳавзи асосӣ хомӯш бошанд.
acl pool_down nbsrv(NAME_OF_POOL) eq 0
redirect location http://www.example.com if pool_down
Ҳатто мисолҳои бештар
Ин ҳама барои ман дар бораи баланскунанда аст. Агар шумо ягон савол дошта бошед, пурсед, ман омодаам ҷавоб диҳам.
Манбаъ: will.com