Cloud & IT Cert Prep · पाठ

SSL टर्मिनेशन और स्टिकी सेशन

ACM प्रमाणपत्रों का उपयोग करके लोड बैलेंसर पर TLS का भार घटाइए और स्टेटफुल वर्कलोड में क्लाइंट संबद्धता आवश्यक होने पर स्टिकी सेशन सक्षम कीजिए।

पाठ 4, कुल 4 में से13 चरण

SSL टर्मिनेशन और स्टिकी सेशन, CoddyKit पर Cloud & IT Cert Prep का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Cloud & IT Cert Prep सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Cloud & IT Cert Prep पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

लोड बैलेंसर पर SSL/TLS समाप्ति

SSL/TLS समाप्ति का अर्थ है कि लोड बैलेंसर आने वाले HTTPS ट्रैफ़िक को डिक्रिप्ट करता है, सादे टेक्स्ट वाले HTTP अनुरोध का निरीक्षण करता है (रूटिंग निर्णयों के लिए), और फिर बैकएंड को भेजने से पहले आवश्यकता पड़ने पर अनुरोध को दोबारा एन्क्रिप्ट करता है। जब समाप्ति ALB पर होती है, तो आपके एप्लिकेशन सर्वर लोड बैलेंसर से अनएन्क्रिप्टेड HTTP ट्रैफ़िक प्राप्त कर सकते हैं, जिससे बैकएंड कॉन्फ़िगरेशन सरल हो जाता है।

लोड बैलेंसर पर समाप्ति से एप्लिकेशन सर्वरों पर CPU का भार कम होता है (प्रत्येक कनेक्शन के लिए TLS हैंडशेक की आवश्यकता नहीं होती), सामग्री-आधारित रूटिंग सक्षम होती है (जिसमें HTTP हेडर पढ़ना आवश्यक है), और प्रमाणपत्र प्रबंधन केंद्रीकृत होता है।

AWS Certificate Manager (ACM) एकीकरण

AWS प्रमाणपत्र प्रबंधक (ACM) बिना किसी अतिरिक्त लागत के SSL/TLS प्रमाणपत्रों का प्रावधान, प्रबंधन और नवीनीकरण करता है। ALB और NLB का ACM के साथ सीधा एकीकरण है: आप HTTPS listener कॉन्फ़िगरेशन में ACM प्रमाणपत्र चुनते हैं और लोड बैलेंसर उससे जुड़ने वाले क्लाइंट को वह प्रमाणपत्र प्रस्तुत करता है।

समाप्ति से पहले ACM प्रमाणपत्रों का स्वचालित रूप से नवीनीकरण हो जाता है—न मैन्युअल नवीनीकरण की आवश्यकता होती है, न ही समाप्त प्रमाणपत्रों के कारण सेवा बंद होने का जोखिम। सार्वजनिक प्रमाणपत्रों के लिए ACM, DNS सत्यापन (Route 53 में CNAME रिकॉर्ड) या ईमेल सत्यापन के माध्यम से डोमेन स्वामित्व की पुष्टि करता है। आंतरिक उपयोग के लिए ACM Private CA निजी प्रमाणपत्र जारी कर सकता है।

# Request a public certificate in ACM
aws acm request-certificate \
  --domain-name api.example.com \
  --subject-alternative-names '*.example.com' \
  --validation-method DNS \
  --region us-east-1

# Create an HTTPS listener using the ACM certificate
aws elbv2 create-listener \
  --load-balancer-arn arn:aws:elasticloadbalancing:us-east-1:123456789:loadbalancer/app/my-alb/abc \
  --protocol HTTPS \
  --port 443 \
  --ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06 \
  --certificates CertificateArn=arn:aws:acm:us-east-1:123456789:certificate/cert-id \
  --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-tg/xyz

सर्वर नाम संकेत (SNI)

SNI (सर्वर नाम संकेत) एक TLS एक्सटेंशन है, जो एक ही IP पते (और इसलिए एक ही ALB या NLB listener) को अलग-अलग डोमेन नामों के लिए कई TLS प्रमाणपत्र प्रस्तुत करने की सुविधा देता है। क्लाइंट जिस होस्टनाम तक पहुँचना चाहता है, उसे TLS ClientHello संदेश में शामिल करता है और लोड बैलेंसर उपयुक्त प्रमाणपत्र चुनता है।

