信頼はずっと、挑戦はもっと。

お問い合わせ
TEL:03-3496-3888

BLOG コアテックの社員ブログ (毎週月曜~金曜更新中)

2019

6

11月

AWS-CLIコマンドでEC2のメトリクスをいろいろ取りたい

テクログ

# aws-cliコマンド


さくっと、EC2のインスタンスの情報をcliで取りたいときのコマンドです。


##EC2のタグについてるサーバの名前を知りたい時

aws ec2 describe-instances | jq -r '.Reservations[] .Instances[] .Tags[]|select(.Key=="Name")|.Value'


#ステータスがrunning状態のTagsがKey=Nameのをインスタンスを取得


aws ec2 describe-instances --filter "Name=instance-state-name,Values=running" | jq -r '.Reservations[] .Instances[] .Tags[]|select(.Key=="Name")|.Value'



#running状態かつ、 TagsがKey=NameのインスタンスIDとインスタンス名を取得


aws ec2 describe-instances --filter "Name=instance-state-name,Values=running" | jq -r '.Reservations[].Instances[] | {InstanceId, InstanceName: (.Tags[] | select(.Key=="Name").Value)}'



#インスタンス名だけを抽出して、整形して出力


aws ec2 describe-instances --filter "Name=instance-state-name,Values=running" | jq -r '.Reservations[].Instances[] | {InstanceId, InstanceName: (.Tags[] | select(.Key=="Name").Value)}' | grep "InstanceName" | awk '{print $2}' | sed -e 's/"//g' -e 's/,//g' > hogeファイル


#インスタンスIDだけを抽出して、整形して出力


aws ec2 describe-instances --filter "Name=instance-state-name,Values=running" | jq -r '.Reservations[].Instances[] | {InstanceId, InstanceName: (.Tags[] | select(.Key=="Name").Value)}' | grep "InstanceId" | awk '{print $2}' | sed -e 's/"//g' -e 's/,//g'



#EC2についてるEIPを取得


aws ec2 describe-addresses --query '*[].PublicIp' --output text | tr '\t' '\n'



#ローカルPCからAWSへ取得したEIPリストを使ってSSHして、コマンド叩く用のシェル



#!/bin/bash

aws ec2 describe-addresses --query '*[].PublicIp' --output text | tr '\t' '\n' > elastic_ip.lst
export AWS_HOME=${HOME}/.aws
export AWS_CONFIG_FILE=${AWS_HOME}/config
export ELASTIC_IP=${HOME}/elastic_ip.lst

cat ${ELASTIC_IP} | while read line

do
ssh -n user@$line -p 22 -i /xxxxxx/xxxxxx 'example-command' > result.txt
done



この記事を書いた人

マスオさん

ひなっち

所 属:
WEBインテグレーション事業部
出身地:
青森
仕事内容:
インフラ