ईसीएस की भूमिका आवश्यकता से भ्रमित


14

मैं एक ईसीएस स्थापित करने की कोशिश कर रहा हूं, लेकिन अभी तक मुझे कुछ अनुमति की समस्या का सामना करना पड़ा है जिसके लिए मैंने इस मंच पर पहले ही कुछ सवाल बनाए हैं।

मुझे लगता है कि मैं अब तक फंस गया हूं क्योंकि ईमानदारी से मैं इन सभी भूमिका आवश्यकताओं को एक स्थान पर नहीं समझ सकता।

ऐसा लगता है कि मुझे कम से कम दो भूमिकाओं को परिभाषित करने की आवश्यकता है:

1) ईसीएस कंटेनर http://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html

2) ईसीएस कार्य http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#enable_task_iam_roles

क्या यह सही है?

क्या मुझे कुछ याद आया? क्या कोई विशेष IAM आवश्यकता है?


यह स्पष्ट नहीं है कि समस्या क्या है। क्या आप विशिष्टताओं को शामिल करने के लिए अपने प्रश्न को संपादित कर सकते हैं?
EEAA

जवाबों:


25

केवल आवश्यक भूमिका कंटेनर इंस्टेंस IAM भूमिका है । यह भूमिका ईसीएस एजेंट (आपके ईसी 2 उदाहरण पर चल रही है) को अमेज़ॅन ईसीएस के साथ संवाद करने की अनुमति देती है।

पाँच अन्य भूमिकाएँ हैं जिन्हें आप अलग-अलग उद्देश्यों के लिए भी उपयोगी पा सकते हैं:

  • ईसीएस सेवा-लिंक्ड भूमिका (एसएलआर) - यह भूमिका अमेज़ॅन ईसीएस को आपकी ओर से आपके आवेदन से जुड़े विभिन्न प्रकार के एडब्ल्यूएस संसाधनों का प्रबंधन करने में सक्षम बनाती है। किसी सेवा का उपयोग करते समय , यह भूमिका अमेज़ॅन ईसीएस को आपकी सेवा से जुड़े लोड बैलेंसर (क्लासिक लोड बैलेंसर्स, एप्लिकेशन लोड बैलेंसर्स और नेटवर्क लोड बैलेंसर्स) और सेवा खोज ( रूट 53 के साथ) का प्रबंधन करने की अनुमति देती है । टास्क नेटवर्किंग का उपयोग करते समय , यह भूमिका अमेज़न ईसीएस को आपके कार्यों के लिए इलास्टिक नेटवर्क इंटरफेस (ईएनआई) को संलग्न करने और अलग करने की अनुमति देती है। AWS Fargate का उपयोग करते समय इस भूमिका की आवश्यकता होती है ।
  • सेवा शेड्यूलर IAM भूमिका - ECS सेवा-लिंक भूमिका (SLR) की शुरुआत से पहले, इस भूमिका का उपयोग सेवा के साथ संयोजन के रूप में किया गया था ताकि Amazon ECS को आपकी सेवा से जुड़े लोड बैलेंसर का प्रबंधन करने में सक्षम बनाया जा सके। यदि आप अपनी ECS सेवा के साथ एक इलास्टिक लोड बैलेंसर (चाहे एक क्लासिक लोड बैलेंसर, एक एप्लिकेशन लोड बैलेंसर, या एक नेटवर्क लोड बैलेंसर) का उपयोग करना चाहते हैं, आप इस भूमिका का उपयोग कर सकते हैं। अब जब ईसीएस एसएलआर उपलब्ध है तो आप दोनों में से किसी भी भूमिका का उपयोग कर सकते हैं, लेकिन अगर आप अमेजन ईसीएस को विशिष्ट लोड बैलेंसर संसाधनों को कवर करने के लिए दी गई अनुमति को प्रतिबंधित करना चाहते हैं, तो भी आप इस भूमिका का उपयोग करना चाह सकते हैं।
  • ऑटो स्केलिंग IAM भूमिका - इस भूमिका का उपयोग सेवा के साथ संयोजन के रूप में किया जाता है और एप्लिकेशन ऑटो स्केलिंग सेवा को आपकी सेवा की वांछित संख्या को अंदर या बाहर करने की अनुमति देता है।
  • टास्क IAM भूमिका - इस भूमिका का उपयोग किसी भी टास्क (एक सेवा द्वारा शुरू किए गए कार्य सहित ) के साथ किया जा सकता है । यह भूमिका एक EC2 इंस्टेंस प्रोफाइल के समान है , लेकिन आपको उन EC2 इंस्टेंस के बजाय व्यक्तिगत टास्क के साथ अनुमतियों को जोड़ने की अनुमति देता है जो उन टास्क को होस्ट कर रहे हैं। यदि आप अपने ECS क्लस्टर में विभिन्न अनुमतियों के साथ कई अलग-अलग एप्लिकेशन चला रहे हैं, तो आप प्रत्येक टास्क में विशिष्ट अनुमतियाँ देने के बजाय टास्क IAM भूमिका का उपयोग कर सकते हैं, यह सुनिश्चित करने के बजाय कि आपके क्लस्टर में प्रत्येक EC2 उदाहरण में अनुमतियों का संयुक्त सेट है, जिसे कोई भी आवेदन की आवश्यकता होगी।
  • कार्य निष्पादन भूमिका - AWS फ़रगेट का उपयोग करते समय इस भूमिका की आवश्यकता होती है और कंटेनर इंस्टेंस IAM भूमिका को प्रतिस्थापित करता है , जो FARGATEलॉन्च प्रकार के लिए अनुपलब्ध है । यह भूमिका AWS Fargate को Amazon ECR से आपकी कंटेनर छवियों को खींचने और Amazon CloudWatch लॉग में अपने लॉग को अग्रेषित करने में सक्षम बनाती है । AWS सीक्रेट्स मैनेजर और AWS सिस्टम मैनेजर Parameter Store से निजी रजिस्ट्री प्रमाणीकरण और रहस्यों को सक्षम करने के लिए इस भूमिका का उपयोग (दोनों Fargate और EC2 लॉन्च प्रकारों पर) किया जाता है ।

1

@ Samuel-karp की इस बहुत अच्छी व्याख्या के अलावा, आज मैं एक समस्या में भाग गया जब task_role_arnECS सेवाओं के लिए कस्टम के संयोजन में क्लासिक ELB से ALB की ओर पलायन कर रहा था ।

हालांकि मैंने लिंक के पीछे बताए गए निर्देशों का पालन किया Task IAM role, त्रुटि थी

भूमिका ग्रहण करने और निर्दिष्ट लक्ष्य समूह को मान्य करने में असमर्थ। कृपया सत्यापित करें कि पास की जा रही ईसीएस सेवा भूमिका की उचित अनुमति है।

बात यह है कि सेवा लोड बैलेंसर में खुद को पंजीकृत करने के लिए लगता है। यह केवल काम किया जब मैं से प्रधानाचार्य का आदान-प्रदान ecs.amazonaws.comकरने के लिए

"Principal": { "Service": "ecs-tasks.amazonaws.com" }

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