Amazon ECS और Amazon EC2 में क्या अंतर है?


127

मैं अभी AWS EC2 पर शुरुआत कर रहा हूं। मैं समझता हूं कि EC2 एक दूरस्थ कंप्यूटर की तरह है जहां मैं अपनी इच्छानुसार सब कुछ कर सकता हूं। तब मुझे ईसीएस के बारे में पता चला। मुझे पता है कि यह डॉकर का उपयोग करता है, लेकिन मैं इन दोनों के संबंधों के बारे में उलझन में हूं।

ईसीएस ईसी 2 में सिर्फ एक डॉकटर स्थापित है? अगर मेरे पास पहले से ईसी 2 है और मैं एक ईसीएस शुरू करता हूं, तो क्या इसका मतलब है कि मेरे दो उदाहरण हैं?

जवाबों:


169

आपका प्रश्न

ईसीएस ईसी 2 में केवल एक डॉकटर स्थापित है? अगर मेरे पास पहले से ईसी 2 है, तो मैं एक ईसीएस शुरू करता हूं, इसका मतलब है कि मेरे पास दो उदाहरण हैं?

नहीं , उदाहरणों AWS ECSका सिर्फ एक तार्किक समूह (क्लस्टर) है EC2, और मेजबान के रूप EC2में एक ECSअधिनियम के सभी उदाहरणों का हिस्सा है। Dockerईसीएस उन पर कंटेनर लॉन्च करने के लिए कमांड भेज सकता है ( EC2)। यदि आपके पास पहले से ही EC2 है, और फिर ECS लॉन्च करें, तो आपके पास अभी भी एक ही उदाहरण होगा। यदि आप ईसीएस ईसीएस कंटेनर एजेंट (एडब्ल्यूएस ईसीएस कंटेनर एजेंट को स्थापित करके) जोड़ते हैं, तो यह क्लस्टर का हिस्सा बन जाएगा, लेकिन अभी भी ईसी 2 का एक ही उदाहरण है।

अमेजन ईसीएस बिना कोई ईसी 2 पंजीकृत (क्लस्टर में जोड़ा गया) कुछ भी नहीं के लिए अच्छा है।


टी एल; डॉ

एक सिंहावलोकन

  • EC2 - बस एक रिमोट (आभासी) मशीन है।
  • ECSके लिए खड़ा है Elastic Container Service- की मूल परिभाषा के अनुसार कंप्यूटर क्लस्टर , ECSमूल रूप से की तार्किक समूहीकरण है EC2मशीनों / उदाहरणों । तकनीकी रूप से बोलना ECSआपके EC2 उदाहरण (संसाधनों) के भंडारण, मेमोरी, सीपीयू इत्यादि के कुशल उपयोग और प्रबंधन के लिए एक मात्र विन्यास है ।

इसे और सरल बनाने के लिए, यदि आपने इसके Amazon ECSसाथ कोई EC2उदाहरण नहीं जोड़ा है, तो यह आपके लिए कुछ भी अच्छा नहीं है, अर्थात आप इसके बारे में कुछ नहीं कर सकते। ECSकेवल एक बार (या अधिक) EC2उदाहरणों को इसमें जोड़ा जाता है।

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

आपको केवल एक लॉन्च करने की आवश्यकता है ECS, और इसे पंजीकृत करें / उतने ही EC2उदाहरण जोड़ें जितनी आपको आवश्यकता हो। आप EC2 इंस्टेंसेस को जोड़ / पंजीकृत कर सकते हैं, आपको बस अपनी EC2 इंस्टेंस / मशीन पर चल रहे Amazon ECS कंटेनर एजेंट की आवश्यकता है, जो विशेष AMI (Amazon मशीन इमेज) अर्थात Amazon ECS- अनुकूलित AMI, जो पहले से ही मैन्युअल रूप से या सीधे उपयोग किया जा सकता है अमेज़न ईसीएस कंटेनर एजेंट। एक नए EC2 इंस्टेंस के लॉन्च के दौरान एजेंट अपने आप को डिफ़ॉल्ट ECS क्लस्टर में पंजीकृत करता है।

