【AWS】awscli備忘コマンド

【前提】 ・基本、検証で作成するEC2を想定しているため、全てEC2-Classicとして考える

EC2インスタンス状態確認

# aws ec2 describe-instances | jq '.Reservations[].Instances[] | [.PublicDnsName, .PublicIpAddress, (.State.Name), .InstanceId, .InstanceType, (.NetworkInterfaces[].Groups[].GroupName), .KeyName]'
[
  "[インスタンスパブリックDNS]",
  "[インスタンスIPアドレス]",
  "[インスタンスステータス]",
  "[インスタンスID]",
  "[EC2インスタンスタイプ]",
  "[セキュリティグループ]",
  "[キーペア名]"
]

EC2インスタンス作成

# aws ec2 run-instances --image-id [AMI_ID] --key-name [キーペア名] --security-groups --instance-type [EC2インスタンスタイプ] --count [インスタンス作成数]
→最低限のインスタンス作成コマンド例
→AMI-IDはAWSコンソールから確認可能

作成後のEC2インスタンス全削除

# aws ec2 describe-instances | jq '.Reservations[].Instances[].InstanceId' | xargs -I {} aws ec2 terminate-instances --instance-ids {}
  • describe-instancesで現在のインスタンスIDを出力して、全てterminate-instancesに渡しているだけ。
  • xargsで渡しているので高速化出来るかもしれない
  • フィルター部分を追記して、指定タグが貼られてるインスタンスをTerminateにしたほうが使い勝手がいいと思われ。