使用boto列出自动缩放组中的实例

Seb*_*ren 7 python boto amazon-web-services autoscaling

我想列出当前在自动缩放组中运行的所有实例.可以用boto完成吗?

ASG和实例之间必定存在某种关系,因为boto具有类中的shutdown_instances方法boto.ec2.autoscale.group.AutoScalingGroup.

任何正确方向的指针都非常感谢!

gar*_*aat 10

这样的事情应该有效:

>>> import boto
>>> autoscale = boto.connect_autoscale()
>>> ec2 = boto.connect_ec2()
>>> group = autoscale.get_all_groups(['mygroupname'])[0]
>>> instance_ids = [i.instance_id for i in group.instances]
>>> reservations = ec2.get_all_instances(instance_ids)
>>> instances = [i for r in reservations for i in r.instances]
Run Code Online (Sandbox Code Playgroud)

我们必须收集实例ID然后调用EC2的原因是AutoScale仅存储有关实例的一小部分信息.这将导致变量实例指向自动缩放组"mygroupname"中每个实例的Instance对象列表.

  • `instance_ids = [i.id for i in group.instances]`应该是`instance_ids = [i.instance_id for i in group.instances]` (2认同)