All Products
Search
Document Center

Elastic Compute Service:Create and manage an ECS instance by using Alibaba Cloud CLI

Last Updated:Jul 11, 2024

If you regularly use Alibaba Cloud CLI to manage Alibaba Cloud resources, you can use Cloud Shell to create and manage Elastic Compute Service (ECS) instances by using Alibaba Cloud CLI. This topic describes how to create and manage ECS instances by using Alibaba Cloud CLI and provides examples.

CLI usage

  1. Access the Cloud Shell client.

    Access the Cloud Shell client from the Alibaba Cloud Management Console

    Log on to the ECS console and click the Cloud Shell icon in the upper-right corner to go to the Cloud Shell console.

    Cloud Shell

    Access the Cloud Shell client from an on-premises terminal

    1. Install CLI.

    2. Grant CLI permissions to access your Alibaba Cloud account.

      In this example, AccessKey pair-based authentication is used. For information about other authentication methods, see Configure credential.

      Note
      • For information about regions, see Regions and Zones.

      • An AccessKey pair consists of an AccessKey ID and an AccessKey secret. For information about how to obtain an AccessKey pair, see Create an AccessKey pair.

      aliyun configure
      aliyun Access Key ID [None]: xxxxx  # AccessKey ID
      aliyun Access Key Secret [None]: xxxxx  # AccessKey Secret
      Default Region Id [None]: cn-hangzhou # The region ID.
      Default Output Format [json]: json (Only supports JSON) # Only the JSON format is supported.
      Default Language [zh|en]: en # Select English as the default language.

      After you complete the configurations, the following information is displayed if the configured credential is valid:

      Configure Done!!!
      ..............888888888888888888888 ........=8888888888888888888D=..............
      ...........88888888888888888888888 ..........D8888888888888888888888I...........
      .........,8888888888888ZI: ...........................=Z88D8888888888D..........
      .........+88888888 ..........................................88888888D..........
      .........+88888888 .......Welcome to use Alibaba Cloud.......O8888888D..........
      .........+88888888 ............. ************* ..............O8888888D..........
      .........+88888888 .... Command Line Interface(Reloaded) ....O8888888D..........
      .........+88888888...........................................88888888D..........
      ..........D888888888888DO+. ..........................?ND888888888888D..........
      ...........O8888888888888888888888...........D8888888888888888888888=...........
      ............ .:D8888888888888888888.........78888888888888888888O ..............
  2. In Alibaba Cloud CLI, you can call an API operation to complete a task based on the following format requirements.

    Important
    • For information about the formats supported by fields of different data types, see Parameter formats.

    • Before you call an API operation, we recommend that you read the instructions of the API operation.

    aliyun <product> <ApiName> 
    --parameter1 value1 \
    --parameter2 value2 \
    ...

Sample CLI requests

Important
  • The following sample requests are only for reference. Modify the request commands based on your business requirements.

  • For information about ECS API operations, see API Reference.

Create an ECS instance

