EC2 の情報を一覧で取得したい人のための AWS CLI 生成ツール

Blog-Thumbnail_KUDs-01 AWS

はじめに

こんにちは、KUDs です。

今回の記事では、EC2 の情報を一覧で取得する CLI を紹介します。

また、必要なパラメータを選択するだけで CLI を生成できるツールを作成したので紹介します。

よく使う AWS CLI 紹介

まずは、KUDs が良く使う CLI の紹介です。

EC2 に SSH 接続したい時よく使う AWS CLI

「EC2 に SSH 接続したいんだけど…」というときに必要な情報を一覧で取得します。

aws ec2 describe-instances --query 'Reservations[].Instances[].{
InstanceName: Tags[?Key==`Name`]|[0].Value, 
PublicIP: PublicIpAddress, 
PrivateIP: PrivateIpAddress, 
KeyName: KeyName, 
InstanceType: InstanceType, 
InstanceID: InstanceId,
State: State.Name
}'  --output table

出力結果の例は以下の通りです。

--------------------------------------------------------------------------------------------------------------------- 
|                                          DescribeInstances                                                        |
+-----------------------+-----------------+---------------+------------+----------------+---------------+-----------+
|     InstanceID        |   InstanceName  | InstanceType  |  KeyName   |   PrivateIP    |   PublicIP    |   State   |
+-----------------------+-----------------+---------------+------------+----------------+---------------+-----------+
|  i-0123456789abcdefg  |  ec2-windows    |  t2.micro     |  key-pair  |  172.31.12.123 |  12.34.56.789 |  running  |
|  i-abcdefg0123456789  |  ec2-linux      |  t3.small     |  key-pair  |  172.31.12.124 |  None         |  stopped  |
+-----------------------+-----------------+---------------+------------+----------------+---------------+-----------+

補足ですが、上記の CLI では以下の情報を取得できます。

  • インスタンス名
  • パブリック IP アドレス
  • プライベート IP アドレス
  • キーペア名
  • インスタンスタイプ
  • インスタンス ID

EC2 のネットワーク、リージョン、AMI等調べたいときによく使う AWS CLI

「とりあえず EC2 関連の様々な情報確認したい」という時に便利です。

aws ec2 describe-instances --query 'Reservations[].Instances[].{
InstanceName: Tags[?Key==`Name`]|[0].Value, 
PublicIP: PublicIpAddress, 
PrivateIP: PrivateIpAddress, 
KeyName: KeyName, 
Platform: PlatformDetails, 
Architecture: Architecture, 
InstanceType: InstanceType, 
Region: Placement.AvailabilityZone, 
Subnet: SubnetId, 
Vpc: VpcId, 
InstanceID: InstanceId, 
ImageID: ImageId
}'  --output table

出力結果の例は以下の通りです。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                                                                       DescribeInstances                                                                                                                |
+--------------+------------------------+----------------------+-----------------+---------------+------------+-------------+----------------+-----------------+------------------+----------------------------+-------------------------+
| Architecture |        ImageID         |     InstanceID       |   InstanceName  | InstanceType  |  KeyName   |  Platform   |   PrivateIP    |    PublicIP     |     Region       |          Subnet            |           Vpc           |
+--------------+------------------------+----------------------+-----------------+---------------+------------+-------------+----------------+-----------------+------------------+----------------------------+-------------------------+
|  x86_64      |  ami-0123456789abcdefg |  i-0123456789abcdefg |  ec2-windows    |  t2.micro     |  key-pair  |  Windows    |  172.31.12.123 |  12.34.56.789   |  ap-northeast-1a |  subnet-abcdefg0123456789  |  vpc-abcdefg0123456789  |
|  arm64       |  ami-abcdefg0123456789 |  i-abcdefg0123456789 |  ec2-linux      |  t4g.small    |  key-pair  |  Linux/UNIX |  172.31.12.124 |  None           |  ap-northeast-1b |  subnet-0123456789abcdefg  |  vpc-abcdefg0123456789  |
+--------------+------------------------+----------------------+-----------------+---------------+------------+-------------+----------------+-----------------+------------------+----------------------------+-------------------------+

補足ですが、上記の CLI では以下の情報を一括取得します。

  • インスタンス名
  • パブリック IP アドレス
  • プライベート IP アドレス
  • キーペア名
  • プラットフォーム (OS)
  • アーキテクチャ
  • インスタンスタイプ
  • リージョン
  • サブネット
  • VPC
  • インスタンス ID
  • AMI ID

AWS CLI 生成ツールの紹介

ここまで書いたのですが、やっぱり欲しい情報は人によって異なるのではということに気づきました。

そして、それを網羅的に書くのもナンセンスだなということに気づきました。

なので、ご自身で欲しい情報を選択するだけで CLI コマンドが生成されるツールを作ればいいのではとなりました。

簡素なツールではございますが、よろしければご利用ください。

利用手順

  1. 出力項目を選択
  2. 出力形式を選択
  3. 生成されたコマンドを確認しコピー
  4. (ターミナル等にペーストしてご利用ください)

AWS CLI 生成ツール: EC2 情報一覧取得

Step1: 出力項目を選択する
Step2: 出力形式を選択する
Step3: 生成されたコマンドを確認・コピーする

さいごに

本記事では、必要なパラメータを選択すれば AWS CLI が生成されるツールを紹介しました。

動作確認してないので、もしかしたら実行時にエラーが発生したり値が取得できないかもしれません。。。

その時はコメントいただけますと幸いです。

気づき次第直します。(多分)

以上です。

コメント