क्लस्टर के भीतर प्रत्येक इंस्टेंसेस ( इंस्टेंसेस) पर चलने वाला कंटेनर एजेंट उदाहरण के वर्तमान चल रहे कार्यों और अमेज़ॅन ईसीएस के संसाधन उपयोग के बारे में जानकारी भेजता है, और अमेज़ॅन ईसीएस से अनुरोध प्राप्त होने पर कार्यों को शुरू और बंद कर देता है। अधिक जानकारी के लिए, Amazon ECS कंटेनर एजेंट देखें । एक बार सेट होने पर, प्रत्येक निर्मित कंटेनर इंस्टेंस (जो भी मशीन / नोड का) एक उदाहरण है ।EC2Amazon ECSEC2Amazon ECS


अधिक जानकारी के लिए - इस दस्तावेज़ से चरण 10 पढ़ें: Amazon ECS कंटेनर इंस्टेंस लॉन्च करना :

अपने कंटेनर उदाहरण के लिए एक AMI चुनें। आप अमेज़ॅन ईसीएस-अनुकूलित एएमआई, या एक अन्य ऑपरेटिंग सिस्टम, जैसे कि कोरओएस या उबंटू चुन सकते हैं। यदि आप अमेज़ॅन ईसीएस-अनुकूलित एएमआई का चयन नहीं करते हैं, तो आपको अमेज़ॅन ईसीएस कंटेनर एजेंट को स्थापित करने में प्रक्रियाओं का पालन करना होगा

डिफ़ॉल्ट रूप से, आपका कंटेनर उदाहरण आपके डिफ़ॉल्ट क्लस्टर में लॉन्च होता है। यदि आप डिफ़ॉल्ट के बजाय अपने स्वयं के क्लस्टर में लॉन्च करना चाहते हैं, तो उन्नत विवरण सूची का चयन करें और अपने डेटा को अपने क्लस्टर के नाम के साथ बदलकर उपयोगकर्ता डेटा फ़ील्ड में निम्न स्क्रिप्ट पेस्ट करें।

#!/bin/bash
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config

या, यदि आपके पास Amazon S3 में एक ecs.config फ़ाइल है और उसने Amazon S3 को केवल आपके कंटेनर इंस्टेंस भूमिका तक पहुँचने में सक्षम किया है, तो उन्नत विवरण सूची का चयन करें और निम्न स्क्रिप्ट को उपयोगकर्ता डेटा फ़ील्ड में पेस्ट करें, अपने_bucketname को नाम के साथ प्रतिस्थापित करें आपकी बाल्टी AWS CLI स्थापित करने और लॉन्च समय पर अपनी कॉन्फ़िगरेशन फ़ाइल लिखने के लिए। नोट इस कॉन्फ़िगरेशन के बारे में अधिक जानकारी के लिए, Amazon S3 में Stor कंटेनर इंस्टेंस कॉन्फ़िगरेशन देखें।

#!/bin/bash
yum install -y aws-cli
aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config

बस इसे और स्पष्ट करने के लिए - आप EC2बिना अपने एकल उदाहरण के कंटेनर बना सकते हैं ECS। किसी भी कंटेनरीकरण तकनीक को स्थापित करें, अर्थात Docker, EC2एक Dockerमेजबान के रूप में सेटिंग कंटेनर कमांड को चलाएं , और Dockerजितने चाहें कंटेनर रखें (या जितना आपके EC2संसाधनों की अनुमति हो)।


8
क्या ECS लोचदार कंटेनर सेवा के लिए खड़ा नहीं है?
lfk

1
यह ध्यान दिया जाना चाहिए कि यह उत्तर अब 2018 की शुरुआत में AWS Fargate के लॉन्च की तारीख से काफी हद तक बाहर है (जो ECS चलाता है): aws.amazon.com/fargate
bsplosion

77

