Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python boto获取给定安全组的资源?_Python_Amazon Web Services_Boto_Aws Sdk_Boto3 - Fatal编程技术网

如何使用python boto获取给定安全组的资源?

如何使用python boto获取给定安全组的资源?,python,amazon-web-services,boto,aws-sdk,boto3,Python,Amazon Web Services,Boto,Aws Sdk,Boto3,给定一个安全组,我可以使用以下方法找到安全组所连接的相关EC2实例: sgs = conn.get_all_security_groups( filters = {'group-name':grouplist}) for sg in sgs: for instance in sg.instances(): print sg.name,instance.id,i.ip_address 如何获取安全组所连接的RDS或ELB的相同信息 请注意,安全组是在EC2控制台窗口

给定一个安全组,我可以使用以下方法找到安全组所连接的相关EC2实例:

sgs   = conn.get_all_security_groups( filters = {'group-name':grouplist})

for sg in sgs:
    for instance in sg.instances():
        print sg.name,instance.id,i.ip_address
如何获取安全组所连接的RDS或ELB的相同信息


请注意,安全组是在EC2控制台窗口中看到的通用VPC SG,但在我的情况下,也已在RDS和ELB上使用。以下可能不是最佳解决方案,但这将起作用。我举了两个例子

对于ELB,您可以使用和获得帐户中的所有负载平衡器,而无需在该方法的参数中指定任何负载平衡器。这还提供了与每个ELB关联的安全组。您可以在ELB列表上循环。创建安全组名称和ELB列表的映射,例如:

{ 'sg1' : [elb1, elb2], 
  'sg2' : [elb3, elb5]
}
这可以通过ELB中的安全组进行循环来实现

i、 e,类似于以下内容(不是一个完美的工作代码,但你可以得到一个想法):


对于RDS,你可以用boto 2.x做类似的事情。但是如果boto 3也能做到这一点,这对甲烷储存也有帮助,很好,这似乎是目前boto的唯一解决方案。我成功了,谢谢你的创意
sgDict = {}
for elb in Elbs:
    Sgs = elb['SecurityGroups']
    for sg in Sgs:
        elbName = elb['LoadBalancerName']
        if sg in sgDict:
            elbList = sgDict[sg];
            elbList.append(elbName);
            sgDict[sg] = elbList;
        else:
            sgDict[sg] = [elbName]