ALB में SNI का मूल समर्थन है: आप एक ही HTTPS listener से कई ACM प्रमाणपत्र जोड़ सकते हैं। क्लाइंट के SNI होस्टनाम के आधार पर ALB सही प्रमाणपत्र अपने-आप चुनता है। इससे प्रत्येक डोमेन के लिए अलग listener या लोड बैलेंसर की आवश्यकता समाप्त हो जाती है और SSL के साथ वास्तविक वर्चुअल होस्टिंग संभव होती है।

# Add a second certificate to an existing HTTPS listener (SNI)
aws elbv2 add-listener-certificates \
  --listener-arn arn:aws:elasticloadbalancing:us-east-1:123456789:listener/app/my-alb/abc/lis456 \
  --certificates CertificateArn=arn:aws:acm:us-east-1:123456789:certificate/second-cert-id

SSL सुरक्षा नीतियाँ

ALB और NLB कॉन्फ़िगर की जा सकने वाली SSL सुरक्षा नीतियों का समर्थन करते हैं, जो नियंत्रित करती हैं कि लोड बैलेंसर क्लाइंट से TLS प्रोटोकॉल के किन संस्करणों और सिफ़र समूहों को स्वीकार करेगा। AWS पहले से परिभाषित नीतियाँ उपलब्ध कराता है (जैसे, ELBSecurityPolicy-TLS13-1-2-2021-06), जिन्हें नई कमज़ोरियाँ सामने आने पर अपडेट किया जाता है।

अनुपालन आवश्यकताएँ TLS के विशिष्ट संस्करण निर्धारित कर सकती हैं: PCI-DSS 3.2.1 के लिए कम से कम TLS 1.2 आवश्यक है; कई आधुनिक मानक TLS 1.0 और 1.1 को पूरी तरह अक्षम करने की सलाह देते हैं। ऐसी नीति चुनें जिसमें पुराने प्रोटोकॉल और कमज़ोर सिफ़र समूह शामिल न हों। आगे की गोपनीयता और बेहतर प्रदर्शन के लिए TLS 1.3 वाली नीतियों को प्राथमिकता दें।

# List available SSL policies
aws elbv2 describe-ssl-policies \
  --query 'SslPolicies[*].{Name:Name,TLSVersions:SslProtocols}' \
  --output table

एंड-टू-एंड एन्क्रिप्शन बनाम समाप्ति

ALB पर TLS के दो अलग-अलग तरीके:

  • SSL समाप्ति (सबसे सामान्य): ALB लोड बैलेंसर पर डिक्रिप्ट करता है और लक्ष्यों को साधारण HTTP भेजता है। यह सरल है, रूटिंग निरीक्षण सक्षम करता है और सर्वर का CPU भार कम करता है। VPC के भीतर बैकएंड ट्रैफ़िक अनएन्क्रिप्टेड रहता है।
  • एंड-टू-एंड TLS: ALB डिक्रिप्ट करने के बाद लक्ष्यों को भेजने से पहले दोबारा एन्क्रिप्ट करता है (ALB और लक्ष्य के बीच HTTPS)। इसमें अधिक CPU लगता है और लक्ष्यों पर प्रमाणपत्र आवश्यक होते हैं, लेकिन कड़े अनुपालन वाले मामलों में यह VPC के भीतर एन्क्रिप्शन सुनिश्चित करता है।

NLB के TLS पास-थ्रू मोड में: NLB बिल्कुल डिक्रिप्ट नहीं करता—यह कच्चा TCP उस लक्ष्य को भेजता है जो TLS संभालता है। एप्लिकेशन सर्वर अपना प्रमाणपत्र स्वयं प्रबंधित करता है।

स्टिकी सत्र: क्या और क्यों

स्टिकी सत्र (जिन्हें सत्र संबद्धता भी कहा जाता है) सुनिश्चित करते हैं कि एक ही क्लाइंट के सभी अनुरोध लगातार एक ही लक्ष्य समूह के एक ही लक्ष्य पर रूट हों। यह उन स्थिति-संपन्न एप्लिकेशन के लिए आवश्यक है जो सत्र डेटा साझा कैश (जैसे ElastiCache) के बजाय अलग-अलग सर्वरों की मेमोरी में संग्रहीत करते हैं।

स्टिकी सत्रों के बिना, स्थिति-रहित लोड बैलेंसर पहला अनुरोध सर्वर A को भेज सकता है (जहाँ सत्र संग्रहीत है) और दूसरा अनुरोध सर्वर B को (जहाँ सत्र डेटा नहीं है)। इससे उपयोगकर्ता को ऐसा लग सकता है कि वह लॉग आउट हो गया है या उसकी कार्ट की सामग्री खो गई है। स्टिकी सत्र किसी सत्र की अवधि तक क्लाइंट को एक विशिष्ट लक्ष्य से बाँधकर रखते हैं।

