gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 17:04:16 25 4
gpt4 key购买 nike

给定一个安全组,我可以使用以下方法找到该安全组附加到的关联 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 的相同信息。

请注意,安全组是一般的 VPC SG,可在 EC2 控制台窗口中看到,但在我的例子中也已在 RDS 和 ELB 上使用

最佳答案

下面的方法可能不是最好的解决方案,但这是可行的。我已经给出了 boto3 的例子。

对于 ELB,您可以使用 describe_load_balancers 获取帐户中的所有负载均衡器并且在该方法的参数中不指定任何负载均衡器。这还给出了与每个 ELB 关联的安全组。您可以在 ELB 列表上循环。创建安全组名称和 ELB 列表的映射,例如:

{ 'sg1' : [elb1, elb2], 
'sg2' : [elb3, elb5]
}

这可以通过循环访问 ELB 中的安全组来完成。

即,如下所示(不是完美的工作代码,但您可以得到一个想法):

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]


对于 RDS,您可以使用 describe_db_instances 执行类似的操作

关于python - 如何使用 python boto 获取给定安全组的资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34731797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com