こんにちは、nakadaです。
今回からはAWS コマンドラインインターフェースの機能をご紹介します。 コマンドについては、Amazon Linux から実行していきます。 Amazon Linuxですと、デフォルトでAWS CLIがインストールされています。
目次
準備
AWS CLIの現在のバージョンを確認して、最新版にアップデートします。
$ aws --version aws-cli/1.7.42 Python/2.7.9 Linux/3.14.35-28.38.amzn1.x86_64 $ sudo pip install -U awscli
アップデートが完了したらバージョンを確認しときます。
$ aws --version aws-cli/1.7.44 Python/2.7.9 Linux/3.14.35-28.38.amzn1.x86_64
JSONの加工用にjqをインストールしておきます。
$ sudo yum install jq -y $ jq -V jq-1.4
AWS Access Key ID AWS Secret Access Key を設定します。リージョンは東京です。
$ aws configure AWS Access Key ID [None]: xxxxxxxxxxxxxxxxx AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxxxxxxxxxxx Default region name [None]: ap-northeast-1
EC2インスタンスの操作
EC2インスタンスの情報の取得
使用するコマンド
aws ec2 describe-instances
[--dry-run | --no-dry-run]
[--instance-ids
実行結果
$ aws ec2 describe-instances --instance-ids i-xxxxxxxx |jq -r '.Reservations[].Instances[] | .State.Name' stopping
EC2インスタンスの起動
使用するコマンド
aws ec2 start-instances
--instance-ids
実行結果
$ aws ec2 start-instances --instance-ids i-xxxxxxxx { "StartingInstances": [ { "InstanceId": "i-xxxxxxxx", "CurrentState": { "Code": 0, "Name": "pending" }, "PreviousState": { "Code": 80, "Name": "stopped" } } ] } $ aws ec2 describe-instances --instance-ids i-6a007b99 |jq '.Reservations[].Instances[].State.Name' pending $ aws ec2 describe-instances --instance-ids i-6a007b99 |jq '.Reservations[].Instances[].State.Name' running
EC2インスタンスの停止
使用するコマンド
aws ec2 stop-instances
[--dry-run | --no-dry-run]
--instance-ids
実行結果
$ aws ec2 stop-instances --instance-ids i-xxxxxxxx { "StoppingInstances": [ { "InstanceId": "i-xxxxxxxx", "CurrentState": { "Code": 64, "Name": "stopping" }, "PreviousState": { "Code": 16, "Name": "running" } } ] } $ aws ec2 describe-instances --instance-ids i-xxxxxxxx |jq '.Reservations[].Instances[].State.Name' stopping $ aws ec2 describe-instances --instance-ids i-xxxxxxxx |jq '.Reservations[].Instances[].State.Name' stopped