EC2


  1. 挂载 EBS

    • linux

      • 查看块设备: 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
  2. 实例操作

    • 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的安全组会出现请求错误。如无特殊要求,建议安全组和子网都不指定,就不会出现这种问题。)
  3. 查看region与AZ

    • aws ec2 describe-region
    • aws ec2 describe-availability-zones --region region-name
  4. 查看实例元数据和用户数据

    • curl http://192.168.253.124/latest/meta-data/
    • curl http://192.168.253.124/latest/user-data/
  5. 查看ami

    • aws ec2 describe-images
  6. key-pair

    • aws ec2 create-key-pair --key-name mykeyname
  7. 安全组

    • 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/0
    • aws ec2 authorize-security-group-ingress --group-id sg-xxxxyyyy --protocol tcp --port 9999 --source-group sg-xxxxxxxx

AutoScaling


  1. 列出AS组

    • aws autoscaling describe-auto-scaling-groups
  2. 列出AS实例 
    • aws autoscaling describe-auto-scaling-instances --instance-ids [instance-id-1 instance-id-2 ...]
  3. 从组中分离实例 
    • aws autoscaling detach-instances --auto-scaling-group-name myasgroup --instance-ids instanceid1 instanceid2 [--should-decrement-desired-capacity|--no-should-decrement-desired-capacity]
  4. 附加实例到组 
    • aws autoscaling attach-instances --auto-scaling-group-name myasgroup --instance-ids instanceid1 instanceid2
  5. 挂起AS流程 
    • aws autoscaling suspend-process --auto-scaling-group-name myasgroup --scaling-processes AZRebalance|AlarmNotification|...
  6. 删除AS组 
    • aws autoscaling delete-auto-scaling-group --auto-scaling-group-name myasgroup

S3


  1. 查看

    • aws s3 ls
    • aws s3 ls s3://bucket
    • aws s3 ls s3://bucket/prefix
  2. 拷贝

    • aws s3 cp /to/local/path s3://bucket/prefix
    • aws s3 cp s3://bucket/prefix /to/local/path
    • aws s3 cp s3://bucket1/prefix1 s3://bucket2/prefix2
  3. 同步

    • aws sync [--delete] /to/local/dir s3://bucket/prefixdir
    • aws sync [--delete] s3://bucket/prefixdir /to/local/dir
    • aws sync [--delete] s3://bucket1/prefixdir1 s3://bucket2/prefixdir2
  4. 手动分片上传

    • 文件分片

      • split -b 40m myfile myfile-part-
    • 创建分片上传任务 
      • aws s3api create-multipart-upload --bucket bucketname --key prefix
    • 记录返回值

      {
      "Bucket": "bucketname",
      "UploadId": "uploadeid",
      "Key": "prefix"
      }
      • 1
      • 2
      • 3
      • 4
      • 5
    • 上传分片

      • 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

IAM


  1. Role 操作

    • aws iam create-role MY-ROLE-NAME --assum-role-policy-document file://path/to/trustpolicy.json
    • aws iam put-role-policy --role-name MY-ROLE-NAME --policy-name MY-PERM-POLICY --policy-document file://path/to/permissionpolicy.json
    • aws iam create-instance-profile --instance-profile-name MY-INSTANCE-PROFILE
    • aws iam add-role-to-instance-profile --instance-profile-name MY-INSTANCE-PROFILE --role-name MY-ROLE-NAME

AUTO-SCALING

  1. 查看信息

    • aws autoscaling describe-auto-scaling-groups
    • aws autoscaling describe-auto-scaling-instances

STS


  1. 代入ROLE的EC2实例的临时认证信息

    • curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ROLE-NAME

kinesis


  1. 创建流

    • aws kinesis create-stream –stream-name mystream –shard-count
  2. 列出流 
    • aws kinesis list-streams
  3. 获取指定流的分片迭代器 
    • aws kinesis get-shard-iterator –stream-name mystream –shard-id shard-1 –shard-iterator-type TRIM_HORIZON
  4. 发送数据到流 
    • aws kinesis put-record –stream-name mystream –partition-key mykey –data test
  5. 获取流数据 
    • aws kinesis get-records –shard-iterator myiterator

创建一个Key,查看内容并生成pem文件。

aws ec2 create-key-pair --key-name MyCypayTestCalifornia --query 'KeyMaterial' \
--output text > MyTestCalifornia.pem

创建一个VPC安全组

aws ec2 create-security-group --group-name MyCATest --description MyCATest \
--vpc-id vpc-efxxxx8a

列举当前安全组名称和ID

aws ec2 describe-security-groups  --query SecurityGroups[*].[GroupName,GroupId,VpcId]

添加安全组规则

aws ec2 authorize-security-group-ingress --group-id sg-d1xxxxb4 --protocol tcp \
--port 22 --cidr 202.x.x.120/29 --protocol tcp --port 8080-8082 --cidr 10.10.0.0/16 \
--protocol tcp --port 80 --cidr 0.0.0.0/0

查看当前安全组规则

aws ec2 describe-security-groups --group-ids  sg-d1xxxxb4

创建实例