The following example describes how to create a subscription ECS instance from an Alibaba Cloud Linux image in the China (Hangzhou) region by using Alibaba Cloud CLI.

  1. Make preparations.

    Before you create an ECS instance, create a virtual private cloud (VPC), a vSwitch, and a security group, and obtain the IDs of the preceding resources.

    Note

    If you already created the preceding resources and the resources meet your requirements, skip this step.

    1. Call the CreateVpc operation to create a VPC.

      Example: Create a VPC

      In this example, a VPC is created in the China (Hangzhou) region and associated with the CIDR block 192.168.0.0/16.

      • Command

        aliyun vpc CreateVpc \
        --RegionId cn-hangzhou \
        --CidrBlock 192.168.0.0/16 
      • Command output

        {
                "RequestId": "EC94C73B-8103-4B86-B353-E65C7C9E****",
                "ResourceGroupId": "rg-acfmzw2jz2z****",
                "RouteTableId": "vtb-bp1jxpr9ji5wcn4yv****",
                "VRouterId": "vrt-bp1dyxemup2q4ouga****",
                "VpcId": "vpc-bp1d9v4763ym2hlzt****"
        }
    2. Call the CreateVSwitch operation to create a vSwitch in the VPC.

      Example: Create a vSwitch

      In this example, the CIDR block of the vSwitch is 192.168.0.0/24 and the VPC ID is vpc-bp1d9v4763ym2hlzt****.

      • Command

        aliyun vpc CreateVSwitch \
        --CidrBlock 192.168.0.0/24 \
        --VpcId vpc-bp1d9v4763ym2hlzt**** \
        --ZoneId=cn-hangzhou-i
      • Command output

        {
                "RequestId": "AF1787C4-0D81-44F0-A324-D5C54EA0****",
                "VSwitchId": "vsw-bp11hf5r945gewysp****"
        }
    3. Call the CreateSecurityGroup operation to create a security group.

      Example: Create a security group

      • Command

        aliyun ecs CreateSecurityGroup \
        --RegionId cn-hangzhou \
        --VpcId vpc-bp1d9v4763ym2hlzt****
      • Command output

        {
                "RequestId": "B1C25C34-9B84-49E3-9E50-FB7D7970****",
                "SecurityGroupId": "sg-bp18z2q1jg4gq95t****"
        }
    4. Call the AuthorizeSecurityGroup operation to add security group rules.

      Example: Add a security group rule

      In this example, an inbound security group rule that allows TCP traffic on port 22 is added to the security group whose ID is sg-bp18z2q1jg4gq95t****.

      • Command

        aliyun ecs AuthorizeSecurityGroup \
        --RegionId cn-hangzhou \
        --SecurityGroupId sg-bp18z2q1jg4gq95t**** \
        --IpProtocol tcp \
        --SourceCidrIp 0.0.0.0/0 \
        --PortRange 22/22
      • Command output

        {
         "RequestId": "FA8B1E61-C9C9-4D91-9628-64B8E2F4****"
        }
  2. Call the RunInstances operation to create a subscription ECS instance.

    • Example scenarios

      Parameter

      Description and example

      RegionId

      The ID of the region in which to create the ECS instance. Example: cn-hangzhou.

      ImageId

      The ID of the image. We recommend that you select the Alibaba Cloud Linux image whose ID is aliyun_3_x64_20G_alibase_20240528.vhd.

      InstanceType

      The instance type. Examples:

      • For personal applications, we recommend that you select the ecs.e-c1m1.large instance type that has 2 vCPUs and 2 GiB of memory.

      • For the applications of small and medium-sized enterprises, we recommend that you select the ecs.c7.large instance type that has 2 vCPUs and 4 GiB of memory.

      SecurityGroupId

      The security group ID. Obtain the value from the response of the CreateSecurityGroup operation.

      Example: sg-bp18z2q1jg4gq95t****.

      VSwitchId

      The vSwitch ID. Obtain the value from the response of the CreateVSwitch operation.

      Example: vsw-bp11hf5r945gewysp****.

      InstanceName

      The name of the ECS instance.

      Example: ecs_cli_demo.

      InstanceChargeType

      The billing method of the ECS instance. To create a subscription ECS instance, set the value to PrePaid.

      Note

      Make sure that your account balance is sufficient.

      PeriodUnit

      The unit of the subscription duration. Example: Month.

      Period

      The subscription duration. Example: 1.

      InternetMaxBandwidthOut

      The maximum outbound public bandwidth. Example: 1.

      Password

      The logon password of the ECS instance. Example: <yourPassword>.

      Note

      To ensure instance security, you must specify a complex password.

      SystemDisk.Category

      The category of the system disk. Example: cloud_essd.

      SystemDisk.Size

      The size of the system disk. Example: 40.

    • Command

      aliyun ecs RunInstances \
      --RegionId cn-hangzhou \
      --ImageId aliyun_3_x64_20G_alibase_20240528.vhd \
      --InstanceType ecs.c7.large \
      --SecurityGroupId sg-bp18z2q1jg4gq95t**** \
      --VSwitchId vsw-bp11hf5r945gewys**** \
      --InstanceName ecs_cli_demo \
      --InstanceChargeType PrePaid \
      --PeriodUnit Month \
      --Period 1 \
      --InternetMaxBandwidthOut 1 \
      --Password <yourPassword>  \
      --SystemDisk.Category cloud_essd \
      --SystemDisk.Size 40GiB
    • Command output

      { 
              "InstanceIdSets": {
                      "InstanceIdSet": [
                              "i-bp1de173dp87k5uv****"
                      ]
              },
              "OrderId": 23577729747****,
              "RequestId": "B0855F1A-279F-5153-BAA9-C245E073****",
              "TradePrice": ****
      }

