2011年2月16日水曜日

コマンドラインツールでインスタンス情報を取得(AWS)

スズキです。

テスト用に300インスタンス立ち上げる機会があり、
起動は"Management Console"で一気に300インスタンス立ち上げれるのですが、
"Public DNS"を"Management Console"で調べるのは大変なので、
コマンドラインツールを利用して一気に取得してみました。

利用したツールはこちら(Windows)です。
http://aws.amazon.com/developertools/351

Javaの環境やPATHまわりなどを適当に設定し、
下記コマンドを実行すると、インスタンス情報を取得できます。

> ec2-describe-instances ^
? -K P:\common\etc\aws\aws-stress\pk.pem ^
? -C P:\common\etc\aws\aws-stress\cert.pem ^
? --region us-east-1 ^
? -F "tag:Name=TEST1" ^
? > stress.txt

"-F"で取得情報をフィルタリングすることができ、
ここでは、NameタグにTEST1が設定されているものだけ取得しています。
詳しくはこちらを参照のこと。
http://docs.amazonwebservices.com/AWSEC2/latest/CommandLineReference/index.html?ApiReference-cmd-DescribeInstances.html

取得情報は下記のとおりです。(適当に改行しています)

--------【stress.txt】--------
INSTANCE
i-xxxxxxxx
ami-xxxxxxxx
ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com
ip-xxx-xxx-xxx-xxx.ec2.internal
running
aws-stress_us-east-1
0
t1.micro
2011-02-16T00:40:05+0000
us-east-1a
windows
monitoring-enabled
xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx
ebs
hvm

BLOCKDEVICE
/dev/sda1
vol-xxxxxxxx
2011-02-16T00:40:31.000Z

TAG
instance
i-xxxxxxxx
Name
TEST1
--------

あとは、"sed"などを使って必要な情報(Public DNS)のみになるように整形です。
--------
http://www.suz-lab.com

0 コメント: