全部產品
Search
文件中心

Elastic Compute Service:CLI參考

更新時間:Nov 21, 2024

阿里雲CLI(Command Line Interface)是一種命令列工具,允許使用者在終端或命令列介面調用阿里雲API,來建立、配置、管理阿里雲雲資源。本文主要介紹如何使用阿里雲CLI調用ECS API來建立和管理ECS執行個體的方法及其常用樣本。

說明

關於阿里雲CLI的詳細資料,請參見什麼是阿里雲CLI

CLI使用方式

安裝和配置CLI

使用本地終端

  1. 安裝CLI。

    阿里雲CLI提供了Windows、Linux和macOS三種作業系統下的安裝服務,請根據您使用裝置的作業系統選擇:

  2. 配置CLI。

    配置調用阿里雲資源所需的憑證資訊、地區、語言等。具體配置,請參見配置憑證

    重要

    為保證帳號安全,建議您建立專用於API訪問的RAM使用者並建立對應的AccessKey。更多關於憑據的安全使用建議,請參見憑據的安全使用方式情節

通過Cloud Shell(適用於調試)

通過阿里雲控制台使用CLI時,無需做任何安裝配置操作即可使用。由於其銷毀特性會導致資料丟失,建議您使用阿里雲控制台做簡單、快速的操作,例如調試。

重要
  • 到期銷毀:Cloud Shell建立的虛擬機器只有1小時使用到期日,到期後會立即銷毀虛擬機器。再次啟動時,會建立一台全新的虛擬機器。

  • 無操作銷毀:無互動式操作30分鐘或者關閉所有會話視窗將視為終止操作,在終止操作後15分鐘雲命令列將銷毀此台虛擬機器。再次啟動雲命令列時,會為您建立一台全新的虛擬機器。更多使用限制,請參見使用限制

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

Cloud Shell

通過CLI調用ECS API

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

  • 關於命令結構說明,請參見產生並調用命令

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

安裝配置好CLI後,您可以在終端按照以下命令結構,調用ECS API。

aliyun ecs <API Name> --<參數1 取值1> --<參數2 取值2> ...

可以通過OpenAPI自動產生API對應的CLI代碼

  1. 登入Elastic Compute Service API調試列表

  2. 選擇您需要使用的API,並填寫參數。

  3. 單擊右側的CLI樣本頁簽即可產生攜帶參數的命令。

    2024-08-12_10-30-57.png

CLI調用樣本

以下樣本為您展示如何使用阿里雲CLI調用Elastic Compute Service API。

重要

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

建立ECS執行個體

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

  1. 準備工作。

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

    說明

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

    1. 調用CreateVpc建立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. 建立ECS執行個體。

    調用RunInstances建立一個訂用帳戶的ECS執行個體。

    1. 情境樣本

      參數

      樣本取值

      RegionId

      地區:cn-hangzhou

      ImageId

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

      InstanceType

      執行個體規格:

      • 個人應用:推薦選擇2 vCPU 2 GiB的執行個體規格ecs.e-c1m1.large

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

      SecurityGroupId

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

      樣本:sg-bp18z2q1jg4gq95t****

      VSwitchId

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

      樣本:vsw-bp11hf5r945gewysp****

      InstanceName

      執行個體名稱。

      樣本:ecs_cli_demo

      InstanceChargeType

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

      說明

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

      PeriodUnit

      付費周期單位:Month

      Period

      付費時間長度:1

      InternetMaxBandwidthOut

      公網IP頻寬:1

      Password

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

      說明

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

      SystemDisk.Category

      系統硬碟類型:cloud_essd

      SystemDisk.Size

      系統硬碟大小:40

    2. 請求樣本

      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 40
    3. 返回樣本

      { 
              "InstanceIdSets": {
                      "InstanceIdSet": [
                              "i-bp1de173dp87k5uv****"
                      ]
              },
              "OrderId": 23577729747****,
              "RequestId": "B0855F1A-279F-5153-BAA9-C245E073****",
              "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****,地區為華東1(杭州)(cn-hangzhou),啟動執行個體時不進行故障處理,並且預檢查後直接啟動ECS執行個體。

  • 請求樣本

    aliyun ecs StartInstance \
    --RegionId cn-hangzhou \
    --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-bp1de173dp87k5uv**** | ecs_cli_demo |             | aliyun_3_x64_20G_alibase_20240528.vhd | 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-bp1de173dp87k5uv**** | ecs_cli_demo |             | aliyun_3_x64_20G_alibase_20240528.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   | aliyun_3_x64_20G_alibase_20240528.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介面建立快照。

  • 情境樣本:為ESSD雲端硬碟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)

    地區

    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-7AF2BBC4****"
    }

停止執行個體

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

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

  • 請求樣本

    aliyun ecs StopInstance \
    --RegionId cn-hangzhou \
    --InstanceId i-bp1aq39j2yul5y01**** \
    --ForceStop false \
    --StoppedMode KeepCharging \
    --DryRun false
  • 返回樣本

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

相關文檔

本樣本僅使用部分API,更多ECS API資訊,請參見API概覽

在阿里雲CLI中,您可根據需要使用命令列選項,用來修改命令的預設行為或為命令提供額外功能,請參見API命令可用選項