Connect to an ECS instance

  1. You can call an operation to obtain the public IP address of an ECS instance.

    In this example, the DescribeInstances operation is called to obtain the public IP address of the ECS instance whose ID is i-bp1ducce5hs1jm98****.

    • Command

      aliyun ecs DescribeInstances \
      --RegionId cn-hangzhou \
      --InstanceIds '["i-bp1ducce5hs1jm98****"]'
    • Command output

      The PublicIpAddresses parameter indicates the public IP address of the ECS instance.

      公网IP

  2. Connect to a Windows ECS instance.

    ssh <Username>@<Public IP address>

    ssh登录

Start an ECS instance

Call the StartInstance operation to start an ECS instance.

  • Example: Start an ECS instance whose ID is i-bp1aq39j2yul5y01**** after a dry run, and do not perform troubleshooting during instance startup.

  • Command

  • aliyun ecs StartInstance \
    --InstanceId i-bp1aq39j2yul5y01**** \
    --InitLocalDisk false \
    --DryRun false
  • Command output

  • {
     "RequestId": "2DD09CBD-1F4D-4923-94C7-F3BD67137BBE"
    }

Query the details of ECS instances

Call the DescribeInstances operation to query the details of one or more ECS instances.

Example 1: Query an ECS instance by instance ID

In this example, information about an ECS instance whose ID is i-bp14a7xie8erwsvo**** is queried.

  • Command

    aliyun ecs DescribeInstances \
    --RegionId cn-hangzhou \
    --InstanceIds '["i-bp14a7xie8erwsvo****"]' \
    --output cols=InstanceId,InstanceName,Description,ImageId,Status rows=Instances.Instance[]
  • Command output

    InstanceId             | InstanceName | Description | ImageId                               | Status
    ----------             | ------------ | ----------- | -------                               | ------
    i-bp1de173dp87k5uv**** | ecs_cli_demo |             | aliyun_3_x64_20G_alibase_20240528.vhd | Running

Example 2: Query ECS instances by tag

In this example, information about ECS instances to which owner:zhangsan tags are added is queried.

  • Command

    aliyun ecs DescribeInstances \
    --RegionId cn-hangzhou \
    --Tag.1.Key owner \
    --Tag.1.Value zhangsan \
    --output cols=InstanceId,InstanceName,Description,ImageId,Status rows=Instances.Instance[]
  • Command output

    InstanceId             | InstanceName | Description | ImageId                               | Status
    ----------             | ------------ | ----------- | -------                               | ------
    i-bp1de173dp87k5uv**** | ecs_cli_demo |             | aliyun_3_x64_20G_alibase_20240528.vhd | Running

Example 3: Query ECS instances by image ID

In this example, information about ECS instances whose image has the m-bp12qhgxbmp5eh02**** tag is queried.

  • Command

    aliyun ecs DescribeInstances \
    --RegionId cn-hangzhou \
    --ImageId m-bp12qhgxbmp5eh02**** \
    --output cols=InstanceId,InstanceName,Description,ImageId,Status rows=Instances.Instance[]
  • Command output

    InstanceId             | InstanceName | Description | ImageId                | Status
    ----------             | ------------ | ----------- | -------                | ------
    i-bp14a7xie8erwsvo**** | demo01       | desc01      | m-bp12qhgxbmp5eh02**** | Running
    i-bp1aq39j2yul5y01**** | demo02       | desc02      | m-bp12qhgxbmp5eh02**** | Stopped

Example 4: Query ECS instances in a specific VPC

