主要内容
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 cli 下载s3中数据到本地
参考https://blog.csdn.net/DynastyRumble/article/details/76649120 1 首先注册AWS账户,绑定信用卡.一定要填写正确的手机,因为验证方式是它 ...
- aws存储桶s3使用
关于aws s3的使用说明: aws官方文档地址:https://docs.aws.amazon.com/s3/index.html#lang/zh_cn 创建s3与基础使用: 1.登陆aws控制台- ...
- 往aws中的s3上传数据
在官网下载对应的sdk http://aws.amazon.com/cn/sdk-for-net/ 然后再aws上为s3上的bucket生成密钥对 access_key和secret_key 调用对应 ...
- AWS CLI使用s3
aws CLI是什么东西,暂且先不去了解,目前的需求是s3. 我在Jenkins上创建一个bucket,然后申请access_key,然后就可以使用s3来存储数据了.也就是说,s3就是一个网盘. 1. ...
- AWS CLI 【S3】
1.创建一个桶&删除一个桶 root@syavingc:~# aws s3 mb s3://syavingc #创建一个桶 make_bucket: syavingc root@syaving ...
- AWS:5.公有云编程
主要内容 1.AWS接口 2.使用AWS命令行 3.使用python sdk编程 AWS接口 Console:web控制台 登录amazon后在"我的账户" -> AWS管理 ...
- AWS:2.根设备类型、EC2生命周期状态、User Data
主要内容 1.根设备类型 linux: /dev/sda1 windows: 系统盘 2.实例生命周期 生命周期状态:停止.终止.重启 3.用户数据(UserData) 实例在初始化,运行之前给定的用 ...
- aws ec2挂载 s3
配置s3 挂载 aws ec2 安装依赖包:yum install -y automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-de ...
- 腾讯云VS AWS :云存储网关性能谁更优?
p { text-indent: 2em } 随着企业规模的扩大及业务的扩展,现有IT基础设施特别是存储设备无法满足爆炸性的数据增长,企业 IT 部门为了解决该问题,往往面临市场上多种存储产品及 ...
随机推荐
- 莫队浅谈&题目讲解
莫队浅谈&题目讲解 一.莫队的思想以及莫队的前置知识 莫队是一种离线的算法,他的实现借用了分块的思想.在学习莫队之前,本人建议学习一下分块,并对其有一定的理解. 二.莫队 现给出一道例题:bz ...
- 如何在CentOS 7上安装Nginx
第一步 - 添加Nginx存储库要添加CentOS 7 EPEL仓库,请打开终端并使用以下命令: sudo yum install epel-release第二步 - 安装Nginx现在Nginx存储 ...
- redis--服务器与客户端
初始化服务器 从启动 Redis 服务器,到服务器可以接受外来客户端的网络连接这段时间,Redis 需要执行一系列初始化操作. 整个初始化过程可以分为以下六个步骤: 初始化服务器全局状态. 载入配置文 ...
- 重读金典------高质量C编程指南(林锐)-------第五章 常量
5.1 为什么需要常量 1)为了便于用户理解,增加程序的可读性. 2)在程序的很多地方都用到同一个常量,用某一个宏常量来定义可以减少错误. 规则:尽可能的使用含义直观明确的常量来表示程序中多次出现的 ...
- mysql启动參数(/etc/my.cnf)具体解释汇总
在linux以下的/etc/my.cnf的參数具体解释汇总 MYSQL–my.cnf配置中文具体解释 basedir = path 使用给定文件夹作为根文件夹(安装文件夹). character- ...
- Ubuntu下载、zsync、安装、常见问题
下载-镜像地址 http://mirrors.ustc.edu.cn/ubuntu-releases/ http://mirrors.163.com/ubuntu-releases/ Ubuntu 更 ...
- 【转载】ORM的概念, ORM到底是什么
一.ORM简介 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.简单的说,ORM是通过使 ...
- 用Squid和DNSPod打造自己的CDN详细教程
本篇教程是顺应大家的要求而写.教程内大部分都是奶罩在为VeryCD等大型网站构建CDN时所累积的经验.在一些概念方面可能会有一些错漏,希望 大家指正. 本教程面对的对象是个人站长,所以各方面会力求傻瓜 ...
- Android NDK开发常见错误
错误一: make: *** No rule to make target `/cygdrive/d/1-workspace/showmap-android-opengles/jni/showmap_ ...
- 从英语单词shell想到的
shell当初听到以为很高级 后来才知道只是壳而已 百度百科中解释为 shell 在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器).它类似于DOS下的c ...