அனைவருக்கும் வணக்கம்! பாடநெறி இன்று தொடங்குகிறது
- AWS Load Balance என்றால் என்ன என்பதைப் புரிந்து கொள்ளுங்கள்;
- எலாஸ்டிக் லோட் பேலன்சரின் வகைகள் மற்றும் அதன் கூறுகளை அறிந்து கொள்ளுங்கள்;
- உங்கள் நடைமுறையில் AWS ELB ஐப் பயன்படுத்தவும்.
இதை நீங்கள் ஏன் தெரிந்து கொள்ள வேண்டும்?
- நீங்கள் AWS சான்றிதழ் தேர்வுகளை எடுக்க திட்டமிட்டால் பயனுள்ளதாக இருக்கும்;
- சேவையகங்களுக்கு இடையில் சுமைகளை விநியோகிக்க இது ஒரு எளிய வழியாகும்;
- உங்கள் சேவையில் (ALB) லாம்ப்டாவைச் சேர்க்க இது ஒரு எளிய வழியாகும்.
திறந்த பாடம் நடத்தினார்
அறிமுகம்
எலாஸ்டிக் லோட் பேலன்சர் என்றால் என்ன என்பதை கீழே உள்ள வரைபடத்தில் காணலாம், இது ஒரு எளிய உதாரணத்தைக் காட்டுகிறது:
லோட் பேலன்சர் கோரிக்கைகளை ஏற்றுக்கொண்டு அவற்றை நிகழ்வுகள் முழுவதும் விநியோகிக்கும். எங்களிடம் ஒரு தனி நிகழ்வு உள்ளது, லாம்ப்டா செயல்பாடுகள் உள்ளன மற்றும் ஆட்டோஸ்கேலிங் குழு உள்ளது (சேவையகங்களின் குழு).
AWS ELB வகைகள்
1. முக்கிய வகைகளைப் பார்ப்போம்:
கிளாசிக் லோட் பேலன்சர். AWS இன் முதல் லோட் பேலன்சர், OSI லேயர் 4 மற்றும் லேயர் 7 இரண்டிலும் வேலை செய்கிறது, HTTP, HTTPS, TCP மற்றும் SSL ஆகியவற்றை ஆதரிக்கிறது. இது பல Amazon EC2 நிகழ்வுகளில் அடிப்படை சுமை சமநிலையை வழங்குகிறது மற்றும் கோரிக்கை மற்றும் இணைப்பு நிலைகள் இரண்டிலும் செயல்படுகிறது. அதை திறப்போம் (சாம்பல் நிறத்தில் சிறப்பிக்கப்பட்டுள்ளது):
இந்த பேலன்சர் காலாவதியானதாகக் கருதப்படுகிறது, எனவே இது சில சந்தர்ப்பங்களில் மட்டுமே பயன்படுத்த பரிந்துரைக்கப்படுகிறது. எடுத்துக்காட்டாக, EC2-கிளாசிக் நெட்வொர்க்கில் உருவாக்கப்பட்ட பயன்பாடுகளுக்கு. கொள்கையளவில், அதை உருவாக்குவதை யாரும் தடுக்கவில்லை:
2. நெட்வொர்க் லோட் பேலன்சர். அதிக பணிச்சுமைகளுக்கு ஏற்றது, OSI லேயர் 4 இல் இயங்குகிறது (EKS மற்றும் ECS இல் பயன்படுத்தலாம்), TCP, UDP மற்றும் TLS ஆகியவை ஆதரிக்கப்படுகின்றன.
Network Load Balancer ஆனது Amazon VPC இல் உள்ள இலக்குகளுக்கு போக்குவரத்தை வழிநடத்துகிறது மற்றும் அதி-குறைந்த தாமதத்துடன் வினாடிக்கு மில்லியன் கணக்கான கோரிக்கைகளை செயலாக்கும் திறன் கொண்டது. கூடுதலாக, திடீர் மற்றும் மாறும் சுமைகளுடன் போக்குவரத்து முறைகளைக் கையாள இது உகந்ததாக உள்ளது.
3. அப்ளிகேஷன் லோட் பேலன்சர். லேயர் 7 இல் வேலை செய்கிறது, லாம்ப்டா ஆதரவைக் கொண்டுள்ளது, தலைப்பு மற்றும் பாதை நிலை விதிகளை ஆதரிக்கிறது, HTTP மற்றும் HTTPS ஐ ஆதரிக்கிறது.
மைக்ரோ சர்வீஸ்கள் மற்றும் கொள்கலன்கள் உட்பட நவீன கட்டமைப்புகளில் கட்டமைக்கப்பட்ட பயன்பாடுகளை வழங்குவதில் கவனம் செலுத்தும் மேம்பட்ட கோரிக்கை ரூட்டிங் வழங்குகிறது. கோரிக்கையின் உள்ளடக்கத்தின் அடிப்படையில் Amazon VPC இல் உள்ள இலக்குகளுக்கு போக்குவரத்தை வழிநடத்துகிறது.
பல பயனர்களுக்கு, கிளாசிக் லோட் பேலன்சரை மாற்றுவதற்கான முதல் தேர்வாக அப்ளிகேஷன் லோட் பேலன்சர் இருந்தது, ஏனெனில் TCP HTTP போல பொதுவானதல்ல.
அதையும் உருவாக்குவோம், இதன் விளைவாக எங்களிடம் ஏற்கனவே இரண்டு சுமை பேலன்சர்கள் இருக்கும்:
இருப்பு கூறுகளை ஏற்றவும்
பொதுவான சுமை இருப்பு கூறுகள் (அனைத்து சமநிலையாளர்களுக்கும் பொதுவானது):
- அணுகல் பதிவு கொள்கை
— உங்கள் ELB அணுகல் பதிவுகள். அமைப்புகளை உருவாக்க, நீங்கள் விளக்கத்திற்குச் சென்று, "பண்புகளைத் திருத்து" பொத்தானைத் தேர்ந்தெடுக்கவும்:
பின்னர் S3Bucket - Amazon பொருள் சேமிப்பகத்தைக் குறிப்பிடுகிறோம்:
- திட்டம்
- உள் அல்லது வெளிப்புற சமநிலை. உங்கள் LoadBalancer வெளியில் இருந்து அணுகுவதற்கு வெளிப்புற முகவரிகளைப் பெற வேண்டுமா அல்லது அது உங்கள் உள் சுமை சமநிலையாக இருக்க வேண்டுமா என்பதுதான் முக்கிய விஷயம்.
- பாதுகாப்பு குழுக்கள்
- சமநிலைக்கான அணுகல் கட்டுப்பாடு. அடிப்படையில் இது ஒரு உயர்நிலை ஃபயர்வால் ஆகும்.
- சப்நெட்டுகள்
— உங்கள் VPC க்குள் சப்நெட்கள் (மற்றும், அதன்படி, கிடைக்கும் மண்டலம்). உருவாக்கத்தின் போது சப்நெட்கள் குறிப்பிடப்படுகின்றன. VPCகள் பிராந்தியத்தின் அடிப்படையில் வரையறுக்கப்பட்டிருந்தால், சப்நெட்டுகள் கிடைக்கும் மண்டலங்களால் வரையறுக்கப்படும். ஒரு சுமை சமநிலையை உருவாக்கும் போது, குறைந்தபட்சம் இரண்டு சப்நெட்களில் அதை உருவாக்குவது நல்லது (ஒரு கிடைக்கும் மண்டலத்தில் சிக்கல்கள் ஏற்பட்டால் உதவுகிறது);
- கேட்போர்
- உங்கள் சமநிலை நெறிமுறைகள். முன்பே குறிப்பிட்டது போல், கிளாசிக் லோட் பேலன்சருக்கு HTTP, HTTPS, TCP மற்றும் SSL ஆகவும், நெட்வொர்க் லோட் பேலன்சருக்கு - TCP, UDP மற்றும் TLS ஆகவும், அப்ளிகேஷன் லோட் பேலன்சருக்கு - HTTP மற்றும் HTTPS ஆகவும் இருக்கலாம்.
கிளாசிக் லோட் பேலன்சருக்கான எடுத்துக்காட்டு:
ஆனால் அப்ளிகேஷன் லோட் பேலன்சரில் நாம் சற்று வித்தியாசமான இடைமுகத்தையும் பொதுவாக வேறுபட்ட தர்க்கத்தையும் காண்கிறோம்:
லோட் பேலன்சர் v2 கூறுகள் (ALB மற்றும் NLB)
இப்போது பதிப்பு 2 பேலன்சர்கள் அப்ளிகேஷன் லோட் பேலன்சர் மற்றும் நெட்வொர்க் லோட் பேலன்சர் ஆகியவற்றைக் கூர்ந்து கவனிப்போம். இந்த பேலன்சர்கள் அவற்றின் சொந்த கூறு அம்சங்களைக் கொண்டுள்ளன. எடுத்துக்காட்டாக, இலக்கு குழுக்கள் போன்ற ஒரு கருத்து தோன்றியது - நிகழ்வுகள் (மற்றும் செயல்பாடுகள்). இந்தக் கூறுக்கு நன்றி, நாங்கள் எந்த இலக்குக் குழுக்களுக்கு போக்குவரத்தை இயக்க விரும்புகிறோம் என்பதைக் குறிப்பிட எங்களுக்கு வாய்ப்பு உள்ளது.
எளிமையான சொற்களில், இலக்கு குழுக்களில் போக்குவரத்து வரும் நிகழ்வுகளை நாங்கள் குறிப்பிடுகிறோம். அதே கிளாசிக் லோட் பேலன்சரில் நீங்கள் உடனடியாக தீவிரத்தை பேலன்சருடன் இணைத்தால், அப்ளிகேஷன் லோட் பேலன்சரில் நீங்கள் முதலில்:
- ஒரு சுமை சமநிலையை உருவாக்கவும்;
- ஒரு இலக்கு குழுவை உருவாக்கவும்;
- தேவையான போர்ட்கள் வழியாக நேரடியாக அல்லது தேவையான இலக்கு குழுக்களுக்கு ஏற்ற சமநிலை விதிகள்;
- இலக்கு குழுக்களில் நீங்கள் நிகழ்வுகளை ஒதுக்குகிறீர்கள்.
இந்த இயக்க தர்க்கம் மிகவும் சிக்கலானதாக தோன்றலாம், ஆனால் உண்மையில் இது மிகவும் வசதியானது.
அடுத்த கூறு கேட்போர் விதிகள் (ரூட்டிங் விதிகள்). இது அப்ளிகேஷன் லோட் பேலன்சருக்கு மட்டுமே பொருந்தும். நெட்வொர்க் லோட் பேலன்சரில் நீங்கள் ஒரு கேட்பவரை உருவாக்கி, அது குறிப்பிட்ட இலக்குக் குழுவிற்கு போக்குவரத்தை அனுப்பினால், அப்ளிகேஷன் லோட் பேலன்சரில் எல்லாம்
இப்போது அடுத்த கூறு பற்றி சில வார்த்தைகள் சொல்லலாம் - மீள் ஐபி (NLBக்கான நிலையான முகவரிகள்). Listener விதிகள் ரூட்டிங் விதிகள் Application Load Balancerஐ மட்டும் பாதித்தால், Elastic IP ஆனது Network Load Balancerஐ மட்டுமே பாதித்தது.
நெட்வொர்க் லோட் பேலன்சரை உருவாக்குவோம்:
உருவாக்கும் செயல்பாட்டின் போது மீள் ஐபியைத் தேர்ந்தெடுப்பதற்கான வாய்ப்பு எங்களுக்கு வழங்கப்படுவதைக் காண்போம்:
எலாஸ்டிக் IP ஆனது, காலப்போக்கில் வெவ்வேறு EC2 நிகழ்வுகளுடன் தொடர்புபடுத்தக்கூடிய ஒற்றை IP முகவரியை வழங்குகிறது. ஒரு EC2 நிகழ்வில் ஒரு மீள் IP முகவரி இருந்தால், அந்த நிகழ்வு நிறுத்தப்பட்டால் அல்லது நிறுத்தப்பட்டால், நீங்கள் உடனடியாக ஒரு புதிய EC2 நிகழ்வை மீள் IP முகவரியுடன் இணைக்கலாம். இருப்பினும், உண்மையான EC2 மாறியிருந்தாலும், பயன்பாடுகள் அதே ஐபி முகவரியைப் பார்ப்பதால், உங்கள் தற்போதைய பயன்பாடு செயல்படுவதை நிறுத்தாது.
இங்கே
அமேசான் அவற்றை காலப்போக்கில் மாற்றுகிறது, ஒருவேளை ஒவ்வொரு 60 விநாடிகளிலும் (ஆனால் நடைமுறையில், நிச்சயமாக, குறைவாக அடிக்கடி). இதன் பொருள் IP முகவரிகள் மாறலாம். நெட்வொர்க் லோட் பேலன்சரைப் பொறுத்தவரை, நீங்கள் ஒரு ஐபி முகவரியைப் பிணைத்து அதை உங்கள் விதிகள், கொள்கைகள் போன்றவற்றில் குறிப்பிடலாம்.
முடிவுகளை வரையவும்
ELB ஆனது பல இலக்குகள் (கன்டெய்னர்கள், Amazon EC2 நிகழ்வுகள், IP முகவரிகள் மற்றும் Lambda செயல்பாடுகள்) முழுவதும் உள்வரும் போக்குவரத்தின் தானியங்கி விநியோகத்தை வழங்குகிறது. ELB ஆனது, ஒரே ஒரு கிடைக்கும் மண்டலத்திற்குள்ளும் மற்றும் பல கிடைக்கும் மண்டலங்களிலும் பல்வேறு சுமைகளுடன் போக்குவரத்தை விநியோகிக்கும் திறன் கொண்டது. அதிக கிடைக்கும் தன்மை, ஆட்டோஸ்கேலிங் மற்றும் நல்ல பாதுகாப்பை வழங்கும் மூன்று வகையான பேலன்சர்களில் இருந்து பயனர் தேர்வு செய்யலாம். உங்கள் பயன்பாடுகளின் தவறு சகிப்புத்தன்மையை உறுதிப்படுத்த இவை அனைத்தும் முக்கியம்.
முக்கிய நன்மைகள்:
- அதிக கிடைக்கும். சேவை ஒப்பந்தம் லோட் பேலன்சருக்கு 99,99% கிடைக்கும் என்று கருதுகிறது. எடுத்துக்காட்டாக, ஆரோக்கியமான பொருட்களால் மட்டுமே போக்குவரத்து செயலாக்கப்படுவதை பல கிடைக்கும் மண்டலங்கள் உறுதி செய்கின்றன. உண்மையில், நீங்கள் முழுப் பகுதியிலும் சுமையை சமப்படுத்தலாம், வெவ்வேறு கிடைக்கும் மண்டலங்களில் உள்ள ஆரோக்கியமான இலக்குகளுக்கு போக்குவரத்தை திருப்பி விடலாம்;
- பாதுகாப்பு. ELB ஆனது Amazon VPC உடன் வேலை செய்கிறது, பல்வேறு பாதுகாப்பு திறன்களை வழங்குகிறது - ஒருங்கிணைந்த சான்றிதழ் மேலாண்மை, பயனர் அங்கீகாரம் மற்றும் SSL/TLS மறைகுறியாக்கம். அனைத்தும் சேர்ந்து TLS அமைப்புகளின் மையப்படுத்தப்பட்ட மற்றும் நெகிழ்வான நிர்வாகத்தை வழங்குகிறது;
- நெகிழ்ச்சி. நெட்வொர்க் போக்குவரத்தில் திடீர் மாற்றங்களை ELB கையாள முடியும். ஆட்டோ ஸ்கேலிங்குடன் ஆழமான ஒருங்கிணைப்பு, கைமுறை தலையீடு தேவையில்லாமல், சுமை மாறினால், பயன்பாட்டிற்கு போதுமான ஆதாரங்களை வழங்குகிறது;
- நெகிழ்வு. உங்கள் பயன்பாடுகளின் இலக்குகளுக்கு கோரிக்கைகளை அனுப்ப ஐபி முகவரிகளைப் பயன்படுத்தலாம். இலக்கு பயன்பாடுகளை மெய்நிகராக்கும் போது இது நெகிழ்வுத்தன்மையை வழங்குகிறது, இதனால் ஒரே நிகழ்வில் பல பயன்பாடுகளை ஹோஸ்ட் செய்யும் திறனை வழங்குகிறது. பயன்பாடுகள் ஒரு நெட்வொர்க் போர்ட்டைப் பயன்படுத்துவதோடு, தனித்தனி பாதுகாப்புக் குழுக்களைக் கொண்டிருப்பதால், மைக்ரோ சர்வீஸ் அடிப்படையிலான கட்டமைப்பைக் கொண்டிருக்கும் போது, பயன்பாடுகளுக்கு இடையேயான தொடர்பு எளிமைப்படுத்தப்படுகிறது;
- கண்காணிப்பு மற்றும் தணிக்கை. Amazon CloudWatch அம்சங்களைப் பயன்படுத்தி நீங்கள் நிகழ்நேரத்தில் பயன்பாடுகளைக் கண்காணிக்கலாம். நாங்கள் அளவீடுகள், பதிவுகள், கோரிக்கை கண்காணிப்பு பற்றி பேசுகிறோம். எளிமையான சொற்களில், நீங்கள் சிக்கல்களை அடையாளம் காண முடியும் மற்றும் செயல்திறன் தடைகளை மிகவும் துல்லியமாக சுட்டிக்காட்டலாம்;
- கலப்பின சுமை சமநிலை. அதே சுமை சமநிலையைப் பயன்படுத்தி வளாகத்தில் உள்ள ஆதாரங்கள் மற்றும் AWS இடையே சமநிலையை ஏற்றும் திறன், வளாகத்தில் உள்ள பயன்பாடுகளை மேகக்கணிக்கு நகர்த்துவதை அல்லது விரிவாக்குவதை எளிதாக்குகிறது. மேகத்தைப் பயன்படுத்தி தோல்வியைக் கையாள்வதும் எளிமைப்படுத்தப்படுகிறது.
நீங்கள் விவரங்களில் ஆர்வமாக இருந்தால், அதிகாரப்பூர்வ அமேசான் வலைத்தளத்திலிருந்து இன்னும் சில பயனுள்ள இணைப்புகள் இங்கே:
ஆதாரம்: www.habr.com