我想列出當前在自動縮放組內運行的所有實例。這可以用博託完成嗎?使用boto在自動縮放組中列出實例
ASG和實例之間必須存在某種關係,因爲boto在boto.ec2.autoscale.group.AutoScalingGroup
類中有shutdown_instances
方法。
任何指針正確的方向是高度讚賞!
我想列出當前在自動縮放組內運行的所有實例。這可以用博託完成嗎?使用boto在自動縮放組中列出實例
ASG和實例之間必須存在某種關係,因爲boto在boto.ec2.autoscale.group.AutoScalingGroup
類中有shutdown_instances
方法。
任何指針正確的方向是高度讚賞!
像這樣的東西應該工作:
>>> 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是自動調整隻存儲關於實例的信息的一小部分。這將導致變量實例指向自動調節組「mygroupname」中每個實例的實例對象列表。
感謝gaarnat!我正在尋找 –
'instance_ids = [i.id for我在group.instances]'應該是'instance_ids = [i.instance_id爲我在group.instances]' – mblakele
我寫了一個基於這個片段的完整腳本http://stackoverflow.com/a/22544230/20774 –
對於boto3用戶 - https://boto3.readthedocs.org/en/latest/reference/services/autoscaling.html –