{EC2}起動中インスタンスの名前とIDを取得

 

https://www.kabegiwablog.com/entry/2017/12/27/090000
https://qiita.com/empty948/items/e480bca687052d447538
https://www.hands-lab.com/tech/t1328/
https://dev.classmethod.jp/articles/jq-command-filter-ec2-instance-description/


(1) jqを使用しない場合

aws ec2 describe-instances --filter "Name=instance-state-name,Values=running"

aws ec2 describe-instances --query 'Reservations.Instances.{instanceid:InstanceId,Tags:Tags[?Key==`Name`].Value|[0]}'

aws ec2 describe-instances \
--filter "Name=instance-state-name,Values=running" \
--query 'Reservations.Instances.{instanceid:InstanceId,Tags:Tags[?Key==`Name`].Value|[0]}'

 

(2) jqを使用する場合

aws ec2 describe-instances | jq -r '.Reservations.Instances | select(.State.Name == "running") '

aws ec2 describe-instances | jq -r '.Reservations.Instances | {"instance id":.InstanceId, "name":(.Tags | select(.Key == "Name").Value) }'

aws ec2 describe-instances | jq -r '.Reservations.Instances | select(.State.Name == "running") | {"instance id":.InstanceId, "name":(.Tags | select(.Key == "Name").Value) }'