ආයුබෝවන් සියල්ලටම! පාඨමාලාව අද ආරම්භ වේ
- AWS Load Balancing යනු කුමක්දැයි තේරුම් ගන්න;
- ඉලාස්ටික් ලෝඩ් බැලන්සර් වර්ග සහ එහි සංරචක දැන ගන්න;
- ඔබගේ භාවිතයේදී AWS ELB භාවිතා කරන්න.
ඔබ මෙය කිසිසේත් දැනගත යුත්තේ ඇයි?
- ඔබ AWS සහතික කිරීමේ විභාග කිරීමට අදහස් කරන්නේ නම් ප්රයෝජනවත් වේ;
- මෙය සේවාදායකයන් අතර බර බෙදා හැරීමට සරල ක්රමයකි;
- මෙය ඔබගේ සේවාවට (ALB) Lambda එකතු කිරීමේ සරල ක්රමයකි.
විවෘත පාඩමක් කළා
හැඳින්වීම
ඉලාස්ටික් ලෝඩ් බැලන්සර් යනු කුමක්ද යන්න පහත රූප සටහනෙහි දැකිය හැකිය, එය සරල උදාහරණයක් පෙන්වයි:
ලෝඩ් බැලන්සර් ඉල්ලීම් පිළිගෙන ඒවා අවස්ථා හරහා බෙදා හරියි. අපට වෙනම අවස්ථාවක් තිබේ, Lambda ශ්රිත ඇති අතර AutoScaling කණ්ඩායමක් (සේවාදායක සමූහයක්) ඇත.
AWS ELB වර්ග
1. ප්රධාන වර්ග දෙස බලමු:
ක්ලැසික් ලෝඩ් බැලන්සර්. AWS හි පළමු load balancer එක, OSI Layer 4 සහ Layer 7 යන දෙකෙහිම ක්රියා කරයි, HTTP, HTTPS, TCP සහ SSL සඳහා සහය දක්වයි. එය Amazon EC2 අවස්ථා කිහිපයක් හරහා මූලික පැටවුම් තුලනය සපයන අතර ඉල්ලීම් සහ සම්බන්ධතා මට්ටම් දෙකෙහිම ක්රියා කරයි. අපි එය විවෘත කරමු (අළු පැහැයෙන් උද්දීපනය කර ඇත):
මෙම සමතුලිතකය යල් පැන ගිය එකක් ලෙස සලකනු ලැබේ, එබැවින් එය ඇතැම් අවස්ථාවලදී පමණක් භාවිතා කිරීම සඳහා නිර්දේශ කරනු ලැබේ. උදාහරණයක් ලෙස, EC2-Classic ජාලය මත ගොඩනගා ඇති යෙදුම් සඳහා. ප්රතිපත්තිමය වශයෙන්, එය නිර්මාණය කිරීමෙන් කිසිවෙකු අපව වළක්වන්නේ නැත:
2. Network Load Balancer. අධික වැඩ බර සඳහා සුදුසු, OSI ස්ථරය 4 හි ක්රියා කරයි (EKS සහ ECS හි භාවිතා කළ හැක), TCP, UDP සහ TLS සහාය දක්වයි.
Network Load Balancer ඇමේසන් VPC හි ඉලක්ක වෙත ගමනාගමනය ගෙන යන අතර අතිශය අඩු ප්රමාදයකින් තත්පරයකට මිලියන ගණනක් ඉල්ලීම් සැකසීමට හැකියාව ඇත. මීට අමතරව, හදිසි සහ වෙනස් වන බර සමඟ ගමනාගමන රටා හැසිරවීමට එය ප්රශස්ත කර ඇත.
3. යෙදුම් පැටවුම් ශේෂය. 7 වන ස්ථරයේ ක්රියා කරයි, Lambda සහාය ඇත, ශීර්ෂක සහ මාර්ග මට්ටමේ රීති සඳහා සහය දක්වයි, HTTP සහ HTTPS සඳහා සහය දක්වයි.
ක්ෂුද්ර සේවා සහ බහාලුම් ඇතුළුව නවීන ගෘහ නිර්මාණ ශිල්පය මත ගොඩනගා ඇති යෙදුම් බෙදා හැරීම කෙරෙහි අවධානය යොමු කළ උසස් ඉල්ලීම් මාර්ගගත කිරීම් සපයයි. ඉල්ලීමේ අන්තර්ගතය මත පදනම්ව Amazon VPC හි ඉලක්ක වෙත ගමනාගමනය යොමු කරයි.
බොහෝ පරිශීලකයින් සඳහා, ක්ලැසික් ලෝඩ් බැලන්සර් ප්රතිස්ථාපනය කිරීමේ පළමු තේරීම වූයේ යෙදුම් ලෝඩ් බැලන්සර් ය, මන්ද TCP HTTP තරම් පොදු නොවේ.
අපි එය ද නිර්මාණය කරමු, එහි ප්රති result ලයක් ලෙස අපට දැනටමත් බර සමතුලිතයින් දෙකක් ඇත:
ශේෂ සංරචක පැටවීම
පොදු භාර ශේෂ සංරචක (සියලු සමතුලිතයින්ට පොදු):
- ප්රවේශ ලොග් කිරීමේ ප්රතිපත්තිය
- ඔබගේ ELB ප්රවේශ ලොග. සැකසීම් කිරීමට, ඔබට විස්තරය වෙත ගොස් "සංස්කරණ ගුණාංග" බොත්තම තෝරන්න:
එවිට අපි S3Bucket - Amazon වස්තු ගබඩාව සඳහන් කරමු:
- යෝජනා ක්රමය
- අභ්යන්තර හෝ බාහිර සමතුලිතකය. කාරණය වන්නේ ඔබේ LoadBalancer හට පිටතින් ප්රවේශ වීමට බාහිර ලිපින ලැබිය යුතුද, නැතහොත් එය ඔබගේ අභ්යන්තර බර සමතුලිතකය විය හැකිද යන්නයි;
- ආරක්ෂක කණ්ඩායම්
- balancer වෙත ප්රවේශ පාලනය. අත්යවශ්යයෙන්ම මෙය ඉහළ මට්ටමේ ගිනි පවුරකි.
- උපජාල
— ඔබේ VPC ඇතුළත උපජාල (සහ, ඒ අනුව, ලබා ගත හැකි කලාපය). නිර්මාණය කිරීමේදී උපජාල නියම කර ඇත. VPCs කලාපය අනුව සීමා වේ නම්, උපජාල ලබා ගත හැකි කලාප මගින් සීමා වේ. Load Balancer නිර්මාණය කිරීමේදී, එය අවම වශයෙන් උපජාල දෙකකින් නිර්මාණය කිරීම වඩා හොඳය (එක් ලබා ගත හැකි කලාපයක් සමඟ ගැටළු ඇති වුවහොත් උපකාරී වේ);
- අහන්න
- ඔබගේ සමතුලිත ප්රොටෝකෝල. කලින් සඳහන් කළ පරිදි, Classic Load Balancer සඳහා එය HTTP, HTTPS, TCP සහ SSL විය හැකිය, Network Load Balancer සඳහා - TCP, UDP සහ TLS සඳහා, යෙදුම් ලෝඩ් බැලන්සර් සඳහා - HTTP සහ HTTPS වේ.
Classic Load Balancer සඳහා උදාහරණය:
නමුත් Application Load Balancer හි අපට තරමක් වෙනස් අතුරු මුහුණතක් සහ සාමාන්යයෙන් වෙනස් තර්කයක් දක්නට ලැබේ:
පූරණ Balancer v2 සංරචක (ALB සහ NLB)
දැන් අපි අනුවාද 2 balancers Application Load Balancer සහ Network Load Balancer දෙස සමීපව බලමු. මෙම සමතුලිතකයන්ට ඔවුන්ගේම සංරචක ලක්ෂණ ඇත. උදාහරණයක් ලෙස, ඉලක්ක කණ්ඩායම් වැනි සංකල්පයක් දර්ශනය විය - අවස්ථා (සහ කාර්යයන්). මෙම සංරචකයට ස්තූතිවන්ත වන්නට, අපට ගමනාගමනය යොමු කිරීමට අවශ්ය ඉලක්ක කණ්ඩායම්වලින් කුමන ඒවා වෙතද යන්න සඳහන් කිරීමට අපට අවස්ථාව තිබේ.
සරලව කිවහොත්, ඉලක්ක කණ්ඩායම් තුළ අපි ගමනාගමනය පැමිණෙන අවස්ථා සඳහන් කරමු. එකම ක්ලැසික් ලෝඩ් බැලන්සරය තුළ ඔබ තීව්රතාවය වහාම සමතුලිතයට සම්බන්ධ කරන්නේ නම්, යෙදුම් ලෝඩ් බැලන්සරයේදී ඔබ පළමුව:
- ලෝඩ් බැලන්සර් එකක් සාදන්න;
- ඉලක්ක කණ්ඩායමක් සාදන්න;
- අවශ්ය වරායන් හරහා සෘජුවම හෝ අවශ්ය ඉලක්ක කණ්ඩායම් වෙත පැටවීම සමතුලිත කිරීමේ නීති;
- ඉලක්ක කණ්ඩායම් තුළ ඔබ අවස්ථා පවරයි.
මෙම මෙහෙයුම් තර්කනය වඩාත් සංකීර්ණ බවක් පෙනෙන්නට ඇත, නමුත් ඇත්ත වශයෙන්ම එය වඩාත් පහසු වේ.
ඊළඟ සංරචකය වේ සවන්දෙන්නන්ගේ නීති (මාර්ගගත කිරීම සඳහා නීති). මෙය අදාළ වන්නේ Application Load Balancer සඳහා පමණි. Network Load Balancer හි ඔබ හුදෙක් Listener එකක් සාදා, එය නිශ්චිත ඉලක්ක කණ්ඩායමකට ගමනාගමනය යවන්නේ නම්, Application Load Balancer හි සියල්ල
දැන් අපි ඊළඟ සංරචකය ගැන වචන කිහිපයක් කියමු - ඉලාස්ටික් අයිපී (NLB සඳහා ස්ථිතික ලිපින). Listener නීති රීති routing රීති බලපෑවේ Application Load Balancer එකට පමණක් නම්, Elastic IP බලපෑවේ Network Load Balancer එකට පමණි.
අපි Network Load Balancer එකක් සාදා ගනිමු:
නිර්මාණය කිරීමේ ක්රියාවලියේදී ප්රත්යාස්ථ IP තෝරා ගැනීමට අපට අවස්ථාව ලබා දී ඇති බව අපට පෙනෙනු ඇත:
ඉලාස්ටික් IP කාලයත් සමඟ විවිධ EC2 අවස්ථා සමඟ සම්බන්ධ කළ හැකි තනි IP ලිපිනයක් සපයයි. EC2 අවස්ථාවක ප්රත්යාස්ථ IP ලිපිනයක් තිබේ නම් සහ එම අවස්ථාව අවසන් වී හෝ නතර කර ඇත්නම්, ඔබට වහාම නව EC2 අවස්ථාවක් Elastic IP ලිපිනයක් සමඟ සම්බන්ධ කළ හැක. කෙසේ වෙතත්, සැබෑ EC2 වෙනස් වී ඇතත්, යෙදුම් තවමත් එකම IP ලිපිනය දකින බැවින්, ඔබගේ වත්මන් යෙදුම ක්රියා කිරීම නතර නොවේ.
මෙහි
Amazon ඒවා කාලයත් සමඟ වෙනස් කරයි, සමහර විට සෑම තත්පර 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 අතර ශේෂය පැටවීමේ හැකියාව වලාකුළට පරිශ්රයේ යෙදුම් සංක්රමණය කිරීම හෝ පුළුල් කිරීම පහසු කරයි. වලාකුළ භාවිතයෙන් අසාර්ථක හැසිරවීම ද සරල කර ඇත.
ඔබ විස්තර සඳහා උනන්දුවක් දක්වන්නේ නම්, නිල Amazon වෙබ් අඩවියෙන් තවත් ප්රයෝජනවත් සබැඳි කිහිපයක් මෙන්න:
මූලාශ්රය: www.habr.com