AWS Lambda सेट अप करना
पूर्वापेक्षाएँ
- AWS खाता: सुनिश्चित करें कि आपके पास सक्रिय AWS अकाउंट है। यहाँ साइन अप करें।
- IAM यूज़र सेटअप: AWS Lambda के लिए परमिशन के साथ एक IAM यूज़र बनाएँ। निर्देशों के लिए IAM गाइड देखें।
डेवलपमेंट एनवायरनमेंट सेट अप करना
- AWS CLI इंस्टॉल करें: AWS CLI डाउनलोड और इंस्टॉल करें। इसे अपने IAM क्रेडेंशियल्स से कॉन्फ़िगर करें।
- Python या Node.js सेट अप करें: Python या Node.js अपने पसंदीदा रनटाइम के अनुसार इंस्टॉल करें। AWS Lambda कई रनटाइम्स सपोर्ट करता है। हम इस ट्यूटोरियल में Python रनटाइम का उपयोग करेंगे।
चरण 1: AWS Lambda कंसोल तक पहुँचें
- लॉग इन करें AWS मैनेजमेंट कंसोल में।
- Lambda सेवा पर जाएँ।

AWS कंसोल में नेविगेशन डैशबोर्ड।
नेविगेशन मेनू में Lambda पर क्लिक करें और डैशबोर्ड देखें:

AWS कंसोल में AWS Lambda डैशबोर्ड।
चरण 2: नया फ़ंक्शन बनाएँ
- क्लिक करें Create Function।
- “Author from Scratch” चुनें।
- अपने फ़ंक्शन का नाम दें।
- रनटाइम चुनें (जैसे, Python 3.11)।
- Create Function बटन पर क्लिक करें।

नया AWS Lambda फ़ंक्शन बनाएँ।
कुछ सेकंड लगेंगे। फ़ंक्शन बनते ही शीर्ष पर सफल होने का संदेश दिखाई देगा।
चरण 3: अपना फ़ंक्शन कोड लिखें

सरल कोड संपादन के लिए AWS Lambda ब्राउज़र IDE।
चरण 4: अपनी Lambda फ़ंक्शन का परीक्षण करें
इस समय, यह फ़ंक्शन केवल यह स्ट्रिंग लौटाता है “Hello from Lambda!”।
न कोई लॉजिक, न डिपेंडेंसी—कुछ भी नहीं।
हमारे पास lambda_function.py नाम की एक Python स्क्रिप्ट है जिसमें lambda_handler() नाम का फ़ंक्शन है जो एक स्ट्रिंग लौटाता है।
अब हम बस Test बटन पर क्लिक करके इसका परीक्षण कर सकते हैं।

ब्राउज़र में अपनी AWS Lambda फ़ंक्शन का परीक्षण करें।
हमारी फ़ंक्शन कोई इनपुट नहीं लेती, इसलिए आप “Event JSON” हटा सकते हैं। एक इवेंट नाम दें और Invoke बटन पर क्लिक करें।

