Amazon EC2 จะไม่ให้ฉันลบกลุ่มความปลอดภัยโดยบ่นว่ากลุ่มนั้นยังคงต้องพึ่งพา ฉันจะหาการพึ่งพาเหล่านั้นได้อย่างไร
aws ec2 อธิบายความปลอดภัย - กลุ่มไม่พูด
Amazon EC2 จะไม่ให้ฉันลบกลุ่มความปลอดภัยโดยบ่นว่ากลุ่มนั้นยังคงต้องพึ่งพา ฉันจะหาการพึ่งพาเหล่านั้นได้อย่างไร
aws ec2 อธิบายความปลอดภัย - กลุ่มไม่พูด
คำตอบ:
วาง ID กลุ่มความปลอดภัยในส่วน "Network Interfaces" ของ EC2 นี้จะพบการใช้งานใน EC2, EB, RDS, ELB
CLI: aws ec2 describe-network-interfaces --filters Name=group-id,Values=sg-123abc45
วิธีที่ดีที่สุดในการทำเช่นนี้ในคอนโซล AWS EC2 คือการวางในชื่อกลุ่มความปลอดภัยในช่องค้นหาในส่วน EC2-> อินสแตนซ์
อินสแตนซ์ทั้งหมดที่เกี่ยวข้องกับกลุ่มความปลอดภัยที่วางจะเติมข้อมูลเหล่านั้นจะเป็นวัตถุ ec2 (การอ้างอิง)
คุณยังสามารถเรียกใช้การค้นหานี้ในส่วนของ ELB และข้อเสนอ AWS อื่น ๆ ที่ใช้กลุ่มความปลอดภัย
หากคุณพยายามที่จะลบกลุ่มความปลอดภัยคุณจะต้อง 'เปลี่ยนกลุ่มความปลอดภัย' สำหรับแต่ละอินสแตนซ์ (ถ้าพวกเขาอยู่ใน VPC) หรือสร้าง AMI และเปิดใช้งานกลุ่มความปลอดภัยที่แตกต่างกันแล้วลบอินสแตนซ์เก่า (ถ้า ใช้ EC2 แบบคลาสสิก)
หวังว่าจะช่วย -
คุณต้องดูวัตถุอินสแตนซ์ EC2 ของคุณไม่ใช่กลุ่ม:
$ aws ec2 describe-instances --output text
จากนั้นค้นหา "sg- *" หรือใช้เครื่องมือประมวลผลสตรีมข้อความ unix มาตรฐานเพื่อดึงข้อมูลที่คุณต้องการ
หรือหากคุณมีอินสแตนซ์จำนวนน้อยให้ใช้--output table
สำหรับรายการที่จัดรูปแบบไว้
aws ec2 describe-instances --output text | grep sg-
คุณสามารถซักถาม aws cli เพื่อรับข้อมูลที่คุณต้องการ
คุณจะต้อง:
คุณสามารถใช้ห้องสมุดเช่น boto https://code.google.com/p/boto/แทน raw aws cli
ฟังก์ชั่นแลมบ์ดาอาจมีกลุ่มความปลอดภัยด้วย ในขณะที่เขียน, Amazon ไม่ได้ป้องกันการลบกลุ่มความปลอดภัยที่ใช้โดยฟังก์ชั่นแลมบ์ดา
ฉันใช้สิ่งนี้:
aws lambda list-functions | jq -c '.Functions[] | {FunctionArn, SecurityGroups: (.VpcConfig.SecurityGroupIds[]? // null) }'
ปัญหาอื่นคือกลุ่มความปลอดภัยที่ขึ้นอยู่กับกลุ่มความปลอดภัยอื่น ๆ หนึ่งอาจใช้คำสั่งนี้เพื่อสร้างรายการ Adjacency (การพึ่งพาโดยตรง):
aws ec2 describe-security-groups --query "SecurityGroups[*].{ID:GroupId,Name:GroupName,dependentOnSGs:IpPermissions[].UserIdGroupPairs[].GroupId}
ตามหลักการแล้วผลลัพธ์นี้ควรใช้เพื่อค้นหาการปิด Transitive (การอ้างอิงทั้งหมดโดยตรงและโดยอ้อม) น่าเสียดายที่ฉันล้มเหลวในการค้นหาการปิด Transitive
สิ่งนี้อาจไม่สามารถใช้ได้เมื่อมีการถามคำถามแรกเริ่ม แต่ถ้าคุณเข้าสู่ AWS Console สำหรับกลุ่มความปลอดภัยให้เลือกกลุ่มที่มีปัญหาและเลือกการดำเนินการลบการแจ้งผลจะแจ้งให้คุณทราบหากมีการอ้างอิง .
คุณสามารถใช้เครื่องมือ Python นี้เพื่อแสดงรายการกลุ่มความปลอดภัยที่มีการอ้างอิง นอกจากนี้ยังอนุญาตให้แสดงรายการกลุ่มความปลอดภัยที่ไม่ได้ใช้ (ล้าสมัย):
คำตอบที่ทำเครื่องหมายไว้ไม่ถูกต้อง หากคุณเห็นการละเมิดการพึ่งพาเป็นไปได้ว่ากลุ่มความปลอดภัยอื่นอ้างอิงในการกำหนดค่า IP Permissions (Ingress) ของคุณ คุณจะต้องเพิกถอนสิทธิ์การใช้งานทั้งหมดที่มีกลุ่มความปลอดภัยเป็นแหล่งที่มา