Posted at

起動中のEC2インスタンスの名前一覧を取得するワンライナー

More than 1 year has passed since last update.

よく忘れる:frowning2:のでメモ。手元の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の読み取り権限を付けておいてください


  • awsclijqコマンドを使うので、無かったらインスールしてください。
    (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