AWS Lambda फ़ंक्शन का सफल परीक्षण।
फ़ंक्शन सफलतापूर्वक निष्पादित हुआ और संदेश लौटाया गया।
वाह! हमने अभी AWS Lambda का उपयोग करके एक सर्वरलेस फ़ंक्शन डिप्लॉय किया। यह अभी बहुत कुछ नहीं करता, लेकिन यह चल रहा है। हर बार जब यह फ़ंक्शन इनवोक होगा, यह एक सरल स्ट्रिंग लौटाएगा।
इवेंट्स के साथ Lambda को ट्रिगर करना
जैसा कि बताया गया, AWS Lambda आर्किटेक्चर आपको विभिन्न AWS सेवाओं से आने वाले विशिष्ट इवेंट्स के प्रत्युत्तर में फ़ंक्शंस ट्रिगर करने देता है, जिससे वर्कफ़्लोज़ ऑटोमेट करने और सिस्टम्स को इंटीग्रेट करने का बहुमुखी तरीका मिलता है।
S3 बकेट में फ़ाइल अपलोड्स, DynamoDB टेबल में अपडेट्स, या API Gateway के माध्यम से API कॉल्स जैसे इवेंट्स Lambda फ़ंक्शंस को इनवोक कर सकते हैं, जिससे रीयल-टाइम प्रोसेसिंग और स्केलेबल निष्पादन संभव होता है।
1. S3 ट्रिगर सेट अप करना
- S3 कंसोल पर जाएँ।
- S3 बकेट चुनें।
- Properties के अंतर्गत, ऑब्जेक्ट बनाए जाने पर अपनी Lambda फ़ंक्शन को ट्रिगर करने हेतु एक इवेंट नोटिफिकेशन जोड़ें।
AWS S3 बकेट में इवेंट नोटिफिकेशन बनाएँ।
S3 में ट्रिगर के लिए Lambda फ़ंक्शन चुनें।
उदाहरण उपयोग के मामले:
-
- S3 पर अपलोड की गई इमेज को स्वतः रीसाइज़ करना।
- वीडियो को स्ट्रीमिंग के लिए कई रेज़ोल्यूशंस या फ़ॉर्मैट्स में कन्वर्ट करना।
- अपलोड के समय फाइल फ़ॉर्मैट, आकार या मेटाडेटा की जाँच करना।
- AI का उपयोग कर अपलोडेड डॉक्युमेंट्स से टेक्स्ट निकालना (जैसे, Amazon Textract के माध्यम से)।
2. API Gateway इंटीग्रेशन
- API Gateway सेवा पर जाएँ।

AWS कंसोल में API Gateway सेवा डैशबोर्ड।
- एक नया REST API बनाएँ।

