全部產品
Search
文件中心

Elastic Compute Service:通過CLI使用ECS執行個體

更新時間:Feb 28, 2024

如果您平時習慣使用CLI方式營運阿里雲資源,可以通過Cloud Shell以CLI方式建立和管理ECS執行個體。本文介紹CLI建立和管理ECS執行個體的方法及其常用樣本。

CLI使用方式

  1. 訪問Cloud Shell用戶端。

    在阿里雲控制台訪問

    登入ECS管理主控台,單擊右上方的Cloud Shell表徵圖,進入Cloud Shell控制台。

    在本地終端訪問

    1. 安裝CLI

    2. 授予CLI擷取訪問您的阿里雲賬戶的許可權。

      本文以AccessKey認證為例。更多認證方式,請參見配置憑證

      說明
      aliyun configure
      aliyun Access Key ID [None]: xxxxx  # AccessKey ID
      aliyun Access Key Secret [None]: xxxxx  # AccessKey Secret
      Default Region Id [None]: cn-hangzhou  # 地區ID
      Default Output Format [json]: json (Only supports JSON) # 目前僅支援JSON
      Default Language [zh|en]: en # 選擇英語

      配置完成後,若配置憑證有效,顯示如下資訊:

      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. 在阿里雲CLI中,按照下列格式要求調用API完成某個任務。

    重要
    • 不同資料類型欄位需要遵循的格式要求,詳細說明,請參見參數格式說明

    • 調用介面前建議您仔細閱讀相關API的使用說明。

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

CLI請求樣本

重要
  • 以下請求僅為樣本,具體請求命令請根據實際需求修改。

  • ECS的API詳細資料,請參見API參考

建立ECS執行個體

以在杭州地區建立一個基於Alibaba Cloud Linux鏡像的訂用帳戶的ECS執行個體為例,指導您如何通過CLI建立ECS執行個體。

  1. 準備工作。

    在建立ECS執行個體前,請確保您已經建立了Virtual Private Cloud、交換器、安全性群組,並擷取其ID。

    說明

    如果您已有上述資源且符合需求,可跳過該步驟。

    1. 調用CreateVpc建立VPC。

      樣本:建立VPC

      假設在華東1(杭州)建立Virtual Private Cloud,VPC網段為192.168.0.0/16。

      • 命令

        aliyun vpc CreateVpc \
        --RegionId cn-hangzhou \
        --CidrBlock 192.168.0.0/16 
      • 返回結果

        {
                "RequestId": "EC94C73B-8103-4B86-B353-E65C7C9E****",
                "ResourceGroupId": "rg-acfmzw2jz2z****",
                "RouteTableId": "vtb-bp1jxpr9ji5wcn4yv****",
                "VRouterId": "vrt-bp1dyxemup2q4ouga****",
                "VpcId": "vpc-bp1d9v4763ym2hlzt****"
        }
    2. 調用CreateVSwitch在VPC中建立交換器。

      樣本:建立交換器

      假設交換器網段為192.168.0.0/24,VPC ID為vpc-bp1d9v4763ym2hlzt****

      • 命令

        aliyun vpc CreateVSwitch \
        --CidrBlock 192.168.0.0/24 \
        --VpcId vpc-bp1d9v4763ym2hlzt**** \
        --ZoneId=cn-hangzhou-i
      • 返回結果

        {
                "RequestId": "AF1787C4-0D81-44F0-A324-D5C54EA0****",
                "VSwitchId": "vsw-bp11hf5r945gewysp****"
        }
    3. 調用CreateSecurityGroup建立安全性群組。

      樣本:建立安全性群組

      • 命令

        aliyun ecs CreateSecurityGroup \
        --RegionId cn-hangzhou \
        --VpcId vpc-bp1d9v4763ym2hlzt****
      • 返回結果

        {
                "RequestId": "B1C25C34-9B84-49E3-9E50-FB7D7970****",
                "SecurityGroupId": "sg-bp18z2q1jg4gq95t****"
        }
    4. 調用AuthorizeSecurityGroup添加安全性群組規則。

      樣本:添加安全性群組規則

      假設在安全性群組(ID為sg-bp18z2q1jg4gq95t****)的入方向允許存取22連接埠,協議為TCP。

      • 命令

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

        {
         "RequestId": "FA8B1E61-C9C9-4D91-9628-64B8E2F4****"
        }
  2. 調用RunInstances建立一個訂用帳戶的ECS執行個體。

    • 情境樣本

      參數

      樣本取值

      RegionId

      地區:cn-hangzhou

      ImageId

      鏡像:推薦使用Alibaba Cloud Linux鏡像aliyun_2_1903_x64_20G_alibase_20200324.vhd

      InstanceType

      執行個體規格:

      • 個人應用:推薦選擇1核2G的執行個體規格ecs.s6-c1m2.small

      • 中小公司專屬應用程式:推薦選擇2核4G的執行個體規格ecs.c5.large

      SecurityGroupId

      安全性群組ID:根據CreateSecurityGroup返回結果。

      樣本:sg-bp18z2q1jg4gq95t****

      VSwitchId

      交換器ID:根據CreateVSwitch返回結果。

      樣本:vsw-bp11hf5r945gewysp****

      InstanceName

      執行個體名稱。

      樣本:ecs_cli_demo

      InstanceChargeType

      付費方式:執行個體按照訂用帳戶的付費方式PrePaid

      說明

      您需要確保帳號餘額能夠完成支付。

      PeriodUnit

      付費周期單位:Month

      Period

      付費時間長度:1

      InternetMaxBandwidthOut

      公網IP頻寬:1

      Password

      執行個體登入密碼:<yourPassword>

      說明

      您需要自訂複雜密碼以保護ECS執行個體的安全。

    • 命令

      aliyun ecs RunInstances \
      --RegionId cn-hangzhou \
      --ImageId aliyun_2_1903_x64_20G_alibase_20200324.vhd \
      --InstanceType ecs.s6-c1m2.small \
      --SecurityGroupId sg-bp18z2q1jg4gq95t**** \
      --VSwitchId vsw-bp11hf5r945gewys**** \
      --InstanceName ecs_cli_demo \
      --InstanceChargeType PrePaid \
      --PeriodUnit Month \
      --Period 1 \
      --InternetMaxBandwidthOut 1 \
      --Password <yourPassword>
    • 返回

      {
       "InstanceIdSets": {
             "InstanceIdSet": [
                   "i-bp1ducce5hs1jm98****"
             ]
       },
       "OrderId": 22660647277****,
       "RequestId": "7F0166F9-9466-4AE1-8799-E68D6514****",
       "TradePrice": ****
      }

