管理人Kのひとりごと

デジモノレビューやプログラミングや写真など

CloudShellを使ってEC2他の情報を表示する(awscli+jq)

CloudShell便利ですね。
aws.amazon.com

CloudShellにはawscli、jqが入っているので、EC2やRedshiftの情報を一覧表示させてみました。

確認環境

[cloudshell-user@ip-10-0-23-58 ~]$ cat /etc/*release
NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"
Amazon Linux release 2 (Karoo)

[cloudshell-user@ip-10-0-23-58 ~]$ aws --version
aws-cli/2.2.43 Python/3.8.8 Linux/4.14.248-189.473.amzn2.x86_64 exec-env/CloudShell exe/x86_64.amzn.2 prompt/off

[cloudshell-user@ip-10-0-23-58 ~]$ jq --version
jq-1.5

一覧表示コマンド

EC2

下記ページの内容ほぼそのままでございます...

# EC2のインスタンス名、インスタンスID、パブリックIPアドレス、プライベートIPアドレス、インスタンスタイプ、プラットフォーム、起動時刻、インスタンス状態をCSV形式で表示
aws ec2 describe-instances |\
 jq -r '.Reservations | sort_by(.Instances[].Tags[] | select(.Key == "Name").Value) | .[].Instances[] | [(.Tags[] | select(.Key == "Name").Value), .InstanceId, .PublicIpAddress, .PrivateIpAddress, .InstanceType, .PlatformDetails, .LaunchTime, .State.Name] | @csv'

Redshift

# Redshiftのクラスタ名、ノードタイプ、クラスタ状態、ノード数をCSV形式で表示
 aws redshift describe-clusters |\
 jq -r '.Clusters | sort_by(.ClusterIdentifier) | .[] | [.ClusterIdentifier, .NodeType, .ClusterStatus, .NumberOfNodes] | @csv'