内容
不要なキーペアをあぶり出すためにインスタンスとキーペアの一覧を取得する
前提条件
- AWS-CLIが使用可能
- jqが使用可能
- EC2の情報取得に関するIAM権限を有している
Macクライアントから投げて調査しました
方法
インスタンスIDとキーペアのセットを出力するワンライナー
aws ec2 describe-instances \
--query 'Reservations[*].Instances[].{InstanceId:InstanceId, KeyName:KeyName}' \
--output text |
sed -e "s/ /,/g" > /pathtocsv.csv
結果
i-xxxxxxxxxxxxxxxxx,hoge-key
i-aaaaaaaaaaaaaaaaa,hoge-key
i-bbbbbbbbbbbbbbbbb,fuga-key
上記コマンドでインスタンスIDとキーペアのセットを取得できます。
インスタンスIDと名前のセットを出力するワンライナー
aws ec2 describe-instances \
--query 'Reservations[*].Instances[].{InstanceId:InstanceId,HostName:Tags[?Key==`Name`].Value}' \
--output json |
sed -e "s/null/[\"none\"]/g" |
jq -r ".[] | [.InstanceId, .HostName[]] | @csv" | sed -e 's/"//g' > /pathtocsv.csv
結果
i-xxxxxxxxxxxxxxxxx,hogeHost
i-aaaaaaaaaaaaaaaaa,fugaHost
i-bbbbbbbbbbbbbbbbb,none
上記コマンドでインスタンスIDと名前タグのセットをCSV形式で取得します。名前タグついてないのはnone
と表記しています。