2012-09-25 30 views
7

Şu anda bir otomatik ölçeklendirme grubunda çalışan tüm örnekleri listelemek istiyorum. Bu boto ile yapılabilir mi?Otomatik ölçeklendirme grubundaki örnekleri boto ile eşleme

ASG ile boto.ec2.autoscale.group.AutoScalingGroup sınıfında boto olarak shutdown_instances yönteminin kullanıldığı örnekler arasında bir ilişki olmalıdır.

Doğru yönde herhangi bir işaretçi çok takdir edilir! Böyle

+0

boto3 kullanıcısı için - https://boto3.readthedocs.org/en/latest/reference/services/autoscaling.html –

cevap

10

şey çalışmalıdır:

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

nedeni Örneği Kimliği en toplamak ve daha sonra EC2 AutoScale yalnızca örnekleri hakkında bilgi küçük bir alt kümesini depolayan olmasıdır aramak zorunda. Bu, "mygroupname" otomatik ölçeklendirme grubundaki her örnek için Örnek nesnelerinin listesine işaret eden değişken örneklerle sonuçlanır.

+0

Teşekkürler gaarnat! Ben sadece –

+2

'instance_ids = [i.id for group.instances] için aradığım şey' olmalıdır. Instance_ids = [group.instances içinde i için i.instance_id] ' – mblakele

+0

Bu snippet'i temel alan tam bir komut dosyası yazdım. http://stackoverflow.com/a/22544230/20774 –