主要内容

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

最新文章

  1. Chrome调试手机页面
  2. MySQL练习题
  3. eclipse使用tomcat进行部署时编译代码不一致的处理
  4. 一些用于数据整理的excel函数
  5. 关于PHP的curl开启问题 (转)
  6. shortcut to open a linux terminal
  7. 并发编程(二):分析Boost对 互斥量和条件变量的封装及实现生产者消费者问题
  8. python 将os.getcwd()获取路径中的\替换成\\
  9. IDEA_Springboot启动Tomcat报错_APR
  10. 展示金额的方法(1元--&gt;1.00元)
  11. python 脚本之 获取远程主机的hostname
  12. mina websocket 粘包、断包、(丢包)解决心得
  13. IntelliJ IDEA中Terminal路径的问题(win7环境)
  14. 英语学习/词典App分析-团队作业(五)
  15. HDU 3951 Coin Game (简单博弈)
  16. 3.1_分类算法之k-近邻
  17. 【Jenkins学习 】解决jenkins运行磁盘满的问题
  18. React学习笔记(七)条件渲染
  19. (转)什么是CDC类(Communication Device Class)
  20. 【转载】#458 Errors While Converting Between enum and Underlying Type

热门文章

  1. springBoot 整合 mybatis+Oracle
  2. 输出n行等腰三角形(符号为*)
  3. windows线程yield以及Sleep(0)和SwitchToThread之间的区别
  4. 从 Git Gui 管理的Repository(库) 提交更改到 Bonobo服务器管理的Repository(库)
  5. ylb:sql语句重命名表名和列名
  6. 推荐一个好的数据库工具Embarcadero DBArtisan
  7. 【温故知新】——HTML5重要知识点复习
  8. maven打包时出现no compiler is provided in this environment
  9. cocos2dx3.x使用cocostudio触摸事件不响应的奇葩问题
  10. 生成二维码 加密解密类 TABLE转换成实体、TABLE转换成实体集合(可转换成对象和值类型) COOKIE帮助类 数据类型转换 截取字符串 根据IP获取地点 生成随机字符 UNIX时间转换为DATETIME\DATETIME转换为UNIXTIME 是否包含中文 生成秘钥方式之一 计算某一年 某一周 的起始时间和结束时间