はじめに

こんにちは。cloudpack の インフラエンジニアレベル1の @f_prg (古渡) です。

業務でよくAWS CLIを使用しております。
AWS CLIとjqを組み合わせてEC2の一覧表を作るAWS CLI秘伝のコマンドを紹介します。

EC2の一覧表を作るAWS CLI秘伝のコマンド

[f_prg@Documents] $ aws ec2 describe-instances 
--profile=default 
--region=us-east-1
|jq -r '.Reservations[].Instances[]
|{PublicDnsName, PublicIpAddress, PrivateIpAddress, 
 InstanceType, AZ: .Placement.AvailabilityZone, 
 State: .State.Name, KeyName, 
 TagName: .Tags|map(select(.Key == "Name"))[0]|.Value, 
 EC2Role: .IamInstanceProfile.Arn}
|@text "|(.TagName)|(.InstanceType)|
(.AZ)|(.PublicDnsName)|
(.PublicIpAddress)|(.PrivateIpAddress)|(.EC2Role)|"'
|my-blog - nodejs-app1|t2.micro|us-east-1a|ec2-XX-XX-XX-XX.compute-1.amazonaws.com|YY.YY.YY.YY|ZZ.ZZ.ZZ.ZZ|arn:aws:iam::ZZZZZZZ:instance-profile/hogehoge-role|

ちょっと見やすくするため改行しております。jqのところはバックスラッシュはいらないようですね。
結果ですがマスクが多くてすいません。

まとめ

|Name|InstanceType|AZ|PublicDnsName|PublicIpAddress/ElasticIP|PrivateIpAddress|EC2Role|

と組み合わせますと

Name InstanceType AZ PublicDnsName PublicIpAddress/ElasticIP PrivateIpAddress EC2Role
my-blog – nodejs-app1 t2.micro us-east-1a ec2-XX-XX-XX-XX.compute-1.amazonaws.com YY.YY.YY.YY ZZ.ZZ.ZZ.ZZ arn:aws:iam::ZZZZZZZ:instance-profile/hogehoge-role

となります。

補足、おまけ

JAWS-UG CLI専門支部には、まだ行けてないので頑張っていけるようにしたい。

参考資料・リンク

元記事はこちらです。
EC2の一覧表を作るAWS CLI秘伝のコマンド