主要内容

1.S3入门
2.S3安全性
对象
权限
访问策略
3.S3实战--BAAS
应用与定价


S3入门

S3概念
S3是simple storge server简单存储服务
相当于网盘,例如百度盘
一次存储,随时访问
在AWS的服务控制台中,找到"存储&分发"双击S3后打开

S3桶(Bucket)
数据以对象形式存储,而对象存储到桶中,桶作为根目录
桶下可以存放各类文件和子目录,子目录下可以保存各类文件和目录

创建桶:
输入桶名(小写字母、数字、点和波浪线)
区域,例如中国北京、悉尼..
注意:
桶名不能与其他用户创建的相同
可以以自己名字+日期命名
桶的信息:
权限
日志
发生时间
版本
生命期
桶下的操作:
上传文件
创建目录
删除文件/目录 操作 -> 删除
S3对象(Object)
对象是指各类文件(图片、文档..),甚至是AMI镜像文件
对象的上传和访问
像普通网盘那样上传就行
访问地址在文件属性页中显示,默认只有所有者有权访问,要让所有人能访问(下载、浏览)需要给所有人授权
对象在外网访问的延迟性
用户上传的对象,以及修改过的对象权限会同步到亚马逊的其他物理机器上,这些物理机器可能在不同地区的机房,目的是为了安全,例如避免一个地区地震对数据的映像
注意:对象的上传、删除和访问需要付费,请参考官方文档

S3安全性,两种设置方式

权限
ACL访问控制列表
被授权者
a. aws有效用户
通过REST的API来添加aws用户到此被授权者列表
b.预定义组
1.所有人
2.已验证身份用户
任何aws上注册的用户
3.日志传输
EC2、ELB等产生日志的产品在产生日志时用
c.我 也即对象所有者
三种权限
打开/下载
访问
编辑

如果没有权限,则通过网页打开时看到的是一个xml文件
桶的权限
列表
上传/删除
查看
编辑
添加存储桶策略
权限的局限性:
a.不能对aws账户下的子用户授权
每个用户的用途
开发用户:资源的读写
测试用户:资源的读
演示用户:有些资源的读
IAM产品可以解决这个问题
b.无法使用条件权限
auto Scaling自动缩放组要访问和扩展EC2的容量
c.无法显示拒绝
资源开放给所有人时,不能对某些黑客用户拒绝
策略
是一种文本控制规则。只有桶才有策略,对象目录
在桶的属性界面 -> 权限 -> 添加存储桶策略,添加方法有
1.手动输入json格式的策略
策略语法:
statment 集合
每statment内容为[条件] 谁 对什么资源 做什么操作
{
"version":"2012-10-17"
"statment":[
{
"Sid":"ExampleStatement1",
"Effect":"Allow",
"Principal":{
"AWS":"arn:aws:ian::Account-ID:user/Dave"
},
"Action":[
"s3:GetBucketLocation",
"s3:ListBucket",
"s3:GetObject"
],
"Resource":[
"arn:aws:s3:::myfirstbucket20160120/*"
],
"Condition":{
"IpAddress":{"aws:SourceIp":"12.12.12.0/24"}
"NotIpAddress":{"aws:SourceIp":"12.12.12.44/32"}
}
}
]
}

Sid和Condition非必有

