7

我想列出当前在 Auto Scaling 组中运行的所有实例。可以用boto完成吗?

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

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

4

1 回答 1

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]

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

于 2012-09-25T23:26:59.320 回答