Edited at

AWS EC2 コマンド(情報参照/起動/停止)


概要

AWS EC2を使用する時によく使うコマンドをまとめる。

個人でEC2を使う際、AWS Consoleを都度開くのがめんどくさいので、それを簡略化する目的のコマンドが主です。

・EC2インスタンスのIPアドレスなどの情報参照

・EC2インスタンスの起動/停止


前提条件

・実行端末OS: macOS 10.13.6

・AWSコマンド実行するための準備が整っていること

 →公開鍵の配置など色々あったかと思います。。


よく使うコマンド


情報取得系


パブリックIPアドレスの一覧を取得

$ aws ec2 describe-instances --query "Reservations[].Instances[].PublicIpAddress"


インスタンスIDを取得

aws ec2 describe-instances --query "Reservations[].Instances[].InstanceId" 

出力をスペース区切りで取得(後ほどのインスタンス起動/停止のコマンド実行時に使用すると便利)

先の方法だと一見スペース(タブ?)区切りで出力されたように見えるが、コピー&ペーストするとスペースがなくなる。

aws ec2 describe-instances --query "Reservations[].Instances[].InstanceId" | sed -e s/i/" i"/g    


インスタンス名を取得

$ aws ec2 describe-instances --query "Reservations[].Instances[].Tags[?Key=='Name'].Value"


インスタンス名とパブリックIPアドレスを取得

テキストだと見づらいのでjson形式を指定しています。

aws ec2 describe-instances --query "Reservations[].Instances[].[Tags[?Type=="Name"].Value,PublicIpAddress]" --outpu json


起動や停止


起動

$ aws ec2 start-instances --instance-ids (インスタンスidをスペース区切りで)

ex. aws ec2 start-instances --instance-ids i-abcdef0123456789 i-abcdef0123456788


停止

$ aws ec2 stop-instances --instance-ids (インスタンスidをスペース区切りで)

ex. aws ec2 stop-instances --instance-ids i-abcdef0123456789 i-abcdef0123456788