aliyun-cli命令行创建ecs实例

aliyun-cli

阿里云命令行工具 CLI(Alibaba Cloud CLI)是基于阿里云开放 API 建立的管理工具。借助此工具,您可以通过调用阿里云开放 API 来管理阿里云产品。该命令行工具与阿里云开放 API 一一对应,灵活性高且易于扩展。您可基于该命令行工具对阿里云原生 API 进行封装,扩展出您想要的功能。

官方文档
https://github.com/aliyun/aliyun-cli

https://help.aliyun.com/knowledge_detail/139508.html

centos安装aliyun-cli

curl -LO https://github.com/aliyun/aliyun-cli/releases/download/v3.0.42/aliyun-cli-linux-3.0.42-amd64.tgz
tar -zxvf aliyun-cli-linux-3.0.42-amd64.tgz -C /usr/local/bin/

配置凭证,登录阿里云,点击头像选择accesskey管理,创建并获取key和secret即可。

aliyun configure set \
  --profile akProfile \
  --mode AK \
  --region cn-qingdao \
  --access-key-id AccessKeyId \
  --access-key-secret AccessKeySecret

向ecs实例发送shell命令进行测试:

aliyun ecs RunCommand --InstanceId.1 i-m5e3gpxv4kgzm2ne37e4 --RegionId cn-qingdao --Type RunShellScript --CommandContent "echo hello"

批量操作实例

aliyun ecs RunCommand \
--InstanceId.1 i-m5e3gpxv4kgzm2ne37e4 \
--InstanceId.2 i-m5e3gpxv4kgzm2ne37e5 \
--RegionId cn-qingdao --Type RunShellScript --CommandContent "echo hello"

查询实例信息

实例规格
https://www.alibabacloud.com/help/zh/doc-detail/59977.htm

镜像规格
https://www.alibabacloud.com/help/zh/doc-detail/100410.htm

在cloudshell中查询region ID

登录cloudshell:https://shell.aliyun.com/

#列出所有region信息
aliyun ecs DescribeRegions --output cols=RegionId,RegionEndpoint,LocalName rows=Regions.Region

#列出region下的Zone信息
aliyun ecs DescribeZones --RegionId cn-hongkong --output cols=ZoneId,LocalName rows=Zones.Zone

#列出实例类型信息
aliyun ecs DescribeInstanceTypes | jq

通过CLI快速创建实例

参考:https://helpcdn.aliyun.com/document_detail/163468.html

执行以下脚本创建3台香港ecs实例,务必修改以下3个参数:

  • –RegionId cn-hongkong
  • –SecurityGroupId
  • –VSwitchId
  • –ZoneId cn-hongkong-b

脚本内容如下:

#!/bin/bash

echo "create vms"

vm_count=3
aliyun ecs RunInstances --Amount $vm_count \
    --ImageId centos_7_8_x64_20G_alibase_20200519.vhd \
    --InstanceType ecs.t5-lc1m2.large \
    --InternetChargeType PayByTraffic \
    --InternetMaxBandwidthIn 50 \
    --InternetMaxBandwidthOut 50 \
    --Password Aliyun#123 \
    --InstanceChargeType PostPaid \
    --SpotStrategy SpotAsPriceGo \
    --RegionId cn-hongkong  \
    --SecurityGroupId sg-j6c8mr535xgiug4hlfpz \
    --VSwitchId vsw-j6cwuu2i3u9nb5d20i4sz \
    --ZoneId cn-hongkong-b > InstanceId.json

echo "sleep 30s waiting for instance ip ready"
sleep 30s

echo "save instance id and ip to instance.list"
rm -rf instance.list
for (( i=0; i < $vm_count; i++ ))
do 
  InstanceId=$(jq -r ".InstanceIdSets.InstanceIdSet[$i]" < InstanceId.json)
  aliyun ecs DescribeInstanceAttribute --InstanceId $InstanceId > info.json
  PrivateIpAddress=$(jq -r ".VpcAttributes.PrivateIpAddress.IpAddress[0]" < info.json)
  PublicIpAddress=$(jq -r ".PublicIpAddress.IpAddress[0]" < info.json)
  echo "################instance$i################" >> instance.list
  echo "InstanceId=$InstanceId" >> instance.list
  echo "PrivateIpAddress=$PrivateIpAddress" >> instance.list
  echo "PublicIpAddress=$PublicIpAddress" >> instance.list
  echo "" >> instance.list
  jq -r ".InstanceIdSets.InstanceIdSet[]" < InstanceId.json >> All_InstanceId.list
done

#run some shell command
#alias remotecmd="aliyun ecs RunCommand --InstanceId.1 $ID0 --RegionId cn-hongkong --Type RunShellScript --CommandContent"
#remotecmd "yum install -y vim wget"

#release all instance
#for i in $(cat All_InstanceId.list); do aliyun ecs DeleteInstances --InstanceId.1 $i --RegionId cn-hongkong --Force true; done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

willops

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值