如何确定AWS安全组的依赖关系?

亚马逊EC2不会让我删除一个安全组,抱怨该组仍然有依赖关系。 我怎样才能find这些依赖关系是什么?

aws ec2 describe-security-groups没有说。

相反,有一个更好的解决scheme。

将安全组标识粘贴到EC2的“networking接口”部分。 这将在EC2,EB,RDS,ELB中find用法。

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

您需要查看您的EC2实例对象,而不是组本身:

 $ aws ec2 describe-instances --output text 

然后查找“sg- *”或使用标准的unix文本stream处理工具来提取所需的数据。

或者,如果您有less量的实例,请使用--output table以获得格式良好的列表。

在AWS EC2控制台中执行此操作的最佳方法是粘贴EC2-> Instances部分的search字段中的安全组名称。

所有与粘贴的安全组相关联的实例都将被填充 – 这些将是ec2对象(依赖关系)。

您也可以在ELB部分和其他利用安全组的AWS产品中运行此search。

如果您尝试删除安全组,则需要为每个实例(如果它们位于VPC中)更改安全组,或者创buildAMI并使用其他安全组重新启动,然后删除旧实例(if使用EC2经典)

希望帮助 –

你可以询问aws cli来获取你想要的数据。

你需要:

  • 列出所有要查找相关组的引用的安全组
  • 列出所有的EC2和他们的组
  • 列出所有ELB和他们的组
  • 列出所有RDS和他们的组

你也可以使用库,如boto https://code.google.com/p/boto/而不是原始的aws cli。