一
.
阿里云
OSS
云存储简介
1.
什么是阿里云
oss
云存储
阿里云对象存储服务(
Object Storage Service
,简称
OSS
),是阿里云提供的海量、安全、低成
本、高可靠的云存储服务。其数据设计持久性不低于
99.9999999999%
(
12
个
9
),服务设计可用性
(或业务连续性)不低于
99.995%
。
可以使用阿里云提供的
API
、
SDK
接口或者
OSS
迁移工具轻松地将海量数据移入或移出阿里云
OSS
。
数据存储到阿里云
OSS
以后,可以选择标准存储(
Standard
)作为移动应用、大型网站、图片分享或
热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问存储(
Infrequent
Access
)和归档存储(
Archive
)作为不经常访问数据的存储方式。
OSS
具有与平台无关的
RESTful API
接口,可以在任何应用、任何时间、任何地点存储和访问任意类型
的数据。
2. OSS
与自建存储对比的优势
对
比
项
对象存储
OSS
自建服务器存储
可
靠
性
OSS
作为阿里巴巴全集团数据存储的核心基础设施,多年支撑双
11
业务高峰,历经高可用与高可靠的严苛考验。
OSS
的多重冗余架构设
计,为数据持久存储提供可靠保障。同时,
OSS
基于高可用架构设
计,消除单节故障,确保数据业务的持续性。服务设计可用性不低
于
99.995%
。数据设计持久性不低于
99.9999999999%
(
12
个
9
)。
规模自动扩展,不影响对外服务。数据自动多重冗余备份。
受限于硬件可靠
性,易出问题,一
旦出现磁盘坏道,
容易出现不可逆转
的数据丢失。人工
数据恢复困难、耗
时、耗力。
安
全
提供企业级多层次安全防护,包括服务端加密、客户端加密、防盗
链、
IP
黑白名单、细粒度权限管控、日志审计、
WORM
特性等。多
用户资源隔离机制,支持异地容灾机制。获得多项合规认证,包括
SEC
和
FINRA
等,满足企业数据安全与合规要求。
需要另外购买清洗
和黑洞设备。需要
单独实现安全机
制。
成
本
多线
BGP
骨干网络,无带宽限制,上行流量免费。无需运维人员与
托管费用,
0
成本运维。
存储受硬盘容量限
制,需人工扩容。
单线或双线接入速
度慢,有带宽限
制,峰值时期需人
工扩容。需专人运
维,成本高。
智
能
存
储
提供多种数据处理能力,如图片处理、视频截帧、文档预览、图片
场景识别、人脸识别、
SQL
就地查询等,并无缝对接
Hadoop
生态、
以及阿里云函数计算、
EMR
、
DataLakeAnalytics
、
BatchCompute
、
MaxCompute
、
DBS
等产品,满足企业数据分析
与管理的需求。
需要额外采购,单
独部署。
3.
应用场景
图片和音视频等应用的海量存储
网页或者移动应用的静态和动态资源分离
云端数据处理
4.
计量计费
阿里云对象存储
OSS
服务费用的各项组成部分及计费方式分为按量计费和包年包月两种。
按量付费
:按实际使用量
*
单价的方式计费,每小时统计前一小时的实际用量并从账户余额中扣除实际
消费金额。例如当前时间是
9:30
,结算的是
8:00-9:00
产生的费用 。
包年包月
:预先购买指定资源包,之后使用资源时,扣除相应的额度。一般情况下,包年包月比按量付
费更加优惠。资源包目前仅提供标准(
LRS
)存储包、低频(
LRS
)存储包、归档(
LRS
)存储包、标准
(
ZRS
)存储包、低频(
ZRS
)存储包、下行流量包、 回源流量包、传输加速包,可购买地域请参见
购
买对象存储
OSS
资源包
。
这个看一个实际的计费案例即可
https://help.aliyun.com/document_detail/109686.html?spm=a2c4g.11186623.6.562.4bbd7c28AA
nl9D
二
.OSS
云存储基本概念
1.
存储空间(
Bucket
)
存储空间是用户用于存储对象(
Object
)的容器,所有的对象都必须隶属于某个存储空间。存储空间具
有各种配置属性,包括地域、访问权限、存储类型等。用户可以根据实际需求,创建不同类型的存储空
间来存储不同的数据。
同一个存储空间的内部是扁平的,没有文件系统目录的概念
,
所有的对象都直接隶属于其对应的存
储空间。
每个用户可以拥有多个存储空间。
存储空间的名称在
OSS
范围内必须是全局唯一的,一旦创建之后无法修改名称。
存储空间内部的对象数目没有限制。
存储空间的命名规范如下:
只能包括小写字母、数字和短横线(
-
)。
必须以小写字母或者数字开头和结尾。
长度必须在
3–63
字节之间。
2.
对象
/
文件(
Object
)
对象是
OSS
存储数据的基本单元,也被称为
OSS
的文件。对象由元信息(
Object Meta
),用户数据
(
Data
)和文件名(
Key
)组成。对象由存储空间内部唯一的
Key
来标识。对象元信息是一组键值对,
表示了对象的一些属性,比如最后修改时间、大小等信息,同时用户也可以在元信息中存储一些自定义
的信息。
对象的生命周期是从上传成功到被删除为止。在整个生命周期内,只有通过追加上传的
Object
可以继
续通过追加上传写入数据,其他上传方式上传的
Object
内容无法编辑,您可以通过重复上传同名的对
象来覆盖之前的对象。
对象的命名规范如下:
使用
UTF-8
编码。
长度必须在
1–1023
字节之间。
不能以正斜线(
/
)或者反斜线(
\
)开头。
3.Region
(地域)
Region
表示
OSS
的数据中心所在物理位置。用户可以根据费用、请求来源等选择合适的地域创建
Bucket
。一般来说,距离用户更近的
Region
访问速度更快。
Region
是在创建
Bucket
的时候指定的,一旦指定之后就不允许更改。该
Bucket
下所有的
Object
都
存储在对应的数据中心,目前不支持
Object
级别的
Region
设置。
4.Endpoint
(访问域名)
Endpoint
表示
OSS
对外服务的访问域名。
OSS
以
HTTP RESTful API
的形式对外提供服务,当访问不
同的
Region
的时候,需要不同的域名。通过内网和外网访问同一个
Region
所需要的
Endpoint
也是不
同的。例如杭州
Region
的外网
Endpoint
是
oss-cn-hangzhou.aliyuncs.com
,内网
Endpoint
是
oss
cn-hangzhou-internal.aliyuncs.com
。
5.AccessKey
(访问密钥)
AccessKey
(简称
AK
)指的是访问身份验证中用到的
AccessKeyId
和
AccessKeySecret
。
OSS
通过使
用
AccessKeyId
和
AccessKeySecret
对称加密的方法来验证某个请求的发送者身份。
AccessKeyId
用于
标识用户;
AccessKeySecret
是用户用于加密签名字符串和
OSS
用来验证签名字符串的密钥,必须保
密。对于
OSS
来说,
AccessKey
的来源有:
Bucket
的拥有者申请的
AccessKey
。
被
Bucket
的拥有者通过
RAM
授权给第三方请求者的
AccessKey
。
被
Bucket
的拥有者通过
STS
授权给第三方请求者的
AccessKey
。
6.Service
OSS
提供给用户的虚拟存储空间,在这个虚拟空间中,每个用户可拥有一个 到多个
Bucket
。
三
.OSS
功能详解
1.
基本功能
使用阿里云管理控制台来完成
OSS
基本操作的流程如下:
1)
开通
OSS
服务器
注意
:
可以登录阿里云官网
-“
用户中心
” -“
我的帐户
” -“
安全认证
”
获取
Access Key ID
和
Access Key
Secret
,一个阿里云帐号可以生成
5
对
Access Key ID
和
Access Key Secret
。并支持启用
/
禁
用设置。
前提条件
在使用阿里云
OSS
服务之前,请确保您已经注册了阿里云账号并完成实名认证。如果您还没有创建阿
里云账号,系统会在您开通
OSS
时提示您
注册账号
。
操作步骤
1.
登录
阿里云官网
。
2.
将鼠标移至产品,单击对象存储
OSS
,打开
OSS
产品详情页面。
3.
在
OSS
产品详情页
,单击立即开通。
1.
开通服务后,在
OSS
产品详情页单击管理控制台直接进入
OSS
管理控制台界面。
您也可以单击位于官网首页右上方菜单栏的控制台,进入阿里云管理控制台首页,然后单击左侧的
对象存储
OSS
菜单进入
OSS
管理控制台界面。
2)
创建存储空间
1.
登录
OSS
管理控制台
。
2.
单击
Bucket
列表,之后单击创建
Bucket
。
您也可以单击概览,之后单击右侧的创建
Bucket
。
3.
在创建
Bucket
页面配置
Bucket
参数。
3)
上传文件
1.
登录
OSS
管理控制台
。
2.
单击
Bucket
列表,之后单击目标
Bucket
名称。
3.
单击文件管理
>
上传文件。
4.
在上传文件页面,设置上传文件的参数。
5.
在上传任务页面等待任务完成,之后关闭对话框。
4)
下载文件
1.
登录
OSS
管理控制台
。
2.
进入目标
Bucket
。
单击
Bucket
列表,之后单击目标
Bucket
名称。
3.
单击文件管理页签,您可以进行以下操作:
5)
删除文件
1.
登录
OSS
管理控制台
。
2.
进入目标
Bucket
。
单击
Bucket
列表,之后单击目标
Bucket
名称。
3.
选择一个或多个文件,选择批量操作
>
删除。
您也可以选择目标文件右侧的更多
>
删除来删除单个文件。
4.
在删除文件对话框中,单击确定。
6)
删除存储空间
1.
进入
OSS
管理控制台界面。
2.
进入目标
Bucket
,找到删除
Bucket
按钮。
单击基础设置页签,找到
Bucket
管理区域。
3.
单击删除
Bucket
。
4.
在弹出的对话框中,单击确定。
2. Object
外链地址的构成规则
如果一个
bucket
设置成公开读权限,意味着允许其他用户来访问属于你的
object
。你的
object
的外链地
址构成规则如下:
构成规则的示意图如下:
假设
oss-example
这个
bucket
在青岛数据中心,这个
object
的外链
URL
为:
用户可以直接该
URL
链接放入
HTML
中使用:
OSS
的短域名(
oss.aliyuncs.com
)作为
OSS
杭州数据中心的另一个域名仍然可以使用,但只能处理
bucket
属于杭州数据中心的请求。 为了统一起见,本 文接下来章节的例子中, 都将以
oss-cn
hangzhou
域名为例。 请用户根据自己
bucket
所属的数据中心自行替换请求所访问的
Host
。
3.OSS
防盗链
http:// <
你的
bucket
名字
>.<
数据库中心服务域名
>/<
你的
object
名字
>
http://oss-example.oss-cn-qingdao.aliyuncs.com/aliyun-logo.png
<img src="http://oss-example.oss-cn-qingdao.aliyuncs.com/aliyun-logo.png"/>
注意
:
在使用
OSS
时,请一直使用
OSS
服务域名,而不要使用固定的
IP
地址。
OSS
是按使用收费的服务, 为了防止用户在
OSS
上的数据被其他人盗链,
OSS
支持基于
HTTP
header
中表头字段
referer
的防盗链方法。通过
OSS
的控制台
--
权限管理
--
防盗链
,
可以对一个
bucket
设置
referer
字段的白名单和是否允许
referer
字段为空的请求访问。例如, 对于一个名为
oss
example
的
bucket
,设置其
referer
白名单为
http://www.aliyun.com
。则所有
referer
为
http://ww
w.aliyun.com
的请求才能访问
oss-example
这个
bucket
中的
Object
。
细节分析:
1)
用户只有通过
URL
签名或者匿名访问
Object
时,才会做防盗链验证。请求 的
Header
中有
“Authorization”
字段的,不会做防盗链验证。
2)
一个
bucket
可以支持多个
referer
参数,这些参数之间由
“
,
”
号分隔。
oss
控制台配置时 使用换行
3) Referer
参数支持通配符
“*”
和
“
?
”
。
4)
用户可以设置是否允许
referer
字段为空的请求访问。
5)
白名单为空时,不会检查
referer
字段是否为空(不然所有的请求都会被拒绝)。
6)
白名单不为空,且设置了不允许
referer
字段为空的规则;则只有
referer
属于 白名单的请求被允
许,其他请求(包括
referer
为空的请求)会被拒绝。
7)
如果白名单不为空,但设置了允许
referer
字段为空的规则;则
referer
为空的 请求和符合白名单的
请求会被允许;其他请求都会被拒绝。
8) Bucket
的三种权限(
private
,
public-read
,
public-read-write
)都会检查
referer
字段。
4.
自定义域名绑定
(CNAME)
OSS
支持用户将自定义的域名绑定在属于自己的
bucket
上面,这个操作必 须通过
OSS
控制台(
htt
p://oss.aliyun.com
)
-“Bucket
属性 传输管理
” -“
绑定域名
”
页面 配置来实现。按照中国《互联网管理条
例》的要求,所有需要开通这项功能的用 户,必须提供阿里云备案号,域名持有者身份证等有效资料,
经由阿里云审批通 过后才可以使用。在开通
CNAME
功能后,
OSS
将自动处理对该域名的访问请求。
CNAME
应用场景例子:
用户
A
拥有一个域名为
abc.com
的网站;这个网站的所有图片存储在
img.abc.com
这个子域名
下;
为了应对日益增长的图片流量压力, 用户
A
在
OSS
上创建了一个名为
abc-img
的
bucket
, 并将
所有图片存在
OSS
上;
通 过
OSS
控 制 台 , 提 交 将
img.abc.com CNAME
成
abc-img.oss-cn
hangzhou.aliyuncs.com
的申请,并提供相应的材料
通过阿里云审核后,在自己的域名服务器上,添加一条
CNAME
规则(
https://dns.console.aliyu
n.com/?spm=a2c4g.11186623.2.12.70c759cbsvcLcR#/dns/domainList
), 将
img.abc.com
映
射成
abc-img.oss-cn-hangzhou.aliyuncs.com
,这样所有对
img.abc.com
的访问都将变成访问
abc-img
这个
bucket
。例如:一个对
http://img.abc.com/logo.png
的 访 问 , 实 际 上 访 问 的
是
http://abc-img.oss-cn-hangzhou.aliyuncs.com/logo.png
5.
访问日志记录
(Server_Access_Logging)
OSS
为用户提供自动保存访问日志记录功能。
Bucket
的拥有者可以通过
OSS
控制台(
http://oss.aliyu
n.com
)日志管理,为其所拥有的
bucket
开启访问日志记录功能。当一个
bucket
(源
Bucket
,
Source
Bucket
)开启访问日志记录功能后,
OSS
自动将访问这个
bucket
的请求日志,以小时为单位,按照固定
的命名规则,生成一个
Object
写入用户指定的
bucket
(目标
Bucket
,
Target Bucket
)。
名 称
例 子
含 义
Remote IP
119.140.142.11
请求发起的
IP
地址(
Proxy
代理或用户防
火墙可能会屏蔽该字段)
Reserved
-
保留字段
Reserved
-
保留字段
Time
[02/May/2012:00:00:04
+0800]
OSS
收到请求的时间
Request-URI
“GET /aliyun-logo.png
HTTP/1.1“
用户请求的
URI(
包括
query-string)
HTTP Status
200
OSS
返回的
HTTP
状态码
存储访问日志记录的
object
命名规则:
命名规则中,
TargetPrefifix
由用户指定;
YYYY
,
mm
,
DD
,
HH
,
MM
和
SS
分别是该
Object
被创建时的阿拉伯数
字的年,月,日,小时,分钟和秒(注意位数);
UniqueString