0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS CLIを使ってEC2のインスタンス一覧を取得したり起動したりする

Last updated at Posted at 2021-06-11

awsコマンドを使ってEC2インスタンス一覧を取得したり、インスタンスを起動したりして遊んでみました。

実行環境は、macOS Catalina 10.15.7です。

1. awsコマンドのインストール

Mac版 AWS CLI version.2を以下のリンクから、最新バージョンのpkgファイルをダウンロードします。

2. コマンド起動確認

$ which aws
/usr/local/bin/aws
$ aws --version
aws-cli/2.2.10 Python/3.8.8 Darwin/19.6.0 exe/x86_64 prompt/off

バージョン情報が表示されれば、インストール成功です。

3. config

以下のコマンドでコンフィギュレーションします。

$ cd
$ aws configure

任意のAccess Key ID、Secret Access Keyおよびリージョン名を指定します。output formatはJSONにしておきます。

Access Key ID=<YOUR ACCESS KEY ID>
Secret Access Key=<YOUR SECRET ACCESS KEY>
region name=<YOUR REGION; 例えば、ap-northeast-1>
output format=json

コンフィグファイルは以下のコマンドで確認できます。

$ less ~/.aws/config
$ less ~/.aws/credentials

4. EC2インスタンスの一覧表示

以下のコマンドで全件取得できます。

$ aws ec2 describe-instances

上記コマンドでは結果の全項目が取得できます。結果の項目をフィルタリングしたいときは、queryオプションを使います。
例えば、InstanceIdとStateだけを取得したい場合は、queryオプションで以下のように指定します。

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

[
    [
        "<INSTANCE ID1>",
        {
            "Code": 80,
            "Name": "stopped"
        }
    ],
    [
        "<INSTANCE ID2>",
        {
            "Code": 16,
            "Name": "running"
        }
    ]
]

参考:
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-services-ec2-instances.html

5. EC2インスタンスの起動

以下のコマンドでインスタンスを起動できます。<INSTANCE ID>のところは起動したいインスタンスIDを指定します。

$ aws ec2 start-instances --instance-id <INSTANCE ID>

{
    "StartingInstances": [
        {
            "CurrentState": {
                "Code": 0,
                "Name": "pending"
            },
            "InstanceId": "<INSTANCE ID>",
            "PreviousState": {
                "Code": 80,
                "Name": "stopped"
            }
        }
    ]
}

参考:
https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html

6. EC2インスタンスの停止

起動と同様に、以下のコマンドでインスタンスの停止もできます。<INSTANCE ID>のところは停止したいインスタンスIDを指定します。

$ aws ec2 stop-instances --instance-id <INSTANCE ID>

{
    "StoppingInstances": [
        {
            "CurrentState": {
                "Code": 64,
                "Name": "stopping"
            },
            "InstanceId": "<INSTANCE ID>",
            "PreviousState": {
                "Code": 16,
                "Name": "running"
            }
        }
    ]
}

参考:
https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html

7. EC2インスタンスの終了

以下のコマンドでインスタンスの終了もできます。<INSTANCE ID>のところは終了したいインスタンスIDを指定します。

★終了すると再度起動はできなくなるので注意してください。

$ aws ec2 terminate-instances --instance-id <INSTANCE ID>

{
    "TerminatingInstances": [
        {
            "CurrentState": {
                "Code": 32,
                "Name": "shutting-down"
            },
            "InstanceId": "<INSTANCE ID>",
            "PreviousState": {
                "Code": 16,
                "Name": "running"
            }
        }
    ]
}

ちなみに、終了したインスタンスはAWSのダッシュボードからは時間が経つと自動的に消えるようです。

8. インスタンスのライフサイクル

インスタンスのライフサイクル(State遷移)は以下のページが参考になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?