ALB पर कुकी-आधारित स्टिकीनस

ALB दो प्रकार की स्टिकी सत्र कुकी का समर्थन करता है:

  • अवधि-आधारित स्टिकीनस (LB द्वारा बनाई गई कुकी): ALB AWSALB नाम की कुकी बनाता है (ALB के लिए) और उसकी समाप्ति अवधि निर्धारित करता है। कुकी में लक्ष्य का एन्क्रिप्टेड संदर्भ होता है। बाद के अनुरोधों में क्लाइंट यह कुकी भेजता है।
  • एप्लिकेशन-आधारित स्टिकीनस: आपके एप्लिकेशन द्वारा निर्धारित मौजूदा कुकी का उपयोग करती है। ALB आपके द्वारा निर्दिष्ट कुकी नाम पढ़ता है, अपनी कुकी में उसका एन्क्रिप्टेड संस्करण बनाता है और मूल एप्लिकेशन कुकी को सुरक्षित रखते हुए स्टिकी रूटिंग के लिए उसका उपयोग करता है।

स्टिकीनस को प्रत्येक लक्ष्य समूह के लिए 1 सेकंड से 7 दिनों तक की अवधि के साथ कॉन्फ़िगर करें।

# Enable duration-based sticky sessions on a target group
aws elbv2 modify-target-group-attributes \
  --target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-tg/xyz \
  --attributes \
    Key=stickiness.enabled,Value=true \
    Key=stickiness.type,Value=lb_cookie \
    Key=stickiness.lb_cookie.duration_seconds,Value=86400

स्टिकी सत्रों की कमियाँ

स्टिकी सत्र स्थिति-संपन्न एप्लिकेशन की समस्या हल करते हैं, लेकिन इनके साथ कुछ समझौते भी करने पड़ते हैं:

  • असमान भार वितरण: कुछ लक्ष्यों को अधिक ट्रैफ़िक मिल सकता है यदि कुछ क्लाइंट असामान्य रूप से सक्रिय हों, जिससे लोड बैलेंसिंग का उद्देश्य ही कमज़ोर हो जाता है
  • स्केलिंग की सीमाएँ: यदि कोई स्टिकी लक्ष्य अस्वस्थ हो जाता है, तो सत्र टूट जाते हैं—क्लाइंट को नए लक्ष्य के साथ नया सत्र शुरू करना पड़ता है और मेमोरी में मौजूद सत्र डेटा खो जाता है
  • कम लोचशीलता: स्केल-इन घटनाओं के दौरान स्टिकी सत्र इंस्टेंस को धीरे-धीरे हटाना और समाप्त करना कठिन बना देते हैं

सर्वोत्तम अभ्यास: सत्र स्थिति को ElastiCache या DynamoDB में बाहरी रूप से संग्रहीत करके स्टिकी सत्रों की आवश्यकता समाप्त करें। इससे आपका एप्लिकेशन वास्तव में स्थिति-रहित बनता है और पूर्ण क्षैतिज स्केलिंग संभव होती है।

NLB TLS listener और पास-थ्रू

NLB, ALB की तरह, TLS समाप्ति के लिए पोर्ट 443 (या किसी भी पोर्ट) पर TLS listener का समर्थन करता है। NLB ट्रैफ़िक को डिक्रिप्ट करता है, आवश्यकता पड़ने पर दोबारा एन्क्रिप्ट करता है और लक्ष्यों को भेजता है। इसके बजाय, यदि आप TCP listener कॉन्फ़िगर करते हैं, तो NLB एन्क्रिप्टेड TCP ट्रैफ़िक को डिक्रिप्ट किए बिना पास-थ्रू कर सकता है—इस मोड में एप्लिकेशन सर्वर शुरू से अंत तक TLS संभालता है।

ACM के साथ NLB TLS समाप्ति, ALB जैसे ही प्रमाणपत्र प्रबंधन लाभ देती है, लेकिन HTTP स्तर की सुविधाओं के बिना। जब आपको TLS समाप्ति के साथ स्थिर IP चाहिए या आपका बैकएंड प्रोटोकॉल गैर-HTTP हो (जैसे, कस्टम TCP प्रोटोकॉल), तब NLB TLS समाप्ति का उपयोग करें।

कनेक्शन ड्रेनिंग और स्टिकी सत्रों का परस्पर प्रभाव

