現在 Auto Scaling グループ内で実行されているすべてのインスタンスを一覧表示したいと考えています。それはbotoで達成できますか?
boto はクラスshutdown_instances
内にメソッドを持っているため、ASG とインスタンスの間に何らかの関係がなければなりません。boto.ec2.autoscale.group.AutoScalingGroup
正しい方向へのポインタは高く評価されます!
現在 Auto Scaling グループ内で実行されているすべてのインスタンスを一覧表示したいと考えています。それはbotoで達成できますか?
boto はクラスshutdown_instances
内にメソッドを持っているため、ASG とインスタンスの間に何らかの関係がなければなりません。boto.ec2.autoscale.group.AutoScalingGroup
正しい方向へのポインタは高く評価されます!
このようなものが動作するはずです:
>>> 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 を呼び出す必要がある理由は、AutoScale がインスタンスに関する情報の小さなサブセットしか保存しないためです。これにより、自動スケーリング グループ「mygroupname」内の各インスタンスのインスタンス オブジェクトのリストを指す変数インスタンスが生成されます。