| name | aliyun-cli |
| description | 阿里云 CLI 操作 |
| version | 1.0.0 |
| author | terminal-skills |
| tags | ["cloud","aliyun","cli","ecs","oss","rds"] |
阿里云 CLI 操作
概述
阿里云 ECS、OSS、RDS 等服务的命令行操作技能。
配置与认证
aliyun configure
aliyun configure --profile myprofile
aliyun configure list
aliyun ecs DescribeInstances --profile myprofile
export ALICLOUD_ACCESS_KEY=xxx
export ALICLOUD_SECRET_KEY=xxx
export ALICLOUD_REGION=cn-hangzhou
ECS 实例
实例管理
aliyun ecs DescribeInstances
aliyun ecs DescribeInstances --RegionId cn-hangzhou
aliyun ecs DescribeInstances --Status Running
aliyun ecs DescribeInstanceAttribute --InstanceId i-xxx
aliyun ecs StartInstance --InstanceId i-xxx
aliyun ecs StopInstance --InstanceId i-xxx
aliyun ecs StopInstance --InstanceId i-xxx --ForceStop true
aliyun ecs RebootInstance --InstanceId i-xxx
aliyun ecs DeleteInstance --InstanceId i-xxx --Force true
创建实例
aliyun ecs CreateInstance \
--RegionId cn-hangzhou \
--ImageId ubuntu_22_04_x64_20G_alibase_20230907.vhd \
--InstanceType ecs.t6-c1m1.large \
--SecurityGroupId sg-xxx \
--VSwitchId vsw-xxx \
--InstanceName my-instance \
--InternetChargeType PayByTraffic \
--InternetMaxBandwidthOut 5
aliyun ecs AllocatePublicIpAddress --InstanceId i-xxx
安全组
aliyun ecs DescribeSecurityGroups --RegionId cn-hangzhou
aliyun ecs CreateSecurityGroup \
--RegionId cn-hangzhou \
--VpcId vpc-xxx \
--SecurityGroupName my-sg
aliyun ecs AuthorizeSecurityGroup \
--SecurityGroupId sg-xxx \
--IpProtocol tcp \
--PortRange 22/22 \
--SourceCidrIp 0.0.0.0/0
aliyun ecs RevokeSecurityGroup \
--SecurityGroupId sg-xxx \
--IpProtocol tcp \
--PortRange 22/22 \
--SourceCidrIp 0.0.0.0/0
OSS 存储
ossutil 工具
ossutil config
ossutil ls
ossutil mb oss://my-bucket
ossutil cp file.txt oss://my-bucket/
ossutil cp -r ./dir oss://my-bucket/dir/
ossutil cp oss://my-bucket/file.txt ./
ossutil cp -r oss://my-bucket/dir/ ./dir/
ossutil sync ./local-dir oss://my-bucket/prefix/
ossutil sync oss://my-bucket/prefix/ ./local-dir
ossutil rm oss://my-bucket/file.txt
ossutil rm -r oss://my-bucket/dir/
ossutil rb oss://my-bucket
ossutil sign oss://my-bucket/file.txt --timeout 3600
OSS API
aliyun oss ListBuckets
aliyun oss ListObjects --BucketName my-bucket
aliyun oss GetBucketInfo --BucketName my-bucket
RDS 数据库
aliyun rds DescribeDBInstances --RegionId cn-hangzhou
aliyun rds DescribeDBInstanceAttribute --DBInstanceId rm-xxx
aliyun rds CreateDBInstance \
--RegionId cn-hangzhou \
--Engine MySQL \
--EngineVersion 8.0 \
--DBInstanceClass rds.mysql.s2.large \
--DBInstanceStorage 100 \
--DBInstanceNetType Intranet \
--PayType Postpaid
aliyun rds CreateDatabase \
--DBInstanceId rm-xxx \
--DBName mydb \
--CharacterSetName utf8mb4
aliyun rds CreateAccount \
--DBInstanceId rm-xxx \
--AccountName admin \
--AccountPassword 'MyPassword123!' \
--AccountType Super
aliyun rds RestartDBInstance --DBInstanceId rm-xxx
ACK 容器服务
aliyun cs DescribeClusters
aliyun cs DescribeClusterDetail --ClusterId c-xxx
aliyun cs DescribeClusterUserKubeconfig --ClusterId c-xxx
aliyun cs ScaleCluster \
--ClusterId c-xxx \
--size 5
SLB 负载均衡
aliyun slb DescribeLoadBalancers --RegionId cn-hangzhou
aliyun slb CreateLoadBalancer \
--RegionId cn-hangzhou \
--LoadBalancerName my-slb \
--AddressType internet \
--LoadBalancerSpec slb.s1.small
aliyun slb AddBackendServers \
--LoadBalancerId lb-xxx \
--BackendServers '[{"ServerId":"i-xxx","Weight":"100"}]'
aliyun slb CreateLoadBalancerTCPListener \
--LoadBalancerId lb-xxx \
--ListenerPort 80 \
--BackendServerPort 80 \
--Bandwidth -1
常见场景
场景 1:批量操作实例
aliyun ecs DescribeInstances --Status Running \
--output cols=InstanceId rows=Instances.Instance[]
for id in $(aliyun ecs DescribeInstances --Status Running \
--output cols=InstanceId rows=Instances.Instance[] | tail -n +2); do
aliyun ecs StopInstance --InstanceId $id
done
场景 2:监控数据查询
aliyun cms DescribeMetricLast \
--Namespace acs_ecs_dashboard \
--MetricName CPUUtilization \
--Dimensions '[{"instanceId":"i-xxx"}]'
场景 3:日志查询
aliyun sls GetLogs \
--project my-project \
--logstore my-logstore \
--from $(date -d '1 hour ago' +%s) \
--to $(date +%s) \
--query "* | select *"
故障排查
| 问题 | 排查方法 |
|---|
| 认证失败 | 检查 AccessKey 配置 |
| 权限不足 | 检查 RAM 策略 |
| 区域错误 | 检查 RegionId |
| 配额超限 | 查看配额管理 |
aliyun ecs DescribeInstances --debug
aliyun help
aliyun ecs DescribeInstances help