[aws cli]EC2の操作

  • 目的
    • aws cliでEC2の操作を行う
  • 結論
    • 以下のコマンドを実行するとEC2の操作ができる
  • コマンド
    • EC2の一覧をすべて表示する
      • aws ec2 describe-instances
    • EC2を名前で指定して表示する
      • aws ec2 describe-instances –filters “Name=tag:Name,Values=<インスタンス名>”
    • EC2のIDだけ取得する
      • # 変数設定
        INSTANCE_NAME=XXX
        # IDを取得
        INSTANCE_ID=`aws ec2 describe-instances \
        --filters "Name=tag:Name,Values=${INSTANCE_NAME}" \
        --query "Reservations[*].Instances[*].{Instance:InstanceId}" \
        --output text`
        # 取得結果
        echo ${INSTANCE_ID}
        • 実行結果
          • (aws_cli_env) /Users/kon/Documents/07_env: echo ${INSTANCE_ID}
            i-XXX
    • EC2を起動(停止してたものを起動)
      • aws ec2 start-instances --instance-ids ${INSTANCE_ID}
        • 実行結果
          • 
            (aws_cli_env) /Users/kon/Documents/07_env: aws ec2 start-instances --instance-ids ${INSTANCE_ID}
            {
                "StartingInstances": [
                    {
                        "CurrentState": {
                            "Code": 0,
                            "Name": "pending"
                        },
                        "InstanceId": "i-XXX",
                        "PreviousState": {
                            "Code": 80,
                            "Name": "stopped"
                        }
                    }
                ]
            }
            
            
    • EC2の状態を取得
      • aws ec2 describe-instance-status --instance-ids ${INSTANCE_ID}
        • 起動したらこんな感じ
          • (aws_cli_env) /Users/kon/Documents/07_env: aws ec2 describe-instance-status --instance-ids ${INSTANCE_ID}
            {
                "InstanceStatuses": [
                    {
                        "AvailabilityZone": "ap-northeast-1a",
                        "InstanceId": "i-XXX",
                        "InstanceState": {
                            "Code": 16,
                            "Name": "running"
                        },
                        "InstanceStatus": {
                            "Details": [
                                {
                                    "Name": "reachability",
                                    "Status": "passed"
                                }
                            ],
                            "Status": "ok"
                        },
                        "SystemStatus": {
                            "Details": [
                                {
                                    "Name": "reachability",
                                    "Status": "passed"
                                }
                            ],
                            "Status": "ok"
                        }
                    }
                ]
            }
            (aws_cli_env) /Users/kon/Documents/07_env:
    • EC2を停止
      • aws ec2 stop-instances --instance-ids ${INSTANCE_ID}

         

        • 止めた後の状態
        • (aws_cli_env) /Users/kon/Documents/07_env: aws ec2 stop-instances --instance-ids ${INSTANCE_ID}
          {
              "StoppingInstances": [
                  {
                      "CurrentState": {
                          "Code": 80,
                          "Name": "stopped"
                      },
                      "InstanceId": "i-XXX",
                      "PreviousState": {
                          "Code": 80,
                          "Name": "stopped"
                      }
                  }
              ]
          }
          • stoppedになってればOK
aws
スポンサーリンク
K・B・S
タイトルとURLをコピーしました