Sid是策略ID,在所有策略中唯一即可
Effect 作用
Allow允许谁做操作
Deny禁止谁做操作
Principal 授权用户
arn:aws:ian::Account-ID:user/Dave
这段表示arn构成,arn表示一个ID,标识一个桶下对象、EC2以及账户下的用户
arn:aws arn的起始标识
第三列表示服务,ian表示ian服务
第四列表示区域
第五列表示账户ID
第六列表示账户下的用户ID
补充账户和用户的区别:
AWS账户:在亚马逊上的付费实体
AWS用户:AWS账户下的用户,同一账户下有多个用户
如果为*,则表示所有用户
Action 表示能做什么
GetBucketLocation 获取桶RUL
ListBucket列出桶内容
GetObject 获取桶里的对象
补充:
read:
s3:listObject
s3:GetObject
write:
S3:putObject
s3:deleteObject
Resource 表示对什么资源做什么
"arn:aws:s3:::myfirstbucket20160120/*"
这个arn表示桶,而myfirstbucket20160120/*表示myfirstbucket20160120下的所有对象
Condition: 条件成立,策略有效
"IpAddress":{"aws:SourceIp":"12.12.12.0/24"}
"NotIpAddress":{"aws:SourceIp":"12.12.12.44/32"}"}
例子,对所有用户开放桶下对象的获取权限
arn结构和权限的信息请参考aws文档

2.通过界面生成(AWS策略生成器)
S3在解决方案中的应用和定价

应用:
备份和容灾
对比备份介质为磁带
云的费用远低于磁带的维护费用
云比磁带更高可用,因为每份数据备份到多个机房或区域
备份到云上
veenm、ARCServe  --> Storage gateway(可选) <--> S3 <-> Glancier
客户机要做备份软件
veenm、ARCServe
缩短还原时间:
Storage gateway 这是AWS提供独立产品(S3缓存服务器,用来缓存S3的数据)
备份日志
Glancier 这是AWS提供归档存储方式,存储不常用数据。冷存储,便宜,访问速度满(s3是妙计级,Glancier是分钟或小时级别)
位置:
s3和Glancier在公有云上
Storage gateway既可在云上由可以在客户的机房中
实际使用中,仍需在云上对备份再备份一次(原来的一备三,变成一备六)
存储图片、动画和安装包
EC2云主机: web应用运行
RDS数据库: 保存信息,文字信息、索引,BOSS位置以及武器装备的属性
S3存储:存储内容,包含游戏中图片、CG过程动画、游戏安装包
CloudFront(CDN): 用户通过此CDN加快访问S3存储,加快全球用户的访问速度
定价
1.存储容量
100G,每G为0.1$,容量越大费用不同
2.操作: 上传、下载、删除资源
付费:
Get 1000次,0.7$
Put(更贵) 1000次,0.8$
免费:
delete
3.传输: 数据在AWS资源之间的传输
免费 get
付费 0.09$每GB

AWS:3. S3的更多相关文章

  1. 用aws cli 下载s3中数据到本地

    参考https://blog.csdn.net/DynastyRumble/article/details/76649120 1 首先注册AWS账户,绑定信用卡.一定要填写正确的手机,因为验证方式是它 ...

  2. aws存储桶s3使用

    关于aws s3的使用说明: aws官方文档地址:https://docs.aws.amazon.com/s3/index.html#lang/zh_cn 创建s3与基础使用: 1.登陆aws控制台- ...

  3. 往aws中的s3上传数据

    在官网下载对应的sdk http://aws.amazon.com/cn/sdk-for-net/ 然后再aws上为s3上的bucket生成密钥对 access_key和secret_key 调用对应 ...

  4. AWS CLI使用s3

    aws CLI是什么东西,暂且先不去了解,目前的需求是s3. 我在Jenkins上创建一个bucket,然后申请access_key,然后就可以使用s3来存储数据了.也就是说,s3就是一个网盘. 1. ...

  5. AWS CLI 【S3】

    1.创建一个桶&删除一个桶 root@syavingc:~# aws s3 mb s3://syavingc #创建一个桶 make_bucket: syavingc root@syaving ...

  6. AWS:5.公有云编程

    主要内容 1.AWS接口 2.使用AWS命令行 3.使用python sdk编程 AWS接口 Console:web控制台 登录amazon后在"我的账户" -> AWS管理 ...

  7. AWS:2.根设备类型、EC2生命周期状态、User Data

    主要内容 1.根设备类型 linux: /dev/sda1 windows: 系统盘 2.实例生命周期 生命周期状态:停止.终止.重启 3.用户数据(UserData) 实例在初始化,运行之前给定的用 ...

  8. aws ec2挂载 s3

    配置s3 挂载 aws ec2 安装依赖包:yum install  -y  automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-de ...

  9. 腾讯云VS AWS :云存储网关性能谁更优?

    p { text-indent: 2em }    随着企业规模的扩大及业务的扩展,现有IT基础设施特别是存储设备无法满足爆炸性的数据增长,企业 IT 部门为了解决该问题,往往面临市场上多种存储产品及 ...

随机推荐

  1. Z划分空间

    /* https://blog.csdn.net/fastkeeper/article/details/38905249 https://max.book118.com/html/2017/1007/ ...

  2. CSS定位与布局:普通流

    CSS定位与布局属于CSS的基础,也是CSS布局影响很大的一部分,具体主要包括三种定位与布局机制( Positioning schemes):普通流,浮动,绝对定位. 其实除了这三种之外,还有一些定位 ...

  3. Single Number III - LeetCode

    Given an array of numbers nums, in which exactly two elements appear only once and all the other ele ...

  4. composer update/require slow when enable XDebug in CLI environment

    Recently I find there will be some issue to use composer command, which seems too slow to finish. Af ...

  5. Android Retrofit使用教程(三):Retrofit与RxJava初相逢

    上一篇文章讲述了Retrofit的基本使用,包括GET,POST等请求.今天的文章中Retrofit要与RxJava配合使用. 了解RxJava RxJava有种种好处,我不在这里一一讲述.这里我只给 ...

  6. 【mybatis】从一个错误,看mybatis中的#和$的区别

    事情的发展是这样的: 因为一个需求,需要在java中拼接出一个完整的sql语句,然后将整条sql语句传递给mybatis执行. mapper.java是这样的: int insertMaster(Wo ...

  7. Usage of API documented as @since1.6+

    Usage of API documented as @since1.6+ File ->Project Structure->Project Settings -> Modules ...

  8. Mysql 性能监控及调优

    死锁概念: 两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象 1.监控死锁(innotop): (1) 启用 innodb_status_file 在/etc/my.cnf添加如 ...

  9. 4pda.ru注冊验证的解码算法

    代码源于看雪林版在我群里介绍注冊一个俄文安卓论坛.发出来了链接大家在測试注冊. http://4pda.ru/forum/index.php? 註册方式請参看: _https://forum.tuts ...

  10. Node.js学习笔记(5)——关于child_process模块

    child_process是node一个比较重要的模块,通过它可以实现创建多线程,来利用多核CPU. 这个模块提供了四个创建子进程的函数. spawn.exec.execFile.fork. spaw ...