😄
AWS CLIでEC2の一覧とそこへのsshコマンドを取得する
コマンド
aws ec2 describe-instances \
| jq -r '.Reservations[].Instances[] | [[.Tags[] | select(.Key == "Name").Value][0], "ssh ec2-user@" + .NetworkInterfaces[].Association.PublicIp + " -i /path/to/pem"] | @tsv' \
| column -t -s "`printf '\t'`"
出力
operation ssh ec2-user@xxx.xxx.xxx.xxx -i /path/to/pem
docker ssh ec2-user@xxx.xxx.xxx.xxx -i /path/to/pem
jenkins ssh ec2-user@xxx.xxx.xxx.xxx -i /path/to/pem
test ssh ec2-user@xxx.xxx.xxx.xxx -i /path/to/pem
ansible-server ssh ec2-user@xxx.xxx.xxx.xxx -i /path/to/pem
wk-node_1 ssh ec2-user@xxx.xxx.xxx.xxx -i /path/to/pem
wk-node_2 ssh ec2-user@xxx.xxx.xxx.xxx -i /path/to/pem
cp-node_1 ssh ec2-user@xxx.xxx.xxx.xxx -i /path/to/pem
ログインユーザ名とpemのパスは決め打ちのため,適宜変更してください.
Discussion