web-dev-qa-db-ja.com

Botoを使用してec2インスタンスのステータスを取得します

Instace.update()を使用してステータスを取得しています。ステータスは、停止、実行中、または...を返します。

ただし、ec2 Webインターフェイスには、初期化中または... 2/2チェックに合格したことを示す別のステータスがあります。

初期化のステータスを取得する方法はありますか?..

13
user2836163

その情報はDescribeInstanceStatusリクエストから取得され、get_all_instance_statusメソッドを介してbotoで利用できます。見る:

http://docs.pythonboto.org/en/latest/ref/ec2.html#boto.ec2.connection.EC2Connection.get_all_instance_status

詳細については。

11
garnaat

編集:

status=conn.get_all_instance_status(instance_ids=i-****) print status[0].system_status.details
または
print status[0].system_status.details["reachability"]

================================================== ==========
古い:

これはあなたを助けるかもしれません。すべてのインスタンスに関するステータスを通知します。インスタンスのフィルタリングには単純な「if」を使用できます。

import boto;
ec2=boto.connect_ec2()
instances= ec2.get_only_instances()
for instance in instances:
    print instance.tags['Name'] , " is ", instance.state
7
murarisumit