LoginSignup
24
26

More than 5 years have passed since last update.

AWS CLIでよく使うコマンド集

Last updated at Posted at 2016-12-02

前提

$ sudo curl -o /usr/local/bin/jq -L https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 && sudo chmod +x /usr/local/bin/jq
  • aws configureでアクセスキーを登録
$ aws configure
AWS Access Key ID [****************]:
AWS Secret Access Key [****************]:

EC2

一覧取得

  • インスタンスID・タグ名(Key=Name)を一覧出力
    ※--queryオプションを使うと、返却する要素のselectと、フィルタ条件を付けられる。 ここでは、ResourceTypeが "instance" の インスタンスIDとNameタグを取得。
$ aws ec2 describe-tags --query 'Tags[?ResourceType==`instance`] | [?Key==`Name`].{ResourceId:ResourceId,ResourceName:Value}' --output table
  • インスタンスID・パブリックIP・プライベートIPを一覧出力
    ※インスタンスIDがNULLの物は除外
$ aws ec2 describe-addresses --query 'Addresses[?InstanceId!=`null`].[InstanceId,PublicIp,PrivateIpAddress]'  --output table
  • インスタンスID・インスタンスタイプ・タグ名(Key=Name)を一覧出力
    ※インスタンスの状態がrunningの物だけを対象
$ aws ec2 describe-instances --filter "Name=instance-state-name,Values=running" --query 'Reservations[].Instances[].[InstanceId,InstanceType,Tags[?Key==`Name`].Value]' --output text

条件指定

  • 特定のインスタンスIDからパブリックIP・プライベートIP・タグ名(Key=Name)・インスタンスタイプを一覧出力
$ INSTANCE_ID=XXXXX
$ aws ec2 describe-instances --instance-ids ${INSTANCE_ID} --query 'Reservations[].Instances[].[PublicIpAddress,PrivateIpAddress,Tags[?Key==`Name`].Value,InstanceType]' --output table
  • 特定のタグ名からパブリックIP・プライベートIP・タグ名(Key=Name)・インスタンスタイプを一覧出力
$ INSTANCE_TAG="XXXXX"
$ aws ec2 describe-instances --filter "Name=tag:Name,Values=${INSTANCE_TAG}" --query 'Reservations[].Instances[].[PublicIpAddress,PrivateIpAddress,Tags[?Key==`Name`].Value,InstanceType]' --output table

セキュリティグループ

一覧取得

  • セキュリティグループ名とグループIDを一覧出力
$ aws ec2 describe-security-groups --query "SecurityGroups[].[GroupName,GroupId]" --output table
  • セキュリティグループ毎に関連付いたEC2インスタンスの一覧を出力
declare -a SECG=$(aws ec2 describe-security-groups | jq '.SecurityGroups[].GroupName')
for secg in ${SECG[@]}; do
  echo "### SecurityGroupName: "$secg" ###"
  aws ec2 describe-instances | jq -r '.Reservations[].Instances[] | select(.SecurityGroups[].GroupName=='$secg') | [.InstanceId, .Tags[].Value] | @csv'
  echo "-----"
done

ALB(Application Load Balancer)

一覧取得

  • ロードバランサー名・DNS名・ARNを一覧出力
$ aws elbv2 describe-load-balancers --query "LoadBalancers[].[LoadBalancerName,DNSName,LoadBalancerArn]"

条件指定

  • 特定のロードバランサーの情報を出力
$ LB_NAME="XXXXX"
$ aws elbv2 describe-load-balancers --names ${LB_NAME}

RDS

一覧取得

  • RDS名・DBエンジン・インスタンスのクラス・エンドポイントを一覧出力
$ aws rds describe-db-instances --query "DBInstances[].[DBInstanceIdentifier,Engine,DBInstanceClass,Endpoint.[Address]]"

S3

一覧取得

  • S3バケット一覧を出力
$ aws s3api list-buckets --query Buckets[].Name --output table
24
26
1

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
24
26