जब मैंने पहली बार AWS EC2 का उपयोग करना शुरू किया, तो मैंने सोचा कि मैं सिर्फ एक सर्वर को स्पिन कर रहा था। यही है कि अधिकांश ट्यूटोरियल कहते हैं। बस "एक उदाहरण लॉन्च करें" और आप अच्छे हैं। लेकिन मैं क्या नहीं जानता था यह था: EC2 सतह पर सरल है, लेकिन इसमें बहुत सारे छिपे हुए विवरण हैं जो आपको समय, पैसा और बुद्धि की लागत दे सकते हैं। यहाँ सब कुछ है जो मैं चाहता हूं कि किसी ने मुझे पहले EC2 का उपयोग करने से पहले बताया हो - ताकि आप मेरे द्वारा किए गए गलतियों से बच सकें। 1. सही उदाहरण प्रकार का चयन वैकल्पिक नहीं है पहला निर्णय जो आप करते हैं वह है संस्थान प्रकार. आप ऐसे नाम देखेंगे जैसे , , और इसी तरह। t2.micro t3.medium m5.large उस समय, मैंने सबसे सस्ता एक चुना - मुक्त जानवर, है ना? t2.micro लेकिन मेरा ऐप टूट रहा था। मैं समझ नहीं पा रहा था कि "बर्मस्टैबल" उदाहरण कैसे काम करते हैं। : What I learned t2.micro CPU क्रेडिट का उपयोग करता है. आप समय के साथ क्रेडिट कमाते हैं और उन्हें खर्च करते हैं जब आपके ऐप को अधिक CPU की आवश्यकता होती है। यदि आप एक लंबे समय तक चलने वाला प्रक्रिया चलाते हैं (जैसे एक बिल्ड या स्क्रिप्ट), तो आप क्रेडिट जल्दी से समाप्त कर सकते हैं। एक बार जब आप समाप्त हो जाते हैं, तो आपका संस्करण बहुत धीमा हो जाता है। : What to do instead यदि आप केवल प्रयोग कर रहे हैं या एक स्थिर साइट होस्ट कर रहे हैं, तो t2.micro ठीक है। यदि आपको पृष्ठभूमि कार्यों के लिए कुछ अधिक स्थिर की आवश्यकता है, तो t3 या m श्रृंखला का उपयोग करें। हमेशा अपने वास्तविक कार्य भार के साथ उदाहरण को समायोजित करें - मूल्य टैग नहीं। सुरक्षा समूह फायरवॉल हैं (और वे मायने रखते हैं) जब मैंने अपना EC2 संस्करण लॉन्च किया, तो मैं इसे SSH नहीं कर सकता था। मैंने सोचा कि यह टूट गया है। लेकिन यह सिर्फ एक - एक फायरवॉल का EC2 संस्करण - मेरी पहुंच को अवरुद्ध करता है। security group : What I learned डिफ़ॉल्ट रूप से, EC2 सभी प्रवेश ट्रैफ़िक को अवरुद्ध करता है। आपको बंदरगाहों को मैन्युअल रूप से खोलना होगा, यहां तक कि SSH (पार्ट 22) या HTTP (पार्ट 80) के लिए भी। यदि आप अपने ऐप को ब्राउज़र में देखना चाहते हैं, तो आपको पोर्ट 80 (या HTTPS के लिए 443) को सक्षम करने की आवश्यकता है। : What to do instead अपने उदाहरण को सेट करते समय, अपने आईपी से एसएसएच की अनुमति देने के लिए एक नियम जोड़ें। सार्वजनिक वेबसाइटों के लिए, HTTP और HTTPS की अनुमति दें। दुनिया के सभी बंदरगाहों को न खोलें. यह समस्याओं की मांग करता है. 3. EC2 सिर्फ एक खाली सर्वर है जब मैं अपने मामले में आया, मैंने टाइप किया मेरे Node App को चलाने के लिए node कमांड नहीं मिला » मैंने कोशिश की यह भी काम नहीं कर रहा था। git pull फिर यह मुझे मारता है - EC2 सिर्फ एक है कुछ भी पूर्व स्थापित नहीं होता है। bare OS : What I learned आपको सब कुछ स्थापित करने की आवश्यकता है: नोड, पायथन, जीट, Nginx, जो भी हो। कोई GUI नहीं है, केवल एक टर्मिनल है। यह मूल रूप से एक कंप्यूटर को क्लाउड से किराए पर लेने जैसा है। : What to do instead प्रारंभिक सेटिंग को स्वचालित करने के लिए एक स्टार्टअप स्क्रिप्ट का उपयोग करें। या अपने स्वयं के अनुकूलित AMI बनाएं एक बार जब सब कुछ आपके द्वारा वांछित तरीके से कॉन्फ़िगर किया जाता है। यदि आप अक्सर तैनात कर रहे हैं, तो पहले से स्थापित स्टैक के साथ Elastic Beanstalk या AWS AMI छवियों का उपयोग करने पर विचार करें। 4. EC2 आपके डेटा को संग्रहीत नहीं करता है जब तक कि आप इसे बताते हैं मैंने एक बार अपना EC2 संस्करण फिर से शुरू किया और मेरे सभी ऐप फ़ाइलें गायब हो गईं। चली गई। क्यों? मैं इस्तेमाल करता था - जो स्टॉप / स्टार्ट पर साफ धोता है। ephemeral storage : What I learned EC2 में दो मुख्य भंडारण प्रकार हैं: इंटेंस स्टोरेज (अस्थायी) और ईबीएस (स्थिर)। केवल EBS वॉल्यूम बंद होने के बाद आपके डेटा को बनाए रखते हैं। कुछ AMIs डिफ़ॉल्ट को instance store में रखते हैं जब तक कि कोई परिवर्तन न हो। : What to do instead हमेशा किसी भी महत्वपूर्ण चीज के लिए ईबीएस का उपयोग करें। अपने वॉल्यूम को नियमित रूप से स्नैपशॉट करें। यदि आपको और भी अधिक टिकाऊता की आवश्यकता है, तो इसके बजाय S3 पर फ़ाइलों को संग्रहीत करने पर विचार करें। सार्वजनिक आईपी बदल सकते हैं (यदि आप लचीले आईपी का उपयोग नहीं करते हैं) मैंने एक अच्छा छोटा ऐप बनाया, इसे EC2 पर तैनात किया, और अपने दोस्तों को आईपी भेजा। कुछ दिनों बाद, उन्होंने कहा कि यह काम नहीं कर रहा था। मैंने चेक किया. सार्वजनिक आईपी बदल गया था. : What I learned EC2 प्रत्येक बार जब आप स्टॉप और प्रारंभ करते हैं तो एक नया सार्वजनिक आईपी प्रदान करता है। यदि आप एक स्थिर आईपी चाहते हैं, तो आपको एक एलास्टिक आईपी का उपयोग करना होगा। : What to do instead EC2 > Elastic IPs पर जाएं और एक सेट करें। इसे अपने उदाहरण के साथ जोड़ें। अपने DNS को अपडेट करें या अपने फ्रंटेंड कोड में इस आईपी का उपयोग करें। नोट: आपको अप्रयुक्त Elastic IPs के लिए शुल्क दिया जाएगा, इसलिए जब आवश्यक नहीं होता है तो उन्हें रिलीज करें। SSH कुंजी जोड़े सब कुछ हैं आप केवल एक पासवर्ड के साथ लॉग इन नहीं कर सकते हैं। जब आप अपने इंस्टीट्यूट लॉन्च करते हैं, तो AWS एक यह फ़ाइल key pair .pem मैंने अपनी सोच को हटा दिया कि मुझे फिर से इसकी ज़रूरत नहीं है। बड़ी गलती : What I learned .pem फ़ाइल के बिना, आप इस संदर्भ में SSH नहीं कर सकते हैं। यदि आप इसे खो देते हैं, तो आपको एक नया संस्करण बनाने या एक स्नैपशॉट समाधान का उपयोग करने की आवश्यकता होगी। : What to do instead अपने कुंजी को सुरक्षित रखें। इसे कभी नहीं हटाएं जब तक कि आप मामले के साथ 100% पूरा न हों। एक पासवर्ड प्रबंधक या सुरक्षित बैकअप उपकरण का उपयोग करें। 7. आपको Auto Shutdown सेट करने की आवश्यकता है या आप भूल जाएंगे एक बार मैं एक महीने के लिए एक EC2 संस्करण चलाने के लिए छोड़ दिया। यह भी नहीं समझ पाया। जब तक यह बिल नहीं आया। : What I learned EC2 दूसरे के साथ चार्ज करता है, लेकिन केवल जब तक संस्करण चल रहा है। कोई चेतावनी या याद दिलाने नहीं है अगर कुछ चल रहा है। : What to do instead अप्रयुक्त उदाहरणों को रोकने के लिए एक कैलेंडर याद दिलाने सेट करें। खर्च पर चेतावनी प्राप्त करने के लिए AWS Budgets का उपयोग करें। आप एक Lambda फ़ंक्शन भी स्थापित कर सकते हैं ताकि स्वचालित रूप से निष्क्रिय EC2 संस्करणों को रोक सकें। 8. EC2 शक्तिशाली है, लेकिन हमेशा सबसे अच्छा विकल्प नहीं है यदि आप बस एक स्थिर वेबसाइट होस्ट करने की कोशिश कर रहे हैं, तो EC2 ओवरकील है। यदि आप Linux का उपयोग नहीं करना चाहते हैं। : What I learned EC2 आपको पूर्ण नियंत्रण देता है - जिसका अर्थ है पूर्ण जिम्मेदारी। For simpler use cases, AWS offers easier tools: for frontend apps Amplify for managed backends Elastic Beanstalk for WordPress or quick server setup Lightsail for serverless tasks Lambda : What to do instead सोचें कि आपको वास्तव में क्या चाहिए। यदि आप बस कुछ परीक्षण कर रहे हैं, तो EC2 ठीक है। लेकिन अपने आप को बुनियादी ढांचे का प्रबंधन करने के लिए मजबूर न करें जब तक कि इसका कोई अर्थ न हो। अंतिम विचार EC2 एक शक्तिशाली उपकरण है, लेकिन अधिकांश AWS सेवाओं की तरह, यह मानता है कि आप जानते हैं कि आप क्या कर रहे हैं। दस्तावेज हमेशा चीजों को सरल नहीं बनाता है। और एक छोटा सेटिंग घंटों की डिबगिंग या अप्रत्याशित लागत का कारण बन सकता है। लेकिन एक बार जब आप बुनियादी चीजों को समझते हैं - संस्करण, आईपी, भंडारण, फायरवॉल - ईसी 2 समझना शुरू कर देता है। यह एक उपकरण बन जाता है जिस पर आप भरोसा कर सकते हैं। बस याद रखें: EC2 को एक वास्तविक सर्वर की तरह व्यवहार करें. क्योंकि यह वास्तव में यही है। और थोड़ी तैयारी आपको बाद में बहुत सारी दर्द से बचाएगी।