😄

AWS CLIでEC2の一覧とそこへのsshコマンドを取得する

2022/06/20に公開

コマンド

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