जब किसी स्टिकी लक्ष्य का पंजीकरण रद्द किया जाता है (जैसे, Auto Scaling स्केल-इन के दौरान), तो कनेक्शन ड्रेनिंग चल रहे अनुरोधों को पूरा होने देती है। हालांकि, ड्रेन किए जा रहे लक्ष्य की AWSALB कुकी अभी भी रखने वाले स्टिकी क्लाइंट के नए अनुरोध अपने-आप नए लक्ष्य को सौंपे जाते हैं—उस क्लाइंट की स्टिकीनस कुकी अमान्य कर दी जाती है।

पंजीकरण रद्द करने में विलंब और कुकी अमान्यकरण का यह संयोजन सुचारु बदलाव सुनिश्चित करता है: लंबे समय से चल रहे मौजूदा अनुरोध पूरे हो जाते हैं, जबकि उन क्लाइंट के नए अनुरोध अंतिम उपयोगकर्ता को त्रुटि दिखाई दिए बिना स्वस्थ लक्ष्यों पर सहजता से दोबारा रूट हो जाते हैं।

SSL और सत्र प्रबंधन के सर्वोत्तम अभ्यास

परीक्षा के लिए महत्वपूर्ण सर्वोत्तम अभ्यास:

  • स्वचालित नवीनीकरण के लिए ACM प्रमाणपत्र का उपयोग करें—लोड बैलेंसर पर प्रमाणपत्रों का प्रबंधन कभी भी मैन्युअल रूप से न करें
  • TLS 1.2+ सुरक्षा नीतियों का उपयोग करें; PCI/HIPAA अनुपालन के लिए TLS 1.0/1.1 अक्षम करें
  • स्टिकी सत्रों के बजाय स्थिति-रहित आर्किटेक्चर (ElastiCache/DynamoDB में सत्र) को प्राथमिकता दें
  • अलग-अलग लोड बैलेंसर पर कई प्रमाणपत्रों की आवश्यकता के बिना एक listener से कई डोमेन प्रस्तुत करने के लिए ALB पर SNI का उपयोग करें
  • कड़े अनुपालन के लिए (VPC में मौजूद डेटा का एन्क्रिप्टेड होना आवश्यक हो): केवल लोड बैलेंसर पर समाप्ति के बजाय, शुरू से अंत तक TLS वाले HTTPS लक्ष्य समूहों का उपयोग करें

त्वरित जाँच

इस पाठ में बताए गए AWS Solutions Architect (SAA-C03) से संबंधित अवधारणाओं की अपनी समझ जाँचें।

पाठ का पुनरावलोकन

इस पाठ में आपने सीखा: ACM प्रमाणपत्रों के साथ ALB SSL/TLS समाप्ति कई डोमेन के लिए स्वचालित नवीनीकरण और SNI प्रदान करती है, SSL सुरक्षा नीतियाँ अनुपालन के लिए TLS संस्करण और सिफ़र समूह नियंत्रित करती हैं, और स्टिकी सत्र स्थिति-संपन्न ऐप्स के उपयोगकर्ताओं को उसी लक्ष्य पर रूट करते हैं, लेकिन इन्हें सत्र स्थिति को ElastiCache में बाहरी रूप से संग्रहीत करके बदलना बेहतर है। आगे हम Auto Scaling Groups और लॉन्च टेम्पलेट का अध्ययन करेंगे।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Cloud & IT Cert Prep सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
150
पाठ
600

अक्सर पूछे जाने वाले प्रश्न

क्या “SSL टर्मिनेशन और स्टिकी सेशन” पाठ निःशुल्क है?

हाँ—“SSL टर्मिनेशन और स्टिकी सेशन” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Cloud & IT Cert Prep पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Cloud & IT Cert Prep पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“SSL टर्मिनेशन और स्टिकी सेशन” में मैं क्या सीखूँगा?

ACM प्रमाणपत्रों का उपयोग करके लोड बैलेंसर पर TLS का भार घटाइए और स्टेटफुल वर्कलोड में क्लाइंट संबद्धता आवश्यक होने पर स्टिकी सेशन सक्षम कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Cloud & IT Cert Prep का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Cloud & IT Cert Prep शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Cloud & IT Cert Prep शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“SSL टर्मिनेशन और स्टिकी सेशन” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Cloud & IT Cert Prep पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Cloud & IT Cert Prep पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. ALB बनाम NLB बनाम GLB: किसका उपयोग कब करें
  2. लक्ष्य समूह और हेल्थ चेक
  3. लिस्नर नियम और पथ-आधारित रूटिंग
  4. SSL टर्मिनेशन और स्टिकी सेशन
← Cloud & IT Cert Prep पर वापस जाएँ