Список экземпляров в группе автоматического масштабирования с помощью boto

Я хочу перечислить все экземпляры, которые в настоящее время работают в группе автоматического масштабирования. Можно ли это сделать с помощью boto?

Должна быть некоторая связь между ASG и экземплярами, так как boto имеет shutdown_instances метод в пределах boto.ec2.autoscale.group.AutoScalingGroup учебный класс.

Любые указатели в правильном направлении высоко ценятся!

1 ответ

Решение

Примерно так должно работать:

>>> 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]

Причина, по которой мы должны собрать идентификаторы экземпляров и затем вызвать EC2, заключается в том, что AutoScale хранит только небольшое подмножество информации об экземплярах. Это приведет к тому, что экземпляры переменных будут указывать на список объектов Instance для каждого экземпляра в группе автоматического масштабирования "mygroupname".

Другие вопросы по тегам