2012-09-25 9 views
7

Chcę wyświetlić listę wszystkich wystąpień, które aktualnie działają w grupie automatycznego skalowania. Czy można to osiągnąć za pomocą boto?Wyświetlenie instancji w grupie z automatycznym skalowaniem za pomocą boto

Musi istnieć pewien związek między ASG a instancjami, ponieważ boto ma metodę shutdown_instances w klasie .

Wszelkie wskazówki we właściwym kierunku są wysoko cenione!

+0

Dla użytkownika boto3 - https://boto3.readthedocs.org/en/latest/reference/services/autoscaling.html –

Odpowiedz

10

Coś jak to powinno działać:

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

Powodem musimy zbierać instancji identyfikatora, a następnie zadzwonić EC2 jest AUTOSCALE przechowuje tylko niewielki podzbiór informacji o wypadkach. Spowoduje to, że zmienne instancje wskażą listę obiektów wystąpień dla każdej instancji w grupie automatycznego skalowania "moja_nazwa_grupy".

+0

Dzięki gaarnat! Właśnie to, czego szukałem –

+2

'instance_ids = [i.id dla i w group.instances]' powinno być 'instance_ids = [i.instance_id dla i w group.instances]' – mblakele

+0

Napisałem pełny skrypt oparty na tym fragmencie na http://stackoverflow.com/a/22544230/20774 –

Powiązane problemy