阿里云CLI(Command Line Interface)是一種命令行工具,允許用戶在終端或命令行界面調用阿里云API,來創建、配置、管理阿里云云資源。本文主要介紹如何使用阿里云CLI調用ECS API來創建和管理ECS實例的方法及其常用示例。
關于阿里云CLI的詳細信息,請參見什么是阿里云CLI。
CLI使用方式
安裝和配置CLI
使用本地終端
通過Cloud Shell(適用于調試)
通過阿里云控制臺使用CLI時,無需做任何安裝配置操作即可使用。由于其銷毀特性會導致數據丟失,建議您使用阿里云控制臺做簡單、快速的操作,例如調試。
到期銷毀:Cloud Shell創建的虛擬機只有1小時使用期限,到期后會立即銷毀虛擬機。再次啟動時,會創建一臺全新的虛擬機。
無操作銷毀:無交互式操作30分鐘或者關閉所有會話窗口將視為終止操作,在終止操作后15分鐘云命令行將銷毀此臺虛擬機。再次啟動云命令行時,會為您創建一臺全新的虛擬機。更多使用限制,請參見使用限制。
登錄ECS管理控制臺,單擊右上角的Cloud Shell圖標,進入Cloud Shell控制臺。
通過CLI調用ECS API
安裝配置好CLI后,您可以在終端按照以下命令結構,調用ECS API。
aliyun ecs <API Name> --<參數1 取值1> --<參數2 取值2> ...
可以通過OpenAPI自動生成API對應的CLI代碼
選擇您需要使用的API,并填寫參數。
單擊右側的CLI示例頁簽即可生成攜帶參數的命令。
CLI調用示例
以下示例為您展示如何使用阿里云CLI調用云服務器ECS API。
以下請求僅為示例,具體請求命令請根據實際需求修改。
創建ECS實例
以在杭州地域創建一個基于Alibaba Cloud Linux鏡像的包年包月的ECS實例為例,指導您如何通過CLI創建ECS實例。
準備工作。
在創建ECS實例前,請確保您已經創建了專有網絡VPC、交換機、安全組,并獲取其ID。
說明如果您已有上述資源且符合需求,可跳過該步驟。
假設在華東1(杭州)創建專有網絡VPC,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****" }
假設交換機網段為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****" }
請求示例
aliyun ecs CreateSecurityGroup \ --RegionId cn-hangzhou \ --VpcId vpc-bp1d9v4763ym2hlzt****
返回示例
{ "RequestId": "B1C25C34-9B84-49E3-9E50-FB7D7970****", "SecurityGroupId": "sg-bp18z2q1jg4gq95t****" }
假設在安全組(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實例。
場景示例
參數
示例取值
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:根據CreateVSwitch返回結果。
示例: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信息。請求示例
aliyun ecs DescribeInstances \ --RegionId cn-hangzhou \ --InstanceIds '["i-bp1ducce5hs1jm98****"]'
返回示例
參數PublicIpAddresses為實例的公網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實例的詳細信息。
假設查詢實例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
假設查詢綁定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
查詢鏡像為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
假設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
調用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命令可用選項。