7

現在 Auto Scaling グループ内で実行されているすべてのインスタンスを一覧表示したいと考えています。それはbotoで達成できますか?

boto はクラスshutdown_instances内にメソッドを持っているため、ASG とインスタンスの間に何らかの関係がなければなりません。boto.ec2.autoscale.group.AutoScalingGroup

正しい方向へのポインタは高く評価されます!

4

1 に答える 1

10

このようなものが動作するはずです:

>>> 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」内の各インスタンスのインスタンス オブジェクトのリストを指す変数インスタンスが生成されます。

于 2012-09-25T23:26:59.320 に答える