Posted at

Elastic Beanstalkから作成したEC2インスタンスのPublic IPを調べるワンライナー

More than 1 year has passed since last update.


背景

AWSのElastic BeanstalkはEC2インスタンスを直接意識しなくてもいい場合が多く、とても便利です。

ただ、どうしてもEC2インスタンス自体にSSHでログインしたい場合が発生します。その場合、現在のPublic IPアドレスをAWS Consoleなりで調べる必要があり、若干不便です。また、EBでEC2のインスタンスタイプを変更した場合などはPublic IPアドレスも変わるので、その都度調べる必要がでてきます。

そこでEC2インスタンスのPublic IPアドレスを調べるワンライナーを作成しました。


ワンライナー

今回は aws-clijq を使用して作りました。

aws ec2 describe-instances | jq -r '.Reservations[].Instances[] | (.Tags[] | select(.Key == "Name") | .Value) + ": " + (.NetworkInterfaces[] | select(.Status == "in-use") | .Association.PublicIp)'

これを実行すると、インスタンスごとに (インスタンス名): (Public IPアドレス) のように表示されますので、あとは grep するなりしてしぼりこむとよいかと思います。


おわりに

jq 便利ですね。