マネジメントコンソールって全てのリージョン並べて見れないんですよね。。。
私は何かと 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