阿里雲CLI(Command Line Interface)是一種命令列工具,允許使用者在終端或命令列介面調用阿里雲API,來建立、配置、管理阿里雲雲資源。本文主要介紹如何使用阿里雲CLI調用ECS API來建立和管理ECS執行個體的方法及其常用樣本。
CLI使用方式
安裝和配置CLI
使用本地終端
安裝CLI。
阿里雲CLI提供了Windows、Linux和macOS三種作業系統下的安裝服務,請根據您使用裝置的作業系統選擇:
配置CLI。
配置調用阿里雲資源所需的憑證資訊、地區、語言等。具體配置,請參見配置憑證。
重要 為保證帳號安全,建議您建立專用於API訪問的RAM使用者並建立對應的AccessKey。更多關於憑據的安全使用建議,請參見憑據的安全使用方式情節。
通過Cloud Shell(適用於調試)
通過阿里雲控制台使用CLI時,無需做任何安裝配置操作即可使用。由於其銷毀特性會導致資料丟失,建議您使用阿里雲控制台做簡單、快速的操作,例如調試。
登入ECS管理主控台,單擊右上方的Cloud Shell表徵圖,進入Cloud Shell控制台。
通過CLI調用ECS API
安裝配置好CLI後,您可以在終端按照以下命令結構,調用ECS API。
aliyun ecs <API Name> --<參數1 取值1> --<參數2 取值2> ...
CLI調用樣本
以下樣本為您展示如何使用阿里雲CLI調用Elastic Compute Service API。
重要 以下請求僅為樣本,具體請求命令請根據實際需求修改。
建立ECS執行個體
以在杭州地區建立一個基於Alibaba Cloud Linux鏡像的訂用帳戶的ECS執行個體為例,指導您如何通過CLI建立ECS執行個體。
準備工作。
在建立ECS執行個體前,請確保您已經建立了Virtual Private Cloud、交換器、安全性群組,並擷取其ID。
說明 如果您已有上述資源且符合需求,可跳過該步驟。
調用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****"
}
調用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****"
}
調用CreateSecurityGroup建立安全性群組。
請求樣本
aliyun ecs CreateSecurityGroup \
--RegionId cn-hangzhou \
--VpcId vpc-bp1d9v4763ym2hlzt****
返回樣本
{
"RequestId": "B1C25C34-9B84-49E3-9E50-FB7D7970****",
"SecurityGroupId": "sg-bp18z2q1jg4gq95t****"
}
調用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****"
}
建立ECS執行個體。
調用RunInstances建立一個訂用帳戶的ECS執行個體。
情境樣本
參數 | 樣本取值 |
RegionId | 地區:cn-hangzhou |
ImageId | 鏡像:推薦使用Alibaba Cloud Linux鏡像aliyun_3_x64_20G_alibase_20240528.vhd。 |
InstanceType | 執行個體規格: |
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 |
請求樣本
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
返回樣本
{
"InstanceIdSets": {
"InstanceIdSet": [
"i-bp1de173dp87k5uv****"
]
},
"OrderId": 23577729747****,
"RequestId": "B0855F1A-279F-5153-BAA9-C245E073****",
"TradePrice": ****
}
串連執行個體
擷取執行個體的公網IP資訊。
調用DescribeInstances,通過執行個體ID(i-bp1ducce5hs1jm98****
)擷取執行個體的公網IP資訊。
串連ECS執行個體。
ssh <使用者名稱>@<公網IP>
啟動執行個體
調用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命令可用選項。