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