AWS सुरक्षा समूह निर्भरता कैसे निर्धारित करें?


46

अमेज़न EC2 मुझे सुरक्षा समूह को हटाने नहीं देगा, शिकायत करते हुए कि समूह में अभी भी निर्भरता है। मुझे कैसे पता चलेगा कि वे निर्भरताएं क्या हैं?

एक्वा ec2 वर्णन-सुरक्षा-समूहों का कहना नहीं है।


इस प्रश्न में उत्तर सही नहीं है @Michael हैम्पटन, भले ही इसे चिह्नित किया गया हो।
कोन्र

@konr यदि आपको लगता है कि प्रश्न को बेहतर उत्तर की आवश्यकता है, तो आप एक इनाम शुरू कर सकते हैं ।
माइकल हैम्पटन

जवाबों:


58

EC2 के "नेटवर्क इंटरफेस" खंड में सुरक्षा समूह आईडी चिपकाएँ। यह EC2, EB, RDS, ELB में उपयोग करेगा।

CLI: aws ec2 describe-network-interfaces --filters Name=group-id,Values=sg-123abc45


10

AWS EC2 कंसोल में ऐसा करने का सबसे अच्छा तरीका, EC2-> इंस्टेंस सेक्शन में सर्च फील्ड में सिक्योरिटी ग्रुप नाम में पेस्ट करना है।

चिपकाया गया सुरक्षा समूह के साथ जुड़े सभी उदाहरणों को तब आबाद किया जाएगा, जो ec2 ऑब्जेक्ट्स (निर्भरताएं) होंगे।

आप इस खोज को ELB अनुभाग और अन्य AWS प्रसादों में भी चला सकते हैं जो सुरक्षा समूहों का उपयोग करते हैं।

यदि आप सुरक्षा समूह को हटाने की कोशिश कर रहे हैं, तो आपको प्रत्येक उदाहरण (यदि वे VPC में हैं) के लिए या तो 'परिवर्तन सुरक्षा समूह' बदलने की आवश्यकता होगी या एक AMI बनाएँ और एक अलग सुरक्षा समूह का उपयोग करके पुनः लोड करें-फिर पुराना उदाहरण हटाएं (यदि EC2 क्लासिक का उपयोग करना)

उम्मीद है की वो मदद करदे-


8

आपको अपने EC2 उदाहरण ऑब्जेक्ट को देखने की आवश्यकता है, न कि स्वयं समूहों:

$ aws ec2 describe-instances --output text

फिर या तो "sg- *" के लिए देखें या आपके द्वारा आवश्यक डेटा को बाहर निकालने के लिए मानक यूनिक्स टेक्स्ट स्ट्रीम प्रोसेसिंग टूल का उपयोग करें।

वैकल्पिक रूप से, यदि आपके पास कम संख्या में उदाहरण हैं, तो --output tableअच्छी तरह से स्वरूपित सूची के लिए उपयोग करें ।


2
aws ec2 describe-instances --output text | grep sg-
18

चूंकि एक सुरक्षा समूह अन्य सुरक्षा समूहों को संदर्भित कर सकता है, शायद आपको उस फ़ंक्शन को पुनरावर्ती रूप से चलाने की आवश्यकता है?
ब्रेंडन

1
वह अधूरा है। EC2 उदाहरणों के अलावा कई स्थानों पर सुरक्षा समूहों का उपयोग किया जा सकता है - ELB's, VPC's, अन्य सुरक्षा समूह (जैसा कि @brendan पहले ही उल्लेख किया गया है) आदि
Amos Shapira

@AmosShapira ओपी EC2 के बारे में विशेष रूप से पूछ रहा था। यदि आप चाहें, तो आप इसे सुधारने के लिए मेरे उत्तर को संपादित करने के लिए हमेशा स्वतंत्र हैं।
EEAA

@AmosShapira ने ओपी को होने वाली समस्या को हल कर दिया। एसएफ जवाब को हर संभव संबंधित स्थिति के लिए एक व्यापक जवाब होने की आवश्यकता नहीं है।
EEAA

