542179528 发表于 2019-2-22 10:19:03

AWS学习笔记(二)

Image

create-image

$ aws ec2 create-image --instance-id i-825465ba --name "Prod Template" --description "Prod Template" --no-reboot
  执行成功后输出ImageId

create-tags
  通过EC2管理控制台查看AMI,执行create-image命令后,列表中的第一项是Name是空的,执行如下命令添加:

$ aws ec2 create-tags --resources ami-19af7b74 --tags "Key=Name,Value=Prod Template"
  可一次为资源添加多个标签,如下:

$ aws ec2 create-tags --resources ami-083b84ad9bc6eeeb6 --tags Key=Name,Value=test-bomsrs-master2 Key=CCX,Value=DSC003 Key=Project,Value=ASD
  使用标签可以分类管理资源,进行成本核算等。

modify-image-attribute
  公有化AMI:

$ aws ec2 modify-image-attribute --image-id ami-19af7b74 --launch-permission "{\"Add\": [{\"Group\":\"all\"}]}"
  私有化AMI:

$ aws ec2 modify-image-attribute --image-id ami-19af7b74 --launch-permission "{\"Remove\": [{\"Group\":\"all\"}]}"
  向AWS账号授予权限:

$ aws ec2 modify-image-attribute --image-id ami-19af7b74 --launch-permission "{\"Add\": [{\"UserId\":\"123456789012\"}]}"
  撤销AWS账号的权限:

$ aws ec2 modify-image-attribute --image-id ami-19af7b74 --launch-permission "{\"Remove\": [{\"UserId\":\"123456789012\"}]}"
deregister-image
  执行deregister-image后,不能再启动新实例,但没有删除AMI。

$ aws ec2 deregister-image --image-id ami-19af7b74
Delete Image
  创建image时会创建一个snapshot,要删除image,先执行deregister-image,再执行delete-snapshot。
查询SnapshotId:

$ aws ec2 describe-snapshots --query Snapshots
[*]. --filter Name=description,Values=*ami-19af7b74*
  删除snapshot:

$ aws ec2 delete-snapshot --snapshot-id snap-8e2718bd
describe-images
  查看所有image(包含public的,会显示很多AWS public image):

$ aws ec2 describe-images
  查看自己帐号创建的image:

$ aws ec2 describe-images --owners self --query Images
[*].
  查看private image:

$ aws ec2 describe-images --query Images
[*]. --filter "Name=is-public,Values=false"
Instance

run-instances
  从AMI启动指定数量的EC2实例。
  启动Classic EC2实例:

$ aws ec2 run-instances --image-id ami-1a2b3c4d --count 1 --instance-type t1.micro --key-name MyKeyPair --security-groups MySecurityGroup
  启动VPC EC2实例:

$ aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --security-group-ids sg-903004f8 --subnet-id subnet-6e7f829e
  注意: 必须使用--security-group-ids

start-instances

$ aws ec2 start-instances --instance-ids i-1234567890abcdef0
stop-instances

$ aws ec2 stop-instances --instance-ids i-1234567890abcdef0
reboot-instances

$ aws ec2 reboot-instances --instance-ids i-1234567890abcdef5
terminate-instances

$ aws ec2 terminate-instances --instance-ids i-1234567890abcdef0
describe-instances
  查询tag Name=A000的实例:

$ aws ec2 describe-instances --filters "Name=tag:Name,Values=A000"
  查询instance type为m1.small或m1.medium,Availability Zone为us-west-2c的实例:

$ aws ec2 describe-instances --filters "Name=instance-type,Values=m1.small,m1.medium" "Name=availability-zone,Values=us-west-2c"
monitor-instances
  By default, Amazon EC2 sends metric data to CloudWatch in 5-minute periods. To send metric data for your instance to CloudWatch in 1-minute periods, you can enable detailed monitoring on the instance.
  To enable detailed monitoring for an existing instance

$ aws ec2 monitor-instances --instance-ids i-1234567890abcdef0
  To enable detailed monitoring when launching an instance

$ aws ec2 run-instances --image-id ami-09092360 --monitoring Enabled=true...
  To disable detailed monitoring

$ aws ec2 unmonitor-instances --instance-ids i-1234567890abcdef0
Snapshot & Volume

create-snapshot
  为EBS volume创建snapshot,snapshot存储在Amazon S3:

$ aws ec2 create-snapshot --volume-id vol-1234567890abcdef0 --description "This is my root volume snapshot."
create-volum
  创建新的volum:

$ aws ec2 create-volume --size 80 --region us-east-1 --availability-zone us-east-1a --volume-type gp2
  从snapshot创建IOPS (SSD) volume:

$ aws ec2 create-volume --region us-east-1 --availability-zone us-east-1a --snapshot-id snap-066877671789bd71b --volume-type io1 --iops 1000
attach-volume
  附加EBS volume到启动或停止的实例:

$ aws ec2 attach-volume --volume-id vol-1234567890abcdef0 --instance-id i-01474ef662b89480 --device /dev/sdf
  Available Device Names

delete-volume
  删除EBS volume,volume必须为available状态(未附加到实例)

$ aws ec2 delete-volume --volume-id vol-049df61146c4d7901
S3

mb
  创建S3 bucket:

$ aws s3 mb s3://mybucket
cp
  将一个对象从S3 复制到本地:

$ aws s3 cp s3://my_bucket/my_folder/my_file.ext my_copied_file.ext
  将一个对象复制到S3:

$ aws s3 cp my_copied_file.ext s3://my_bucket/my_folder/my_file.ext
  将一个对象从S3复制到另一个S3:

$ aws s3 cp s3://my_bucket/my_folder/my_file.ext s3://my_bucket/my_folder/my_file2.ext
sync
  同步本地文件到S3:

$ aws s3 sync . s3://mybucket
  将整个S3 存储桶下载到本地目录:

$ aws s3 sync s3://remote_S3_bucket local_directory
  S3间的同步:

$ aws s3 sync s3://mybucket s3://mybucket2
rb
  删除空S3 bucket,对象和版本化对象都必须为空。 指定--force参数可以删除含非版本化对象的bucket。

$ aws s3 rb s3://mybucket --force


页: [1]
查看完整版本: AWS学习笔记(二)