सरल शब्दों में, ईसीएस एक प्रबंधक है जबकि EC2 उदाहरण कर्मचारियों की तरह हैं। इस प्रबंधक (ईसीएस) के तहत सभी कर्मचारी (ईसी 2) "डॉकटर" कार्य कर सकते हैं और प्रबंधक "डॉकटर" को भी अच्छी तरह से समझता है। इसलिए, जब भी आपको "docker" संसाधनों की आवश्यकता होती है, तो आप प्रबंधक को दिखाते हैं। प्रबंधक के पास पहले से ही प्रत्येक कर्मचारी (EC2) की स्थिति है जो यह तय करता है कि किसे कार्य करना चाहिए।

अब, आपके प्रश्न पर वापस आते हुए, एक "कर्मचारी" के बिना प्रबंधक का कोई मतलब नहीं है।

यहाँ छवि विवरण दर्ज करें


बहुत अच्छी व्याख्या। आपके मुकाबले!
Matley

ठीक है, आपके पास ईसीएस के बिना ईसी 2 उदाहरण हो सकते हैं लेकिन यह एक साधारण वायरल मशीन की तरह होगा।
ली रेमन

31

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

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


3

सीधे शब्दों में कहें, इलास्टिक कंटेनर सर्विस (ECS) एक डॉकटर कंटेनर ऑर्केस्ट्रेशन सेवा है।

आप इसे एक या एक से अधिक डॉकर चित्रों को चलाने के लिए कह सकते हैं, या तो ऑटो-स्केलिंग सक्षम " सेवा " के रूप में या एड-हॉक " टास्क " के रूप में।

सेवाएं और कार्य एक " क्लस्टर " पर चलते हैं । मूल रूप से, एक क्लस्टर ECS क्लस्टर एजेंट को चलाने वाले एक या अधिक पूर्व-कॉन्फ़िगर EC2 सर्वरों का एक समूह था। क्लस्टर एजेंट EC2 सर्वर पर कंटेनरों को शेड्यूल करेगा। ये EC2 सर्वर आपकी EC2 इंस्टेंस सूची में दिखाई देते हैं और नियमित EC2 प्रति मिनट की लागत से शुल्क लिया जाता है - आप किसी भी सामान्य EC2 सर्वर की तरह उन पर भी SSH कर सकते हैं। यदि आप अधिक सेवाएँ या कार्य चलाने की अधिक क्षमता चाहते थे, या यदि आप EC2 की विफलता के विरुद्ध लचीलापन चाहते थे, तो आप EC2 सर्वरों को अधिक उपयोग करेंगे।

नवंबर 2017 के आसपास, AWS ने ECS Fargate को जोड़ा । अब एक क्लस्टर EC2 नोड्स के प्रावधान के बिना "सर्वर रहित" चला सकता है। आप बस सीपीयू की मात्रा को परिभाषित करते हैं और आपके कार्य या सेवा को मेमोरी की आवश्यकता होती है, जिसका अर्थ है कि आप केवल ईसी 2 के बजाय सीपीयू और मेमोरी समय के लिए भुगतान करते हैं।


2

ठीक है, जैसा कि आप जानते हैं कि EC2 AWS पर एक वर्चुअल मशीन है और ECS AWS पर कंटेनर ऑर्केस्ट्रेशन सिस्टम है।

ईसीएस का उपयोग करने के लिए, आपको अपने कंटेनर को कुछ आभासी मशीनों में चलाने की आवश्यकता है जो ईसी 2 प्रदान करने के लिए एक विकल्प है।

ecs-agentईसीएस के साथ संबंध बनाने के लिए आपको EC2 पर इंस्टॉल करना होगा । और ईसीएस आपके ईसी 2 पर संसाधन उपयोग की निगरानी भी कर सकता है। इसलिए मूल रूप से आप अधिक उच्च-स्तरीय EC2 प्रकार चुनते हैं, तो आपके कंटेनर का अधिक संसाधन (CPU / MEM) उपयोग कर सकते हैं।


0

मेजर अंतर Fargate उदाहरण है कि ECS प्रदान करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.