2013年4月22日月曜日

Python版AWSコマンドラインツールと"jq"でインスタンスタイプ毎のインスタンス数を集計してみた

スズキです。

いろいろ試行錯誤しましたが、下記が一番いいんじゃないか?と思っています。
# aws ec2 describe-instances \
> | jq \
> '[ .Reservations[] | .Instances[] | { InstanceType } ] | group_by(.InstanceType) | .[] | .[0] + { "Count": length }'
{
  "Count": 55,
  "InstanceType": "c1.xlarge"
}
{
  "Count": 11,
  "InstanceType": "m1.large"
}
{
  "Count": 1,
  "InstanceType": "m1.medium"
}
{
  "Count": 1,
  "InstanceType": "m1.small"
}
{
  "Count": 8,
  "InstanceType": "m1.xlarge"
}
{
  "Count": 1,
  "InstanceType": "t1.micro"
}

ちなみに"jq"は"group_by"以外にも、いろいろな集計ができるようです。
jq Manual

ぶっちゃけ、SDK使ってRubyとかで作った方が楽だったかも...
--------
http://www.suz-lab.com

0 コメント: