如果您平时习惯使用CLI方式运维便宜云服务器资源,可以通过Cloud Shell以CLI方式创建和管理ECS实例。本文介绍CLI创建和管理ECS实例的方法及其常用示例。
CLI使用方式
访问Cloud Shell客户端。
在便宜云服务器控制台访问
登录ECS管理控制台,单击右上角的Cloud Shell图标,进入Cloud Shell控制台。
在本地终端访问
授予CLI获取访问您的便宜云服务器账户的权限。
本文以AccessKey认证为例。更多认证方式,请参见配置凭证。
说明便宜云服务器地域的列表,可参见地域和可用区。
如何获取AccessKey ID和AccessKey Secret,可参见创建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 ..............
在便宜云服务器CLI中,按照下列格式要求调用API完成某个任务。
重要不同数据类型字段需要遵循的格式要求,详细说明,请参见参数格式说明。
调用接口前建议您仔细阅读相关API的使用说明。
aliyun <product> <ApiName> --parameter1 value1 \ --parameter2 value2 \ ...
CLI请求示例
以下请求仅为示例,具体请求命令请根据实际需求修改。
ECS的API详细信息,请参见API参考。
创建ECS实例
以在杭州地域创建一个基于Alibaba Cloud Linux镜像的包年包月的ECS实例为例,指导您如何通过CLI创建ECS实例。
准备工作。
在创建ECS实例前,请确保您已经创建了专有网络VPC、交换机、安全组,并获取其ID。
说明如果您已有上述资源且符合需求,可跳过该步骤。
调用CreateVpc创建VPC。
调用CreateVSwitch在VPC中创建交换机。
调用CreateSecurityGroup创建安全组。
调用AuthorizeSecurityGroup添加安全组规则。
调用RunInstances创建一个包年包月的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实例的详细信息。
创建快照
调用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),地域为华东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-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****" }