7

आप इच्छित डेटा प्राप्त करने के लिए aws cli से पूछताछ कर सकते हैं।

आपको इसकी आवश्यकता होगी:

  • प्रश्न में समूह के संदर्भों की तलाश करने वाले सभी सुरक्षा समूहों की सूची बनाएं
  • सभी EC2 और उनके समूहों को सूचीबद्ध करें
  • सभी ईएलबी और उनके समूहों की सूची बनाएं
  • सभी आरडीएस और उनके समूहों की सूची बनाएं

आप कच्चे awsi cli के बजाय boto https://code.google.com/p/boto/ जैसे पुस्तकालयों का भी उपयोग कर सकते हैं ।


4

लैम्ब्डा फ़ंक्शन में सुरक्षा समूह भी हो सकते हैं। लेखन के समय, अमेज़ॅन लैम्बडा फ़ंक्शन द्वारा उपयोग किए जाने वाले सुरक्षा समूहों को हटाने से नहीं रोकता है।

मैंने इसका उपयोग किया:

aws lambda list-functions | jq -c '.Functions[] | {FunctionArn, SecurityGroups: (.VpcConfig.SecurityGroupIds[]? // null) }'

2

एक अन्य मुद्दा SecurityGroups है जो अन्य SecurityGroups पर निर्भर करता है। आसन्न सूची (प्रत्यक्ष निर्भरता) उत्पन्न करने के लिए कोई भी इस कमांड का उपयोग कर सकता है :

aws ec2 describe-security-groups --query "SecurityGroups[*].{ID:GroupId,Name:GroupName,dependentOnSGs:IpPermissions[].UserIdGroupPairs[].GroupId}

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


1

मूल रूप से प्रश्न पूछे जाने पर यह उपलब्ध नहीं हो सकता है, लेकिन यदि आप सुरक्षा समूहों के लिए AWS कंसोल में जाते हैं, तो प्रश्न में समूह का चयन करें और हटाएं कार्रवाई का चयन करें, परिणामी संकेत आपको बताएगा कि यह संदर्भित है और क्या द्वारा ।


1

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

https://github.com/mingbowan/sgdeps


0

चिह्नित उत्तर गलत है। यदि आप एक निर्भरता उल्लंघन देख रहे हैं, तो यह संभावना है कि आपके आईपी अनुमतियाँ (इनग्रेड) कॉन्फ़िगरेशन में किसी अन्य सुरक्षा समूह को संदर्भित किया गया है। आपको सुरक्षा समूहों में इसके स्रोत के रूप में शामिल सभी अनुज्ञा अनुमतियों को रद्द करना होगा।


मुझे लगता है कि मूल प्रश्न कुछ सुरक्षा समूह को संदर्भित कर रहा था। क्या ऐसी चीजें हैं जो नेटवर्क इंटरफेस नहीं हैं जो सुरक्षा समूहों (और उनके अंतर्ग्रहण बंदरगाहों) को संदर्भित करती हैं? यदि नहीं, तो नेटवर्क इंटरफेस सूची एक अच्छा जवाब है, नहीं?
user14645

जबकि आपकी बात में मूल्य है, एक सुरक्षा समूह का संदर्भ निर्भरता उल्लंघन नहीं है। एक सुरक्षा समूह को हटाना संभव है जो किसी ईएनआई से जुड़ा नहीं है लेकिन किसी अन्य सुरक्षा समूह में संदर्भित है। डिलीट होने के बाद, आपको यह संकेत करने के लिए "कंसोल में नए स्टेल सिक्योरिटी ग्रुप रूल्स" नोटिफ़िकेशन मिलेगा, यह इंगित करने के लिए कि किसी नियम में गैर-मौजूद सुरक्षा समूह का पुराना संदर्भ है। इसके बाद आपको स्थिति को संशोधित करने के लिए हाइपरलिंक के लिए "व्यू स्टेल रूल्स" दिया जाएगा।
डेनिस स्ट्रोबेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.