AWSで稼働中のEC2とRDSのインスタンスの一覧を取得できると管理が捗ります
AWSで稼働中のEC2とRDSのインスタンスの一覧を取得できると管理が捗ります:

AWS便利ですね!re:Inventも盛り上がっているようで楽しそうです。
便利な半面AWSのインスタンス管理は大変です。
インスタンスの一覧を簡単に取得することで管理しやすくならないかなということで取得してみました。
https://github.com/yousan/aws_instance_list
上記のコードを動かすと、CSV(タブ区切り)でEC2とRDSのインスタンスのリストを取得できます。
引数にリージョンとAWS CLIのプロファイルを渡せます。
GitHub上のコードを実行する場合には
現在はインスタンス名、IPアドレス(RDSならMasterUsername)、インスタンスタイプを出しています。AWS CLIの
AWS便利ですね!re:Inventも盛り上がっているようで楽しそうです。
便利な半面AWSのインスタンス管理は大変です。
インスタンスの一覧を簡単に取得することで管理しやすくならないかなということで取得してみました。
https://github.com/yousan/aws_instance_list
aws_instans_list.sh
#!/usr/bin/env bash
# usage: $ curl -s https://raw.githubusercontent.com/yousan/aws_instance_list/master/aws_instans_list.sh | bash -s ap-northeast-1 default
REGION=${1:-ap-northeast-1}
PROFILE=${2:-default}
# ヘッダー行書き出し
echo -e "リージョン\tタイプ\tIDや名前\tIPアドレスや作成者\tインスタンスタイプ"
# EC2のリスト取得
aws --region ${REGION} --profile ${PROFILE} ec2 describe-instances --output text \
--query 'Reservations[].Instances[].[Tags[?Key==`Name`].Value|[0],PublicIpAddress,InstanceType]' \
| sed -e 's/^/'${REGION}$'\tEC2\t''/g'
# RDSのリスト取得
aws --region ${REGION} --profile ${PROFILE} rds describe-db-instances --output text \
--query 'DBInstances[].[DBInstanceIdentifier,MasterUsername,DBInstanceClass]' \
| sed -e 's/^/'${REGION}$'\tRDS\t''/g'
$ bash aws_instans_list.sh リージョン タイプ IDや名前 IPアドレスや作成者 インスタンスタイプ ap-northeast-1 EC2 hoge.l2tp.org redmine 192.0.2.1 t2.micro
pbcopyに渡してGoogleスプレッドシートなどに貼ると見やすいです。$ bash aws_instans_list.sh | pbcopy
引数にリージョンとAWS CLIのプロファイルを渡せます。
$ bash aws_instans_list.sh ap-northeast-1 l2tp | pbcopy
| bash -sで引数を渡します。curl -s https://raw.githubusercontent.com/yousan/aws_instance_list/master/aws_instans_list.sh | bash -s ap-northeast-1 default | pbcopy
出ている項目
現在はインスタンス名、IPアドレス(RDSならMasterUsername)、インスタンスタイプを出しています。AWS CLIの--queryを調整することでカラムを変更できます。
もっとやりたいこと
- 料金の管理をしたいのでインスタンスタイプから概算料金を出したいです。
- リージョン決め打ちなのでそこのループを回したいです。(現在は手動でループ)
コメント
コメントを投稿