In this example, information about ECS instances that reside in a VPC whose ID is vpc-bp1vwnn14rqpyiczj**** and are connected to a vSwitch whose ID is vsw-bp1ddbrxdlrcbim46**** is queried.

  • Command

    aliyun ecs DescribeInstances \
    --RegionId cn-hangzhou \
    --VpcId vpc-bp1vwnn14rqpyiczj**** \
    --VSwitchId vsw-bp1ddbrxdlrcbim46**** \
    --output cols=InstanceId,InstanceName,ImageId,Status rows=Instances.Instance[]
  • Command output

    InstanceId             | InstanceName | ImageId                               | Status
    ----------             | ------------ | -------                               | ------
    i-bp14a7xie8erwsvo**** | namedemo01   | m-bp12qhgxbmp5eh02****                | Running
    i-bp1c271nqm264lwj**** | namedemo02   | P2VSImageLnx125                       | Running
    i-bp18a6ub0vt1tvn1**** | namedemo03   | aliyun_3_x64_20G_alibase_20240528.vhd | Running
    i-bp1aq39j2yul5y01**** | namedemo04   | m-bp12qhgxbmp5eh02****                | Stopped

Example 5: Query ECS instances by page

Call the DescribeInstances operation to query ECS instances in the China (Hangzhou) region by page. Each page displays five entries.

  • Command

    aliyun ecs DescribeInstances \
    --RegionId cn-hangzhou \
    --PageNumber 2 \
    --PageSize 5 \
    --output cols=InstanceId,InstanceName,ImageId,Status rows=Instances.Instance[]
  • Command output

    InstanceId             | InstanceName | ImageId                                 | Status
    ----------             | ------------ | -------                                 | ------
    i-bp1akazu9o0rm7q0**** | demoname01   | centos_8_0_x64_20G_alibase_20191225.vhd | Running
    i-bp134jm1g6kqyiqu**** | demoname02   | m-bp1bc3g3b032o0ja****                  | Running
    i-bp17qwke5y0v7hk2**** | demoname03   | centos_7_02_64_20G_alibase_20170818.vhd | Running
    i-bp18a6ub0vt1tvn1**** | demoname04   | centos_7_02_64_20G_alibase_20170818.vhd | Running
    i-bp1aq39j2yul5y01**** | demoname05   | m-bp12qhgxbmp5eh02****                  | Stopped

Create a snapshot for a disk

Call the CreateSnapshot operation to create a snapshot based on a specific disk.

  • Example scenario: Create a snapshot for an Enterprise SSD (ESSD) whose ID is d-bp14bjlwo3t3owin****. Set the snapshot name to demoname, the description to demo, and the retention period to three days.

  • Command

    aliyun ecs CreateSnapshot \
    --DiskId d-bp14bjlwo3t3owin**** \
    --SnapshotName demoname \
    --Description demo \
    --RetentionDays 3
  • Command output

    {
     "RequestId": "DFB0B01F-420D-4932-911E-7328920C2012",
     "SnapshotId": "s-bp1eyr9nxxoo9icj****"
    }

Create a custom image from an ECS instance

Call the CreateImage operation to create a custom image from an ECS instance.

  • Example scenario: Create a custom image from an ECS instance whose ID is i-bp1aq39j2yul5y01**** and that runs Alibaba Cloud Linux (Platform set to Aliyun) and is deployed in the China (Hangzhou) (cn-hangzhou) region.

  • Command

    aliyun ecs CreateImage \
    --RegionId cn-hangzhou \
    --InstanceId i-bp1aq39j2yul5y01**** \
    --ImageName demoimage \
    --Description demoimage \
    --Platform Aliyun
  • Command output

    {
     "ImageId": "m-bp1503ydxxrppctb****",
     "RequestId": "011AE447-20CE-4043-81AC-7AF2BBC4****"
    }

Stop an ECS instance

Call the StopInstance operation for which the ForceStop parameter is set to false and the StoppedMode parameter is set to KeepCharing to stop an ECS instance in the Running (Running) state after a dry run. The ECS instance is stopped in standard mode, and billing for the ECS instance continues.

  • Example scenario: Stop an ECS instance whose ID is i-bp1aq39j2yul5y01**** in the China (Hangzhou) (cn-hangzhou) region.

  • Command

    aliyun ecs StopInstance \
    --InstanceId i-bp1aq39j2yul5y01**** \
    --ForceStop false \
    --StoppedMode KeepCharging \
    --DryRun false
  • Command output

    {
        "RequestId": "121B5745-4983-57B1-BC97-C3A3536E****"
    }