通過CLI使用ECS實(shí)例
阿里云CLI(Command Line Interface)是一種命令行工具,允許用戶在終端或命令行界面調(diào)用阿里云API,來創(chuàng)建、配置、管理阿里云云資源。本文主要介紹如何使用阿里云CLI調(diào)用ECS API來創(chuàng)建和管理ECS實(shí)例的方法及其常用示例。
關(guān)于阿里云CLI的詳細(xì)信息,請參見什么是阿里云CLI。
CLI使用方式
安裝和配置CLI
使用本地終端
安裝CLI。
阿里云CLI提供了Windows、Linux和macOS三種操作系統(tǒng)下的安裝服務(wù),請根據(jù)您使用設(shè)備的操作系統(tǒng)選擇:
配置CLI。
配置調(diào)用阿里云資源所需的憑證信息、地域、語言等。具體配置,請參見配置憑證。
重要為保證賬號安全,建議您創(chuàng)建專用于API訪問的RAM用戶并創(chuàng)建對應(yīng)的AccessKey。更多關(guān)于憑據(jù)的安全使用建議,請參見憑據(jù)的安全使用方案。
通過Cloud Shell(適用于調(diào)試)
通過阿里云控制臺使用CLI時,無需做任何安裝配置操作即可使用。由于其銷毀特性會導(dǎo)致數(shù)據(jù)丟失,建議您使用阿里云控制臺做簡單、快速的操作,例如調(diào)試。
到期銷毀:Cloud Shell創(chuàng)建的虛擬機(jī)只有1小時使用期限,到期后會立即銷毀虛擬機(jī)。再次啟動時,會創(chuàng)建一臺全新的虛擬機(jī)。
無操作銷毀:無交互式操作30分鐘或者關(guān)閉所有會話窗口將視為終止操作,在終止操作后15分鐘云命令行將銷毀此臺虛擬機(jī)。再次啟動云命令行時,會為您創(chuàng)建一臺全新的虛擬機(jī)。更多使用限制,請參見使用限制。
登錄ECS管理控制臺,單擊右上角的Cloud Shell圖標(biāo),進(jìn)入Cloud Shell控制臺。
通過CLI調(diào)用ECS API
不同數(shù)據(jù)類型字段需要遵循的格式要求,詳細(xì)說明,請參見參數(shù)格式說明。
關(guān)于命令結(jié)構(gòu)說明,請參見命令結(jié)構(gòu)。
調(diào)用接口前建議您仔細(xì)閱讀相關(guān)API的使用說明。
安裝配置好CLI后,您可以在終端按照以下命令結(jié)構(gòu),調(diào)用ECS API。
aliyun ecs <API Name> --<參數(shù)1 取值1> --<參數(shù)2 取值2> ...
可以通過OpenAPI自動生成API對應(yīng)的CLI代碼
選擇您需要使用的API,并填寫參數(shù)。
單擊右側(cè)的CLI示例頁簽即可生成攜帶參數(shù)的命令。
CLI調(diào)用示例
以下示例為您展示如何使用阿里云CLI調(diào)用云服務(wù)器ECS API。
以下請求僅為示例,具體請求命令請根據(jù)實(shí)際需求修改。
創(chuàng)建ECS實(shí)例
以在杭州地域創(chuàng)建一個基于Alibaba Cloud Linux鏡像的包年包月的ECS實(shí)例為例,指導(dǎo)您如何通過CLI創(chuàng)建ECS實(shí)例。
準(zhǔn)備工作。
在創(chuàng)建ECS實(shí)例前,請確保您已經(jīng)創(chuàng)建了專有網(wǎng)絡(luò)VPC、交換機(jī)、安全組,并獲取其ID。
說明如果您已有上述資源且符合需求,可跳過該步驟。
假設(shè)在華東1(杭州)創(chuàng)建專有網(wǎng)絡(luò)VPC,VPC網(wǎng)段為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****" }
假設(shè)交換機(jī)網(wǎng)段為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****" }
假設(shè)在安全組(ID為sg-bp18z2q1jg4gq95t****)的入方向放行22端口,協(xié)議為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****" }
創(chuàng)建ECS實(shí)例。
場景示例
參數(shù)
示例取值
RegionId
地域:cn-hangzhou
ImageId
鏡像:推薦使用Alibaba Cloud Linux鏡像aliyun_3_x64_20G_alibase_20240528.vhd。
InstanceType
實(shí)例規(guī)格:
個人應(yīng)用:推薦選擇2 vCPU 2 GiB的實(shí)例規(guī)格ecs.e-c1m1.large。
中小企業(yè)應(yīng)用:推薦選擇2 vCPU 4 GiB的實(shí)例規(guī)格ecs.c7.large。
SecurityGroupId
安全組ID:根據(jù)CreateSecurityGroup返回結(jié)果。
示例:sg-bp18z2q1jg4gq95t****
VSwitchId
交換機(jī)ID:根據(jù)CreateVSwitch返回結(jié)果。
示例:vsw-bp11hf5r945gewysp****
InstanceName
實(shí)例名稱。
示例:ecs_cli_demo
InstanceChargeType
付費(fèi)方式:實(shí)例按照包年包月的付費(fèi)方式PrePaid。
說明您需要確保賬號余額能夠完成支付。
PeriodUnit
付費(fèi)周期單位:Month
Period
付費(fèi)時長:1
InternetMaxBandwidthOut
公網(wǎng)IP帶寬:1
Password
實(shí)例登錄密碼:<yourPassword>
說明您需要自定義復(fù)雜密碼以保護(hù)ECS實(shí)例的安全。
SystemDisk.Category
系統(tǒng)盤類型:cloud_essd
SystemDisk.Size
系統(tǒng)盤大小: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": **** }
連接實(shí)例
獲取實(shí)例的公網(wǎng)IP信息。
調(diào)用DescribeInstances,通過實(shí)例ID(
i-bp1ducce5hs1jm98****
)獲取實(shí)例的公網(wǎng)IP信息。請求示例
aliyun ecs DescribeInstances \ --RegionId cn-hangzhou \ --InstanceIds '["i-bp1ducce5hs1jm98****"]'
返回示例
參數(shù)PublicIpAddresses為實(shí)例的公網(wǎng)IP信息。
連接ECS實(shí)例。
ssh <用戶名>@<公網(wǎng)IP>
啟動實(shí)例
調(diào)用StartInstance接口啟動一臺ECS實(shí)例。
場景示例:實(shí)例ID為
i-bp1aq39j2yul5y01****
,地域?yàn)槿A東1(杭州)(cn-hangzhou),啟動實(shí)例時不進(jìn)行故障處理,并且預(yù)檢查后直接啟動ECS實(shí)例。請求示例
aliyun ecs StartInstance \ --RegionId cn-hangzhou \ --InstanceId i-bp1aq39j2yul5y01**** \ --InitLocalDisk false \ --DryRun false
返回示例
{ "RequestId": "2DD09CBD-1F4D-4923-94C7-F3BD67137BBE" }
查詢實(shí)例的詳細(xì)信息
您可以調(diào)用DescribeInstances接口查詢一臺或多臺ECS實(shí)例的詳細(xì)信息。
假設(shè)查詢實(shí)例ID為i-bp14a7xie8erwsvo****
的實(shí)例信息。
請求示例
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
假設(shè)查詢綁定owner:zhangsan
標(biāo)簽的ECS實(shí)例信息。
請求示例
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****
標(biāo)簽的ECS實(shí)例信息。
請求示例
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
假設(shè)VPC ID為vpc-bp1vwnn14rqpyiczj****
、交換機(jī)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
調(diào)用DescribeInstances分頁查詢杭州地域的ECS實(shí)例,每頁展示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
創(chuàng)建快照
調(diào)用CreateSnapshot接口創(chuàng)建快照。
場景示例:為ESSD云盤
d-bp14bjlwo3t3owin****
創(chuàng)建一個快照(快照名稱為demoname,描述為demo,保留時間:3天)。請求示例
aliyun ecs CreateSnapshot \ --DiskId d-bp14bjlwo3t3owin**** \ --SnapshotName demoname \ --Description demo \ --RetentionDays 3
返回示例
{ "RequestId": "DFB0B01F-420D-4932-911E-7328920C2012", "SnapshotId": "s-bp1eyr9nxxoo9icj****" }
通過實(shí)例創(chuàng)建自定義鏡像
調(diào)用CreateImage接口,基于ECS實(shí)例創(chuàng)建一個自定義鏡像。
場景示例
參數(shù)
示例取值
實(shí)例ID
i-bp1aq39j2yul5y01****
操作系統(tǒng)
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****" }
停止實(shí)例
調(diào)用StopInstance停止一臺運(yùn)行中(Running
)的ECS實(shí)例,正常關(guān)機(jī)(ForceStop為 false)且停機(jī)模式為普通停機(jī)模式(StoppedMode為KeepCharging,即停止后仍舊保留實(shí)例并繼續(xù)收費(fèi)),預(yù)檢查后正常停止ECS實(shí)例。
場景示例:實(shí)例ID為i-bp1aq39j2yul5y01****,地域?yàn)槿A東1(杭州)(cn-hangzhou)。
請求示例
aliyun ecs StopInstance \ --RegionId cn-hangzhou \ --InstanceId i-bp1aq39j2yul5y01**** \ --ForceStop false \ --StoppedMode KeepCharging \ --DryRun false
返回示例
{ "RequestId": "121B5745-4983-57B1-BC97-C3A3536E****" }
相關(guān)文檔
本示例僅使用部分API,更多ECS API信息,請參見API概覽。
在阿里云CLI中,您可根據(jù)需要使用命令行選項(xiàng),用來修改命令的默認(rèn)行為或?yàn)槊钐峁╊~外功能,請參見API命令可用選項(xiàng)。