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

はじめに

こんにちは。インフラエンジニアレベル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専門支部には、まだ行けてないので頑張っていけるようにしたい。

参考資料・リンク

http://stedolan.github.io/jq/
http://stedolan.github.io/jq/manual/

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

はじめに

こんにちは。インフラエンジニアレベル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専門支部には、まだ行けてないので頑張っていけるようにしたい。

参考資料・リンク

http://stedolan.github.io/jq/
http://stedolan.github.io/jq/manual/