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

利用したツールはAmazon EC2 API Tools(Windows)です。

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

> ec2-describe-instances ^
? -K P:commonetcawsaws-stresspk.pem ^
? -C P:commonetcawsaws-stresscert.pem ^
? --region us-east-1 ^
? -F "tag:Name=TEST1" ^
? > stress.txt

-Fで取得情報をフィルタリングすることができ、ここでは、NameタグにTEST1が設定されているものだけ取得しています。
詳しくはec2-describe-instancesを参照してください。

取得情報は下記のとおりです。
【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)のみになるように整形します。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら