初めまして、shigepi です。
周りの社員の方を見てて、役に立つものでないといけないかなぁとか色々考えたけど、
そういう気遣いとか面倒くさいタイプなので、好き勝手にすることにしました。
ということで、第一回目はタイトル通りです。 マネジメントコンソールって全てのリージョン並べて見れないんですよね。。。 でも、かといって新しいコンソール画面の開発は面倒くさいし、どっか作っていても 良い値段しそうです。。。
ということで、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倍近く違う結果も出ました。
そういえばその時は「jq」コマンドを使ったような、使っていないような気が。。。
比較的リソース少なめの環境なので、こんなものでしょう。
もっと数がある環境だと差がでるようです。
ぜひお試しください。
今回はこれくらいで失礼します。。。