よく忘れるのでメモ。手元のmacで実行してます。
$ aws ec2 describe-instances --profile dev --filter Name=instance-state-code,Values=16 | jq -r ".Reservations[].Instances[].Tags | map(select(.Key == \"Name\")) | .[].Value | sort"
db1
db2
web1
web2
:
instance-state-code
やtagの取得名を変えれば、停止中のインスタンス一覧や特定のタグ名一覧を取得することもできます。ユニークな値が欲しい場合は、uniqコマンドにパイプするだけです。
留意点として
-
--profile
の値は適宜読み替えてください - 指定するprofileには、予めEC2の読み取り権限を付けておいてください
-
awscli
とjq
コマンドを使うので、無かったらインスールしてください。 (sort
も使いますが、たいていのディストリビューションであればインストールされていると思われます)
各コマンドのバージョンは以下になります。
$ aws --version
aws-cli/1.11.34 Python/2.7.13 Darwin/15.6.0 botocore/1.4.91
$ jq --version
jq-1.5
参考
AWS CLI のインストールと設定
http://docs.aws.amazon.com/ja_jp/streams/latest/dev/kinesis-tutorial-cli-installation.html