AWS:3. S3
2024-08-24 03:25:05
主要内容
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
最新文章
- Chrome调试手机页面
- MySQL练习题
- eclipse使用tomcat进行部署时编译代码不一致的处理
- 一些用于数据整理的excel函数
- 关于PHP的curl开启问题 (转)
- shortcut to open a linux terminal
- 并发编程(二):分析Boost对 互斥量和条件变量的封装及实现生产者消费者问题
- python 将os.getcwd()获取路径中的\替换成\\
- IDEA_Springboot启动Tomcat报错_APR
- 展示金额的方法(1元-->;1.00元)
- python 脚本之 获取远程主机的hostname
- mina websocket 粘包、断包、(丢包)解决心得
- IntelliJ IDEA中Terminal路径的问题(win7环境)
- 英语学习/词典App分析-团队作业(五)
- HDU 3951 Coin Game (简单博弈)
- 3.1_分类算法之k-近邻
- 【Jenkins学习 】解决jenkins运行磁盘满的问题
- React学习笔记(七)条件渲染
- (转)什么是CDC类(Communication Device Class)
- 【转载】#458 Errors While Converting Between enum and Underlying Type
热门文章
- springBoot 整合 mybatis+Oracle
- 输出n行等腰三角形(符号为*)
- windows线程yield以及Sleep(0)和SwitchToThread之间的区别
- 从 Git Gui 管理的Repository(库) 提交更改到 Bonobo服务器管理的Repository(库)
- ylb:sql语句重命名表名和列名
- 推荐一个好的数据库工具Embarcadero DBArtisan
- 【温故知新】——HTML5重要知识点复习
- maven打包时出现no compiler is provided in this environment
- cocos2dx3.x使用cocostudio触摸事件不响应的奇葩问题
- 生成二维码 加密解密类 TABLE转换成实体、TABLE转换成实体集合(可转换成对象和值类型) COOKIE帮助类 数据类型转换 截取字符串 根据IP获取地点 生成随机字符 UNIX时间转换为DATETIME\DATETIME转换为UNIXTIME 是否包含中文 生成秘钥方式之一 计算某一年 某一周 的起始时间和结束时间