串連執行個體

  1. 擷取執行個體的公網IP資訊。

    假設調用DescribeInstances,通過執行個體ID(i-bp1ducce5hs1jm98****)擷取執行個體的公網IP資訊。

    • 命令

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

      參數PublicIpAddresses為執行個體的公網IP資訊。

      公網IP

  2. 串連ECS執行個體。

    ssh <使用者名稱>@<公網IP>

    ssh登入

啟動執行個體

調用StartInstance介面啟動一台ECS執行個體。

  • 情境樣本:執行個體ID為i-bp1aq39j2yul5y01****,啟動執行個體時不進行故障處理,並且預檢查後直接啟動ECS執行個體。

  • 命令

  • aliyun ecs StartInstance \
    --InstanceId i-bp1aq39j2yul5y01**** \
    --InitLocalDisk false \
    --DryRun false
  • 返回

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

查詢執行個體的詳細資料

您可以調用DescribeInstances介面查詢一台或多台ECS執行個體的詳細資料。

樣本1:根據執行個體ID查詢ECS執行個體

假設查詢執行個體ID為i-bp14a7xie8erwsvo****的執行個體資訊。

  • 命令

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

    InstanceId | InstanceName | Description | ImageId | Status
    ---------- | ------------ | ----------- | ------- | ------
    i-bp14a7xie8erwsvo**** | wpdemo | wp | m-bp12qhgxbmp5eh02**** | Running

樣本2:根據標籤查詢ECS執行個體

假設查詢繫結owner:zhangsan標籤的ECS執行個體資訊。

  • 命令

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

    InstanceId | InstanceName | Description | ImageId | Status
    ---------- | ------------ | ----------- | ------- | ------
    i-bp1aq39j2yul5y01**** | namedemo01 | demo01 | m-bp12qhgxbmp5eh02**** | Stopped
    i-bp1dpvr406hq1jnw**** | namedemo02 | demo01 | centos_7_06_64_20G_alibase_20190711.vhd | Running

樣本3:根據鏡像ID查詢ECS執行個體

查詢鏡像為m-bp12qhgxbmp5eh02****標籤的ECS執行個體資訊。

  • 命令

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

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

樣本4:查詢指定VPC內的ECS執行個體

假設VPC ID為vpc-bp1vwnn14rqpyiczj****、交換器ID為vsw-bp1ddbrxdlrcbim46****

  • 命令

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

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

樣本5:分頁查詢ECS執行個體

調用DescribeInstances分頁查詢杭州地區的ECS執行個體,每頁展示5條資訊。

  • 命令

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

    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

建立快照

調用CreateSnapshot介面建立快照。

  • 情境樣本:為高效雲端硬碟d-bp14bjlwo3t3owin****建立一個快照(快照名稱為demoname,描述為demo,保留時間:3天)。

  • 命令

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

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

通過執行個體建立自訂鏡像

調用CreateImage介面,基於ECS執行個體建立一個自訂鏡像。

  • 情境樣本:執行個體ID為i-bp1aq39j2yul5y01****、作業系統為Alibaba Cloud Linux(即Platform為Aliyun),地區為華東1(杭州)(cn-hangzhou)。

  • 命令

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

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

停止執行個體

調用StopInstance停止一台運行中(Running)的ECS執行個體,順利關機(ForceStop為 false)且停機模式為普通停機模式(StoppedMode為KeepCharging,即停止後仍舊保留執行個體並繼續收費),預檢查後正常停止ECS執行個體。

  • 情境樣本:執行個體ID為i-bp1aq39j2yul5y01****,地區為華東1(杭州)(cn-hangzhou)。

  • 命令

    aliyun ecs StopInstance \
    --InstanceId i-bp1aq39j2yul5y01**** \
    --ForceStop false \
    --StoppedMode KeepCharging \
    --DryRun false
  • 返回

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