Список экземпляров в группе автоматического масштабирования с помощью 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".