1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AWS上の全インスタンス情報を取得したい

Posted at

マネジメントコンソールって全てのリージョン並べて見れないんですよね。。。
私は何かと CLI が好きなので、CLI を使って確認する方法を考えることにしました。
使うものは次の通りです。

##用意するもの
####・AmazonLinux
####・AWS CLI(※AmazonLinuxはインストール済)
####・GNU Parallel

本当はね参照コマンド回せばいいだけなんです。
for とか while とかで
でも直列処理って意外とレスポンスに時間がかかるので、並列実行させたいと思いました。

そこで、上記の Parallel コマンドを今回は使います。

使い方は簡単です。

parallel <実行したいコマンド> ::: <同時実行する引数> 

例えば 

parallel echo ::: boku shigepi .
boku
shigepi

ということで、以下実施してみた流れです。

##実施手順
###Parallel インストール

yum -y install parallel

ちなみに今はこれだけリージョンあるようです。

###リージョン情報取得

REGIONNAME=$(aws ec2 describe-regions --query Regions[].RegionName --output text)
echo ${REGIONNAME}
ap-south-1 eu-west-3 eu-west-2 eu-west-1 ap-northeast-2 ap-northeast-1 sa-east-1 ca-central-1
ap-southeast-1 ap-southeast-2 eu-central-1 us-east-1 us-east-2 us-west-1 us-west-2

###AWS CLI 並列実行

time parallel aws ec2 describe-instances --query 'Reservations[].Instances[].¥
[Placement.AvailabilityZone,InstanceId]' --output text --region ::: ${REGIONNAME}
ap-south-1b i-056xxxx
ap-northeast-2a i-0c9xxxx
ap-northeast-1a i-250xxxx
ap-southeast-1b i-073xxxx
ap-southeast-2a i-0e9xxxx
eu-central-1b i-076xxxx
us-east-1e i-0c8xxxx
us-east-2b i-0aaxxxx
real 0m18.186s   user   0m5.985s   sys  0m0.851s

###直列での実行

####for
real 0m20.735s  user   0m5.903s  sys  0m0.805s

####while
real 0m20.290s  user   0m5.906s  sys  0m0.834s

##まとめ
別のとこでやったら2倍近く違う結果も出ました。
もっと数がある環境だと差がでるようです。
ぜひお試しください。

今回はこれくらいで失礼します。。。

#####参考 URL
コマンドを並列に実行するGNU parallelがとても便利
http://bicycle1885.hatenablog.com/entry/2014/08/10/143612

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?