AWS:3. S3


主要内容

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





posted @ 2014-05-11 15:46  tsw1107  阅读(567)  评论(0编辑  收藏  举报