AWS 常用CLI命令总结
2015-08-29 20:54
288 查看
AWS 常用CLI命令
对AWS服务操作可以通过管理控制台、各语言SDK、CLI以及API等方式。管理控制台最简单,可以直接通过Web界面操作,但是有些服务或者服务下的某些操作无法直接用控制台调用;API的方式最复杂,需要自己生成哈希值签署请求以及处理请求错误等低级别的操作,AWS 的大部分服务都提供REST的API以及类似于REST的查询API,API提供的服务操作是最新最全面的;SDK 的好处是封装好了请求签署与请求错误处理以及重试机制,用户只需要直接调用相关接口即可,但对于新的服务及操作的支持可能会滞后于API接口的发布。CLI 其实也可以看成SDK的一种,它是AWS 服务操作的一把瑞士军刀。本文针对项目实践中所用到的 AWS 服务的常用 CLI 命令进行一个简单总结,方便以后查阅。EC2
挂载 EBSlinux
查看块设备:
lsblk
格式化磁盘:
sudo mkfs -t ext4 /dev/xvdb
挂载卷:
sudo mount /dev/xvdb /mnt/mydir
卸载卷:
sudo umount /dev/xvdb
windows
diskpart
san policy=onlineall
list disk
disk
yourdiskid
attributes disk clear readonly
online disk
实例操作
aws ec2 describe-instances
aws ec2 describe-instances --instance-ids "instanceid1" "instanceid2"
aws ec2 start-instances --instance-ids "instanceid1"
"instanceid2"
aws ec2 stop-intances --instance-ids "instanceid1" "instanceid2"
aws ec2 run-instances --image-id ami-b6b62b8f --security-group-ids sg-xxxxxxxx --key-name mytestkey --block-device-mappings "[{\"DeviceName\": \"/dev/sdh\",\"Ebs\":{\"VolumeSize\":100}}]" --instance-type t2.medium --count 1 --subnet-id subnet-e8330c9c --associate-public-ip-address
(Note: 若不指定subnet-id则会在默认vpc中去选,此时若指定了非默认vpc的安全组会出现请求错误。如无特殊要求,建议安全组和子网都不指定,就不会出现这种问题。)
查看region与AZ
aws ec2 describe-region
aws ec2 describe-availability-zones --region region-name
查看实例元数据和用户数据
curl http://169.254.169.254/latest/meta-data/[/code]curl http://169.254.169.254/latest/user-data/[/code]
查看amiaws ec2 describe-images
key-pairaws ec2 create-key-pair --key-name mykeyname
安全组aws ec2 create-security-group --group-name mygroupname --description mydescription --vpc-id vpc-id(若不指定vpc,则在默认vpc中创建安全组)aws ec2 authorize-security-group-ingress --group-id sg-xxxxyyyy --protocol tcp --port 22 --cidr 0.0.0.0/0aws ec2 authorize-security-group-ingress --group-id sg-xxxxyyyy --protocol tcp --port 9999 --source-group sg-xxxxxxxxAutoScaling
列出AS组aws autoscaling describe-auto-scaling-groups
列出AS实例aws autoscaling describe-auto-scaling-instances --instance-ids [instance-id-1 instance-id-2 ...]
从组中分离实例aws autoscaling detach-instances --auto-scaling-group-name myasgroup --instance-ids instanceid1 instanceid2 [--should-decrement-desired-capacity|--no-should-decrement-desired-capacity]
附加实例到组aws autoscaling attach-instances --auto-scaling-group-name myasgroup --instance-ids instanceid1 instanceid2
挂起AS流程aws autoscaling suspend-process --auto-scaling-group-name myasgroup --scaling-processes AZRebalance|AlarmNotification|...
删除AS组aws autoscaling delete-auto-scaling-group --auto-scaling-group-name myasgroupS3
查看aws s3 lsaws s3 ls s3://bucketaws s3 ls s3://bucket/prefix
拷贝aws s3 cp /to/local/path s3://bucket/prefixaws s3 cp s3://bucket/prefix /to/local/pathaws s3 cp s3://bucket1/prefix1 s3://bucket2/prefix2
同步aws sync [--delete] /to/local/dir s3://bucket/prefixdiraws sync [--delete] s3://bucket/prefixdir /to/local/diraws sync [--delete] s3://bucket1/prefixdir1 s3://bucket2/prefixdir2
手动分片上传
文件分片split -b 40m myfile myfile-part-
创建分片上传任务aws s3api create-multipart-upload --bucket bucketname --key prefix
记录返回值{ "Bucket": "bucketname", "UploadId": "uploadeid", "Key": "prefix" }
上传分片aws s3api upload-part --bucket bucketname --key prefix --part-number [分片上传编号(e.g. 1,2,3...)] --body myfile-[x] --upload-id uploadid
列出已上传分片,创建分片结构文件aws s3api list-parts --bucket bucketname --key prefix --upload-id uploadid
将上命令结果中的parts部分保存为 temp 文件{"Parts": [ { "PartNumber": 1, "ETag": "\"xxxxxxx\"" }, { "PartNumber": 2, "ETag": "\"xxxxxxxx\"" } ] }
结束分片上传任务aws s3api complete-multipart-upload --multipart-upload file://temp --bucket bucketname --key prefix --upload-id uploadid
获取规范用户IDaws s3api list-buckets --query 'Owner.ID'
AWSCLI 访问阿里云 OSSaws configure --p aliyun #设置key与secret,其他默认aws configure set s3.addressing_style virtual --p aliyunaws s3 ls --endpoint-url [url/(e.g. http://oss-cn-hangzhou.aliyuncs.com)] --p aliyunIAM
Role 操作aws iam create-role MY-ROLE-NAME --assum-role-policy-document file://path/to/trustpolicy.jsonaws iam put-role-policy --role-name MY-ROLE-NAME --policy-name MY-PERM-POLICY --policy-document file://path/to/permissionpolicy.jsonaws iam create-instance-profile --instance-profile-name MY-INSTANCE-PROFILEaws iam add-role-to-instance-profile --instance-profile-name MY-INSTANCE-PROFILE --role-name MY-ROLE-NAMEAUTO-SCALING
查看信息aws autoscaling describe-auto-scaling-groupsaws autoscaling describe-auto-scaling-instancesSTS
代入ROLE的EC2实例的临时认证信息curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ROLE-NAME[/code]kinesis
创建流
aws kinesis create-stream –stream-name mystream –shard-count
列出流
aws kinesis list-streams
获取指定流的分片迭代器
aws kinesis get-shard-iterator –stream-name mystream –shard-id shard-1 –shard-iterator-type TRIM_HORIZON
发送数据到流
aws kinesis put-record –stream-name mystream –partition-key mykey –data test
获取流数据
aws kinesis get-records –shard-iterator myiterator
相关文章推荐
- 包的定义和使用
- Objective-C 【内存管理&手动内存管理 综述】
- JSP面试问题集
- EM算法(Expectation Maximization Algorithm)
- Objective-C 【内存管理&手动内存管理 综述】
- JQuery选择器
- 机房收费系统——MSHFlexGrid控件
- JDK8运行Applet
- poj 1729 Jack and Jill 1376 Robot 1324 Holedox Moving 1475 Pushing Boxes bfs + a*
- 机器学习算法之:分类算法概述
- JSP编程技术笔试题
- 滑块控件UISlider
- SparkContext.setCheckpointDir()
- 知识小罗列
- Redis常用的命令(六)------集合类型
- 有向图深度优先与广度优先算法的C++实现
- UCOS II移植内容
- python __base__等内置方法
- Servlet和JSP学习指导与实践(一):Servlet API初探
- Servlet3.0注解配置Servlet和Filter