AWS CLIからEC2の起動と停止を行う

AWS CLIからEC2の起動と停止を行うサンプルです。

目次

サンプル AWS CLIからEC2の起動と停止
  IAMで起動停止用のポリシーを作成する
コマンドでEC2を起動する
コマンドでEC2を停止する

AWS CLIからEC2の起動と停止

  • EC2(test-ec2)にSSHでログインし、EC2(test-ec2)のAWS CLIからもうひとつのEC2(test-ami-ec2)の起動と停止を行います。

AWS CLIとは

AWS CLIは、コマンドラインからAWSを実行できるようにするAWS公式モジュールです。

https://aws.amazon.com/jp/cli/

 

IAMで起動停止用のポリシーを作成する

1.IAMで起動停止用のポリシーを作成します。

ポリシー名 test-ec2-start-stop-policy
アクセス権限 EC2の
 StartInstancesと
 StopInstances

 

2.作成したポリシーをロールまたはユーザに追加します。
ロールはEC2に追加します。ユーザはEC2のaws configureコマンドで設定します。

 

コマンドでEC2を起動する

aws ec2 start-instances --instance-ids インスタンスID --region リージョン名

1行目は、インスタンスIDを指定してEC2を起動しています。
1行目を入力し成功すると2行目以降が表示されます。

[ec2-user@ip-10-0-10-4 ~]$ aws ec2 start-instances --instance-ids "i-0f8dc69e5296a18ba" --region ap-northeast-1
{
    "StartingInstances": [
        {
            "CurrentState": {
                "Code": 0,
                "Name": "pending"
            },
            "InstanceId": "i-0f8dc69e5296a18ba",
            "PreviousState": {
                "Code": 80,
                "Name": "stopped"
            }
        }
    ]
}
[ec2-user@ip-10-0-10-4 ~]$

5行目は、CurrentStateで現在の状態です。
7行目は、pendingで保留です。
10行目は、PreviousStateで前の状態です。
12行目は、stoppedで停止です。

 

コマンドでEC2を停止する

aws ec2 stop-instances --instance-ids インスタンスID --region リージョン名

1行目は、インスタンスIDを指定してEC2を停止しています。
1行目を入力し成功すると2行目以降が表示されます。

[ec2-user@ip-10-0-10-4 ~]$ aws ec2 stop-instances --instance-ids "i-0f8dc69e5296a18ba"  --region ap-northeast-1
{
    "StoppingInstances": [
        {
            "CurrentState": {
                "Code": 64,
                "Name": "stopping"
            },
            "InstanceId": "i-0f8dc69e5296a18ba",
            "PreviousState": {
                "Code": 16,
                "Name": "running"
            }
        }
    ]
}
[ec2-user@ip-10-0-10-4 ~]$

5行目は、CurrentStateで現在の状態です。
7行目は、stoppingで停止中です。
10行目は、PreviousStateで前の状態です。
12行目は、runnningで稼働中です。

関連の記事

AWS IAMユーザを作成するサンプル

△上に戻る