aws ec2 run-instances --image-id ami-7axxxx3f --count 1 --instance-type t1.micro \
--key-name MyTestCalifornia --security-group-ids sg-dxxxxbb4 \
--placement AvailabilityZone=us-west-1c --subnet-id subnet-5exxxx3b \
--block-device-mappings "[{\"DeviceName\": \"/dev/sdf\",\"Ebs\":{\"VolumeSize\":100}}]"\
--user-data "/sbin/mkfs.ext4 /dev/xvdf && /bin/mount /dev/xvdf /home"
##注释
--image-id 指定AMI ID
--key-name 可选,登录服务器用
--placement AvailabilityZone=us-west-1c 选择AZ,此项可选,有默认值
--block-device-mappings "[{\"DeviceName\": \"/dev/sdf\",\"Ebs\":{\"VolumeSize\":100}}]"
再额外加100G的EBS磁盘,记得在powershell或者在CMD下双引号需要转义
如果size大于快照大小,需要开机后用resize2fs命令在线动态扩展文件系统
size小于快照中的大小则不生效,按照快照中的磁盘大小创建
--user-data "/sbin/mkfs.ext4 /dev/xvdf && /bin/mount /dev/xvdf /home"
指定开机初始化脚本,可用file://xxxx.sh 来指定网络或者本地文件

给实例打标签

aws ec2 create-tags --resources i-3xxxxb6d --tags Key=Name,Value=APITest \
Key=PROJECT,Value=cypay

创建个EIP

aws ec2 allocate-address --domain vpc
{
"PublicIp": "54.x.x.12",
"Domain": "vpc",
"AllocationId": "eipalloc-axxxxxcd"
}

将VPC中的EIP与VPC中的实例关联

aws ec2 associate-address --instance-id i-3xxxxx6d --allocation-id eipalloc-afxxxx8cd

此时可以ssh链接自己的实例

ssh -i MyTestCalifornia.pem  ec2-user@54.x.x.12

列举出所有用户和他的AccessKey ID

aws iam list-users --query 'Users[*].[UserName,CreateDate,UserId]' --output table

列举出当前实例的相关信息

aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId, \
Placement.AvailabilityZone, State.Name, InstanceType, PublicIpAddress, \
PrivateIpAddress, Tags[0].Value, Tags[1].Value]' --output text

aws常用命令的更多相关文章

  1. Ionic3学习笔记(一)安装、项目结构与常用命令

    本文为原创文章,转载请标明出处 目录 安装 项目结构 常用命令 1. 安装 安装Cordova.Ionic npm install -g cordova ionic 创建一个新项目,有blank.ta ...

  2. Shell 常用命令、基本用法总结

    Filter Filter 常用于从大量文本.数据中提取需求的部分.下面介绍几个常用的 filter 命令. cut $ cut -c 5-8 textfile.txt # 切出 textfile.t ...

  3. Linux 常用命令(持续补充)

    常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...

  4. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  5. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  6. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  7. 【原】npm 常用命令详解

    今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...

  8. npm常用命令

    npm常用命令 环境:win7 npm 是什么 NPM(node package manager),通常称为node包管理器.顾名思义,它的主要功能就是管理node包,包括:安装.卸载.更新.查看.搜 ...

  9. Git 常用命令

    一.初始環境配置 git config --global user.name "John Doe"git config --global user.email johndoe@ex ...

随机推荐

  1. hadoop-mapreduce 详解

    mapreduce 完整流程解析 1. 在客户端启动一个 job: hadoop jar share/hadoop/tools/lib/hadoop-streaming-2.6.5.jar -file ...

  2. javascript伪链接(javascript:)

    前言 我们经常会看到“javascript:”这种情况,他经常会用在两种属性身上,href和onclick等事件处理器,接下里我们主要说用在onclick等事件处理器上的情况,在href中的应用在之前 ...

  3. 深入理解java虚拟机(4)类加载的过程

    类加载的过程 ------------------------------------------------------- 0.如下图所示JVM类加载机制分为5个部分:加载.验证.准备.解析.初始化 ...

  4. Delphi7 IDE

  5. 微软宣布全新命令行+脚本工具:PowerShell 7

    DOS 逐渐退出历史舞台后,Windows 一直内置着 CMD 命令行工具,并在 Windows 7 时代升级为更强悍的 PowerShell,不仅可以执行命令行,更可以执行各种高级脚本,还能跨平台. ...

  6. [转载]【转】乘法器的Verilog HDL实现

      乘法器如果直接用*来实现的话,会消耗很多的资源.所以有了串行和并行两种实现思路.用串行的话,8位一般会有8位以上的延迟,但是消耗的资源是最少的.低速数据处理比较适合.并行也就是流水线方法,以时间换 ...

  7. Oracle 之 触发器

    触发器是特定的事件出现的时候,自动隐式执行代码块,这个过程用户无法控制,用户只能控制触发的事件,触发后的操作,触发过程是自动执行的. 定义触发器: 1.名称 2.触发时间:是在执行事件之前(befor ...

  8. JavaScript调试技巧之断点调试

    首先,在各个浏览器中,断点调试支持的最好的当然是Firefox,Firefox不仅可以使用Firebug调试页面js脚本,还可以用高级调试工具例如JavaScript Debugger (Venkma ...

  9. c++判断当前登录账户是否在域环境内

    #include <Windows.h> #include <DSRole.h> #pragma comment(lib, "netapi32.lib") ...

  10. controller 有两种写法,讨论一下两种写法的区别:

    controller 有两种写法,讨论一下两种写法的区别: 写法 1: app.controller('myCtrl', function($scope, $location) { $scope.my ...