LoginSignup
0
0

EC2一覧を見るためのShell関数 (aws-cliに依存)

Last updated at Posted at 2021-07-11

利用方法

コマンド入力

# そのままだとデフォルトプロファイルで一覧を取ってくる
show-ec2

# プロファイル名を第一引数に取れる
show-ec2 production

結果

-----------------------------------------------------------------------
|                          DescribeInstances                          |
+--------------+-----------------------+----------------+-------------+
|   no1_Name   |    no2_InstanceId     | no3_PrivateIp  |  no4_Type   |
+--------------+-----------------------+----------------+-------------+
|  Server-01   |  i-XXXXXXXXXXXXXXXXX  |  10.X.XX.XXX   |  t3.small   |
|  Server-02   |  i-XXXXXXXXXXXXXXXXX  |  10.X.XX.XXX   |  t3.small   |
|  Server-03   |  i-XXXXXXXXXXXXXXXXX  |  10.X.XX.XXX   |  t3a.xlarge |
|  Server-04   |  i-XXXXXXXXXXXXXXXXX  |  10.X.XX.XXX   |  t3.medium  |
|  Server-05   |  i-XXXXXXXXXXXXXXXXX  |  10.X.XX.XXX   |  t2.micro   |
|  Server-06   |  i-XXXXXXXXXXXXXXXXX  |  10.X.XX.XXX   |  t3.large   |
+--------------+-----------------------+----------------+-------------+

やりたいこと

EC2の一覧がコンソール上でサッと確認できるようにしたかった

前提

  • aws-cliがインストール済み
  • プロファイルを設定済みで、aws ec2 describe-instancesが使用できること
  • Shell関数はbashとzshで動作確認済み

定義

.bashrcや.zshrcなどに下記のShell関数を定義する。

show-ec2 () {
  profile=$1
  if [ -z "$profile" ]; then
    profile="default"
  fi

  aws ec2 describe-instances \
      --profile $profile \
      --filter "Name=instance-state-name,Values=running" \
      --query "sort_by(Reservations[].Instances[].{no1_Name: Tags[?Key==\`Name\`].Value|[0] , no2_InstanceId: InstanceId, no3_PrivateIp: PrivateIpAddress, no4_Type: InstanceType}, &no1_Name)" \
      --output table
}

仕様

  • 第一引数はaws configure等で設定したプロファイルを渡す。未入力の場合はデフォルトプロファイルを使用する。
  • Nameタグ・インスタンスID・プライベートIP・インスタンスタイプを表示する
  • Nameタグで昇順にソートする
  • キー名にno1_のようなprefixをつけることでカラムのソートを実現している

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0