前提
- EC2インスタンスは作成済みで、そのインスタンスIDを知っていること
- インスタンスにアクセス可能なユーザーを作ってあり、そのアクセス情報を知っていること。特に、次の2点が必要。
- Access key ID
- Secret access key
- AWSコンソールからの起動・停止の操作は行えるが、これをコマンドから行いたい
導入
AWS CLIのインストール
$ pip install awscli --upgrade --user
もしくはcondaユーザーの場合は
$ conda install -c conda-forge awscli
AWSの設定
$ aws configure
から、プロンプトに従い情報を入力。
コマンド
インスタンスを起動して、そのIPを取得
IPが固定でない場合、毎回割り当てられたIPを確認する必要がある。
$ IID="i-xxxxxxxxxx"
$ aws ec2 start-instances --instance-ids $IID && \
aws ec2 wait instance-running --instance-ids $IID && \
aws ec2 describe-instances --instance-ids $IID \
--query 'Reservations[*].Instances[*].PublicIpAddress' --output text
- 1つ目のコマンドで、インスタンスIDを変数に格納
- 2つ目のコマンド、1行目で起動
- 2行目で起動完了を待つ
- 3行目でIPアドレスを取得
正常に動作すれば、しばらくしてインスタンスが起動し、IPアドレスが表示されるので、そのアドレスを使ってSSHなどで接続する。
インスタンスを停止し、確認
$ aws ec2 stop-instances --instance-ids $IID && \
aws ec2 wait instance-stopped --instance-ids $IID && \
aws ec2 describe-instance-status --instance-ids $IID
- 1行目で停止命令
- 2行目で停止完了を待つ
- 3行目で状態確認
正しく停止できていれば、 "InstanceStatuses"
が空になって表示される。