コマンドラインからの操作-AWS CLI -part1 準備,EC2インスタンス①

こんにちは、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 ]
[--filters ]
[--cli-input-json ]
[--starting-token ]
[--page-size ]
[--max-items ]
[--generate-cli-skeleton]

実行結果

$ aws ec2 describe-instances --instance-ids i-xxxxxxxx |jq -r '.Reservations[].Instances[] | .State.Name'
stopping 

EC2インスタンスの起動

使用するコマンド
aws ec2 start-instances
--instance-ids
[--additional-info ]
[--dry-run | --no-dry-run]
[--cli-input-json ]
[--generate-cli-skeleton]

実行結果

$ 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
[--force | --no-force]
[--cli-input-json ]
[--generate-cli-skeleton]

実行結果

$ 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

今回はAWS CLIで EC2インスタンスの起動と停止の仕方を紹介しました。