AWS CLIをインストール
めっちゃ簡単である。
yum -y update
easy_install pip
pip install awscli
aws helpで現状扱えるサービスを確認。
Available services: * iam * ses * rds * elb * autoscaling * cloudwatch * sqs * cloudformation * elasticbeanstalk * sns * sts * directconnect * emr * ec2
コードはここにあーる。ぶっちゃけboto-coreに投げてるだけにみえるw
git clone https://github.com/aws/aws-cli.git
当然、補完を効かせたいので、下記を実行ー
うは、すげー便利。でもJSONまんまで返ってくるので、ちょい読みにくい。最初は少し驚くかもだけど、ちゃんとテキストでも出せるので心配いらない。
[ec2-user@xxx ~]$ aws ec2 describe-availability-zones { "requestId": "79c8df0c-a46c-4319-90c8-3ed44c5d4978", "availabilityZoneInfo": [ { "zoneState": "available", "regionName": "ap-northeast-1", "messageSet": , "zoneName": "ap-northeast-1a" }, { "zoneState": "available", "regionName": "ap-northeast-1", "messageSet": , "zoneName": "ap-northeast-1b" }, { "zoneState": "available", "regionName": "ap-northeast-1", "messageSet": [], "zoneName": "ap-northeast-1c" } ] }
プログラマブルには渡しやすくなったな。
テキストでやりたいときは--output textだそうで。でふぉが何故かJSONだ。
あと、--profileでプロファイルを切り替えれるのもナイス。
というわけで本年もよろしくお願いします。
AWS CLI補足
どうも出力情報のところが解せないので、調べてみたところ、CLIコードのREADMEにJSON使う場合には、jqなど使うといいよと書いてある。
JQ、http://stedolan.github.com/jq/ のことらしい。
jq is a lightweight and flexible command-line JSON processor.
というわけで、使ってみた。
cd /usr/bin/
wget http://stedolan.github.com/jq/download/linux64/jq
chmod +x jq
こんな感じ。
aws ec2 describe-availability-zones |jq '.availabilityZoneInfo[0]'
カラーもついて部分を取り出せるので、大変便利。しかも早くて良い感じ。
{ "zoneName": "ap-northeast-1a", "messageSet": [], "regionName": "ap-northeast-1", "zoneState": "available" }