API Gateway के माध्यम से नया REST API बनाएँ।
- एक मेथड (जैसे, POST) कॉन्फ़िगर करें जो आपकी Lambda फ़ंक्शन को ट्रिगर करे।
उदाहरण उपयोग के मामले:
-
- रीयल-टाइम प्रतिक्रियाओं के लिए सर्वरलेस API बनाएँ।
- Lambda फ़ंक्शन ट्रिगर करके उपयोगकर्ता डेटा बनाएं और डेटाबेस में स्टोर करें।
- POST अनुरोधों को हैंडल करके कस्टमर ऑर्डर्स को रीयल-टाइम में प्रोसेस और वैलिडेट करें।
- Lambda फ़ंक्शन ट्रिगर करके डेटाबेस या API से डेटा क्वेरी करें और वापस करें।
AWS Lambda का डिप्लॉयमेंट और मॉनिटरिंग
AWS Lambda फ़ंक्शंस को डिप्लॉय करना सीधा है और आपकी ज़रूरतों के अनुसार विभिन्न तरीकों से किया जा सकता है, जैसे मैनुअल डिप्लॉयमेंट के लिए AWS मैनेजमेंट कंसोल या स्वचालन के लिए AWS CLI।
1. AWS कंसोल के माध्यम से मैनुअल डिप्लॉयमेंट
AWS मैनेजमेंट कंसोल Lambda फ़ंक्शंस को डिप्लॉय करने के लिए एक सहज वेब इंटरफ़ेस देता है। यह तरीका छोटे प्रोजेक्ट्स या त्वरित बदलावों के लिए आदर्श है। यहाँ कंसोल का उपयोग करके Lambda फ़ंक्शन डिप्लॉय करने के चरण दिए गए हैं:
- फ़ंक्शन बनाएँ या एडिट करें:
- AWS मैनेजमेंट कंसोल में लॉग इन करें।
- AWS Lambda पर नेविगेट करें।
- नया फ़ंक्शन सेट अप करने के लिए Create Function पर क्लिक करें या किसी मौजूदा फ़ंक्शन को अपडेट करने के लिए चुनें।
- अपना कोड अपलोड करें:
- Upload from चुनें और .zip फाइल या कंटेनर इमेज का चयन करें।
- छोटे स्तर के विकास के लिए आप इंटीग्रेटेड कोड एडिटर में सीधे फ़ंक्शन कोड एडिट कर सकते हैं।
- फ़ंक्शन कॉन्फ़िगर करें:
- अपने उपयोग मामले के आधार पर एनवायरनमेंट वेरिएबल्स, मेमोरी आबंटन और टाइमआउट लिमिट्स निर्धारित करें।
- अन्य AWS सेवाओं के साथ इंटरैक्शन की अनुमति देने के लिए AWS IAM रोल्स का उपयोग कर आवश्यक परमिशन जोड़ें।
- बदलाव डिप्लॉय करें:
- बदलाव सहेजने और सक्रिय करने के लिए Deploy पर क्लिक करें।
- मैन्युअल रूप से फ़ंक्शन इनवोक करने और अपेक्षित रूप से काम करने की पुष्टि करने के लिए Test फीचर का उपयोग करें।
2. AWS CLI का उपयोग कर स्वचालित डिप्लॉयमेंट
ऑटोमेशन या बारंबार अपडेट्स के लिए AWS CLI, Lambda फ़ंक्शंस को डिप्लॉय और अपडेट करने का प्रभावी तरीका है। यह स्थिरता सुनिश्चित करता है और विशेषकर बड़े प्रोजेक्ट्स या CI/CD पाइपलाइनों में मैनुअल त्रुटियों को कम करता है।
चरण 1 - डिप्लॉयमेंट पैकेज तैयार करें
अपने कोड और डिपेंडेंसीज़ को एक .zip फाइल में पैक करें। उदाहरण:
zip -r my-deployment-package.zip .
चरण 2 - CLI का उपयोग कर फ़ंक्शन डिप्लॉय करें
नया कोड AWS Lambda पर अपलोड करने के लिए update-function-code कमांड का उपयोग करें:
aws lambda update-function-code \
--function-name MyFunction \
--zip-file fileb://my-deployment-package.zip
चरण 3 - डिप्लॉयमेंट जाँचें
डिप्लॉयमेंट के बाद, फ़ंक्शन की स्थिति की पुष्टि करने के लिए यह कमांड चलाएँ:
aws lambda get-function --function-name MyFunction
यह कमांड फ़ंक्शन का कॉन्फ़िगरेशन प्राप्त करती है और डिप्लॉयमेंट की पुष्टि करती है।
CloudWatch के साथ Lambda की मॉनिटरिंग
मॉनिटरिंग यह सुनिश्चित करने के लिए महत्वपूर्ण है कि आपकी Lambda फ़ंक्शंस कुशलतापूर्वक चलें, त्रुटियों को सही ढंग से संभालें, और परफॉर्मेंस अपेक्षाओं को पूरा करें। AWS Lambda, Amazon CloudWatch के साथ इंटेग्रेशन कर मॉनिटरिंग और लॉगिंग क्षमताएँ प्रदान करता है।
Amazon CloudWatch स्वतः आपकी Lambda फ़ंक्शंस के प्रमुख मेट्रिक्स एकत्र और प्रदर्शित करता है। ये मेट्रिक्स फ़ंक्शन के परफॉर्मेंस का विश्लेषण और समस्याओं की ट्रबलशूटिंग में मदद करते हैं।
मॉनिटर करने योग्य मेट्रिक्स:
- Invocations: आपके फ़ंक्शन के इनवोक होने की संख्या ट्रैक करता है। ट्रैफिक पैटर्न और उपयोग के रुझान समझने में सहायक।
- Errors: फ़ंक्शन निष्पादन के दौरान त्रुटियों की संख्या दिखाता है। विफलता दर पहचानने और समस्याएँ डीबग करने में उपयोगी।
- Duration: फ़ंक्शन के निष्पादन में लगा समय मापता है। परफॉर्मेंस अनुकूलन और लागत प्रबंधन के लिए अहम।
- Throttles: कंकरेन्सी लिमिट के कारण थ्रॉटल की गई इनवोकेशंस की संख्या दिखाता है।
मेट्रिक्स तक पहुँचना:
- CloudWatch Metrics Console पर जाएँ।
- सूची में से Lambda चुनें।
- विस्तृत मेट्रिक्स देखने के लिए जिस फ़ंक्शन की निगरानी करनी है उसे चुनें।
AWS Lambda के सर्वश्रेष्ठ अभ्यास
अब जब आपने अपना पहला Lambda फ़ंक्शन डिप्लॉय कर लिया है, तो भविष्य के जटिल प्रोजेक्ट्स के लिए कुछ सर्वोत्तम अभ्यास जानना उपयोगी है। इस अनुभाग में, मैं कुछ बातों का ध्यान रखने योग्य सुझाव देता/देती हूँ।
1. फ़ंक्शन के कोल्ड स्टार्ट्स को अनुकूलित करें
कोल्ड स्टार्ट तब होते हैं जब Lambda फ़ंक्शन निष्क्रिय रहने के बाद इनवोक होता है, जिससे AWS द्वारा एक्ज़ीक्यूशन एनवायरनमेंट प्रोविजन करने के कारण थोड़ी लेटेंसी आती है। हालाँकि AWS इस ओवरहेड को न्यूनतम रखता है, आप कोल्ड स्टार्ट समय कम करने के लिए ये कदम उठा सकते हैं:
छोटे डिप्लॉयमेंट पैकेज का उपयोग करें
- केवल आवश्यक डिपेंडेंसीज़ शामिल करके अपने डिप्लॉयमेंट पैकेज को हल्का रखें।
- AWS Lambda Layers जैसे टूल का उपयोग करें ताकि सामान्य लाइब्रेरीज़ (जैसे AWS SDK) को अलग से साझा किया जा सके और व्यक्तिगत पैकेजों में शामिल न करना पड़े।
- जहाँ संभव हो, कोड को कंप्रेस और मिनिफ़ाई करें, विशेषकर JavaScript या Python आधारित फ़ंक्शंस के लिए।
फ़ंक्शन में भारी इनिशियलाइज़ेशन से बचें
रिसोर्स-इंटेंसिव इनिशियलाइज़ेशन (जैसे डेटाबेस कनेक्शन, API क्लायंट्स, या थर्ड-पार्टी लाइब्रेरीज़) को फ़ंक्शन हैंडलर के बाहर रखें। इससे कोड प्रति एनवायरनमेंट केवल एक बार चलेगा और आगे की इनवोकेशंस में पुन: उपयोग होगा।
Provisioned Concurrency का लाभ लें
महत्वपूर्ण और लेटेंसी-संवेदनशील फ़ंक्शंस के लिए Provisioned Concurrency का उपयोग करें ताकि एक्ज़ीक्यूशन एनवायरनमेंट हमेशा तैयार रहे। इससे अतिरिक्त लागत आती है, लेकिन उच्च-प्राथमिकता वाले वर्कलोड्स के लिए कम लेटेंसी सुनिश्चित होती है।
2. फ़ंक्शंस को स्टेटलेस रखें
स्टेटलेसनेस सर्वरलेस आर्किटेक्चर का बुनियादी सिद्धांत है, जिससे आपकी एप्लिकेशन सहज रूप से स्केल होती है:
इन-मेमोरी डेटा पर निर्भरता से बचें
Lambda फ़ंक्शंस अल्पकालिक होते हैं, यानी उनका एक्ज़ीक्यूशन एनवायरनमेंट अस्थायी होता है और इनवोकेशंस के बीच बना रहना आवश्यक नहीं है। इन-मेमोरी वेरिएबल्स पर निर्भर होने के बजाय, स्टेट जानकारी को DynamoDB, S3, या Redis जैसे बाहरी सिस्टम्स में स्टोर करें।
Idempotency सक्षम करें
अपने फ़ंक्शंस को डुप्लिकेट इवेंट्स को सहजता से संभालने हेतु डिज़ाइन करें। अनुरोधों के लिए यूनिक आइडेंटिफ़ायर्स का उपयोग करें और लॉग्स या डेटाबेस में जाँचें कि एक ही इवेंट कई बार प्रोसेस न हो।
3. एनवायरनमेंट वेरिएबल्स का उपयोग करें
एनवायरनमेंट वेरिएबल्स आपकी Lambda फ़ंक्शंस को कॉन्फ़िगर करने का सुरक्षित और सुविधाजनक तरीका हैं:
संवेदनशील जानकारी स्टोर करें
- API कीज़, डेटाबेस कनेक्शन स्ट्रिंग्स और अन्य सीक्रेट्स को एनवायरनमेंट वेरिएबल्स के रूप में स्टोर करें। AWS Lambda इन्हें “at rest” एन्क्रिप्ट करता है और निष्पादन के दौरान डिक्रिप्ट करता है।
- अतिरिक्त सुरक्षा के लिए, AWS Secrets Manager या Systems Manager Parameter Store का उपयोग कर सीक्रेट्स को डायनैमिक रूप से प्रबंधित करें।
कॉन्फ़िगरेशन प्रबंधन सरल करें
लॉग लेवल्स, रीजन सेटिंग्स, या थर्ड-पार्टी सेवा URLs जैसी कॉन्फ़िगरेशन को प्रबंधित करने के लिए एनवायरनमेंट वेरिएबल्स का उपयोग करें। इससे हार्डकोडेड वैल्यूज़ की ज़रूरत समाप्त होती है और आपका फ़ंक्शन विभिन्न एनवायरनमेंट्स (जैसे dev, staging, prod) में अधिक पोर्टेबल बनता है।
निष्कर्ष
इस ट्यूटोरियल में AWS Lambda के साथ शुरुआत करने की गाइड दी गई—इसकी विशेषताओं और उपयोग मामलों को समझने से लेकर फ़ंक्शंस को प्रभावी ढंग से डिप्लॉय और मॉनिटर करने तक। कोल्ड स्टार्ट्स को अनुकूलित करना, फ़ंक्शंस को स्टेटलेस रखना, और एनवायरनमेंट वेरिएबल्स का उपयोग करना जैसे सर्वोत्तम अभ्यास अपनाकर आप मजबूत और रखरखाव योग्य सर्वरलेस एप्लिकेशन बना सकते हैं।
AWS Lambda आधुनिक, इवेंट-ड्रिवन आर्किटेक्चर बनाने का एक तरीका है जो AWS इकोसिस्टम के साथ इंटीग्रेट होता है। यदि आप इसके बारे में और सीखना चाहते हैं, तो मैं अनुशंसा करता/करती हूँ कि DataCamp के AWS कोर्सेज देखें।

AWS Lambda एक शक्तिशाली सर्वरलेस कम्प्यूट सेवा है जो आपको बिना इन्फ्रास्ट्रक्चर प्रबंधन के कोड चलाने देती है, ताकि आप सर्वर प्रोविजनिंग या मेंटेनेंस की चिंता किए बिना केवल कोड लिखने पर ध्यान केंद्रित कर सकें।
इस ट्यूटोरियल में, हम AWS Lambda का अन्वेषण करेंगे—पहला फ़ंक्शन सेट अप करने से लेकर अन्य AWS सेवाओं के साथ एकीकरण तक। चाहे आप डेटा स्ट्रीम प्रोसेस कर रहे हों या API बना रहे हों, यह गाइड आपको AWS Lambda के साथ सर्वरलेस डिप्लॉयमेंट शुरू करने में मदद करेगा।
AWS Lambda क्या है?
AWS Lambda, Amazon Web Services (AWS) द्वारा प्रदत्त सर्वरलेस कम्प्यूटिंग प्लेटफ़ॉर्म है जो डेवलपर्स को सर्वर प्रोविजनिंग या प्रबंधन के बिना कोड चलाने की सुविधा देता है। AWS Lambda यह काम आवश्यकतानुसार आपके फ़ंक्शंस को निष्पादित करने के लिए संसाधनों का डायनैमिक रूप से आबंटन करके करता है, और आपको पूर्व-आवंटित सर्वर क्षमता के बजाय वास्तविक उपयोग के आधार पर शुल्क लेता है।
एप्लिकेशन विकास का यह तरीका पारंपरिक इन्फ्रास्ट्रक्चर सेटअप की ज़रूरत को समाप्त करता है, जिससे आप केवल कोड लिखने और डिप्लॉय करने पर ध्यान दे सकते हैं।
AWS Lambda इवेंट-ड्रिवन है, यानी यह अन्य AWS सेवाओं से आने वाली विशिष्ट घटनाओं से ट्रिगर होता है, जिससे यह उत्तरदायी, स्केलेबल और लागत-कुशल समाधानों के लिए आदर्श बनता है।
पारंपरिक डिप्लॉयमेंट विधियाँ सर्वर सेट अप और प्रबंधन की मांग करती हैं, जिसमें स्केलिंग, अपडेटिंग और पैचिंग शामिल होते हैं। ये कार्य अस्थिर वर्कलोड्स के लिए समय लेने वाले, महंगे और कम प्रभावी हो सकते हैं। इसके विपरीत, सर्वरलेस डिप्लॉयमेंट इन ओवरहेड्स को समाप्त कर देता है और बॉक्स से बाहर ऑटोमैटिक स्केलिंग और उच्च उपलब्धता प्रदान करता है।
AWS Lambda की विशेषताएँ
Lambda के सामान्य उपयोग
AWS Lambda कैसे काम करता है?
AWS Lambda इवेंट-ड्रिवन मॉडल पर काम करता है, यानी यह विशिष्ट ट्रिगर्स या इवेंट्स के प्रत्युत्तर में कोड निष्पादित करता है। Lambda की कार्यक्षमता की कुंजी अन्य AWS सेवाओं के साथ इसका एकीकरण और ऑन-डिमांड फ़ंक्शंस चलाने की क्षमता है। आइए चरण-दर-चरण समझें कि AWS Lambda कैसे काम करता है:
Lambda और अन्य मुख्य AWS सेवाओं का उपयोग करती एक आर्किटेक्चर डायग्राम का उदाहरण। इमेज स्रोत: AWS.
1. AWS Lambda फ़ंक्शंस को ट्रिगर करना
AWS Lambda फ़ंक्शंस विभिन्न AWS सेवाओं या बाहरी सिस्टम्स से आने वाले इवेंट्स द्वारा आरंभ किए जाते हैं। सामान्य इवेंट सोर्सेज में शामिल हैं:
2. एक्ज़ीक्यूशन एनवायरनमेंट
जब कोई इवेंट किसी Lambda फ़ंक्शन को ट्रिगर करता है, तो AWS स्वतः कोड चलाने के लिए एक एक्ज़ीक्यूशन एनवायरनमेंट बनाता है। इस एनवायरनमेंट में शामिल होते हैं:
3. कंकरेन्सी और स्केलिंग
AWS Lambda स्वचालित स्केलिंग सपोर्ट करता है, जो आपके फ़ंक्शन की कई इंस्टेंस समानांतर में चलाकर होता है। यह बिना किसी अतिरिक्त कॉन्फ़िगरेशन के पारदर्शी रूप से स्केल करता है। कंकरेन्सी इस प्रकार काम करती है:
4. अन्य AWS सेवाओं के साथ इंटीग्रेशन
मजबूत, एंड-टू-एंड समाधान बनाने के लिए AWS Lambda, AWS सेवाओं के साथ गहराई से इंटीग्रेट होता है:
अब, अपनी पहली Lambda फ़ंक्शन सेट अप करना शुरू करते हैं!