对象存储OSS的概念
OSS的概念
阿里云对象存储OSS(Object Storage Service)是阿里云提供的海量,安全,低成本,高可靠的云存储服务。其数据设计持久性不低于99.9999999999%(12个9),服务设计可用性或业务连续性不低于99.995%。
OSS具有与平台无关的RESTful API接口,可以在任何应用,任何时间,任何地点存储和访问任意类型的数据
可以使用阿里云体提供的API,SDK接口或者OSS迁移工具轻松地将海量数据移入或者移出阿里云OSS。数据存储到阿里云OSS以后,可以选择标准存储(Standard)作为移动应用,大型网站,图片分享或者热点音视频的主要存储方式,也可以选择成本更低,存储期限更长的低频访问存储(Infrequent Access)和归档存储(Archive)作为不经常访问数据的存储方式。
- 存储类型:OSS提供标准、低频访问、归档(极少被访问到,比如备份)三种存储类型,全面覆盖从热到冷的各种数据存储常见
- 存储空间Bucket:存储空间是用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间
- 对象Object:对象是OSS存储数据的基本单元,对象由元信息(Object Meta),用户数据Dta和文件名Key组成
- 地域Region:地域表示OSS的数据中心所在的物理位置,地域不能修改
- 访问域名Endpoint:OSS对外服务的访问域名
- 访问密钥AccessKey:简称AK,指的是访问身份验证中用到的AccessKey Id和AccessKey Secret
对象
对象是OSS存储数据的基本单元,也被称为OSS的文件。对象由元信息(Object Meta),用户数据(Data)和文件名(Key)组成。对象由存储空间内部唯一的Key来标识。对象元信息是一组键值对,表示了对象的一些属性,比如最后修改时间,大小等信息,同时也可以在元信息中存储一些自定义的信息。
编辑对象:对象的生命周期是从上传成功到被删除位置。在整个生命周期内,只有通过追加上传的Object可以继续通过追加上传写入数据,其它上传方式上传的Object内容无法编辑,可以通过重复上传同名的对象来覆盖之前的对象。
- 上传方式:追加上传,其它上传方式
对象的命令规则如下:
- 使用UTF-8编码
- 长度必须在1~1023字节之间
- 区分大小写
- 不能以正斜线(/)或者反斜线开头(\)
元数据 :主要是记录数据属性信息:谁,什么时候创建的,数据大小,最后修改时间,通过元数据来定位数据。元数据是有层次性的。书的目录。块存储也有元数据,叫Index
用户数据:通过元数据来定位数据。书的正文
存储空间Bucket
存储空间是用户用于存储对象Object的容器,所有的对象都必须隶属于某个存储空间。存储空间具有各种配置特性,包括地域、访问权限、存储类型等。用户可以根据实际需求,创建不同类型的存储空间来存储不同的数据。
同一个存储空间的内部是扁平的,没有文件系统的目录等概念,所有的对象都直接隶属于其对应的存储空间
每个用户可以拥有多个存储空间
存储空间的名称在OSS范围内必须是全局唯一的,一旦创建后无法修改其名称,存储空间名称命令规范如下:
- 只能包括小写字母,数字和短横线-
- 必须以小写字母或者数字开头和结尾
- 长度必须在3~63字节之间
存储空间内部的对象数目没有显示
存储空间的读写权限
私有private:只有该存储空间的拥有者可以对该存储空间内的文件进行读写操作,其他人无法访问该存储空间内的文件。建议
公共读public-read:只有该存储空间的拥有者可以对该存储空间内的文件进行写操作,任何人(包括匿名访问者)可以对该存储空间中的文件进行读操作。注意:互联网上任何用户都可以对该Bucket内文件进行访问,这有可能造成数据的外泄以及费用激增,请谨慎操作。不建议
公共读写publick-read-write:任何人(包括匿名访问者)都可以对该存储空间内的文件进行读写操作。注意:互联网上任何用户都可以对该Bucket内文件进行访问,并且向该Bucket写入数据。这有可能造成数据的外泄以及费用激增,若被人恶意写入违法信息还可能会侵害合法权益。出特殊场景外,不建议配置。
OSS的存储类型Storage Class
对象存储OSS提供标准,低频访问,归档3种存储类型,全面覆盖从热到冷的各种数据存储场景。
标准存储类型Standard:
低频访问存储类型Infrequent Acess:
归档存储类型Archive:
地域Region
地域代表OSS的数据中心所在的物理位置,地域不能修改。可以用来根据费用,请求来源等选择合适的地域创建Bucket。
访问域名Endpoint
Endpoint表示OSS对外服务的访问域名
访问密钥AccessKey
AccessKey简称AK,指的是访问身份验证中用到的AccessKey Id和AccessKey Secret。
强一致性
数据冗余机制
对象存储OSS的优势
方便快捷的使用方式
- 提供标准的RESTful API 接口,丰富的SDK包,客户端工具,控制台。这个特点是主要是方便开发,比如:在做开发时,需要把对象文件上传到阿里云,那么在OSS中做读写就需要借助OSS提供的RESTful API。至于为什么在开发时选择OSS,因为OSS比起块存储便宜很多;而且OSS可以提供给很多用户一起读写,方便做SLB负载均衡,因为每个用户得到的用户都一致。
- 不限制存储空间大小,不限文件数量和大小,可以根据所需存储量无线扩展存储空间。不像块存储定好20G,40G,虽然块存储可以扩容,但是它有上限;OSS没有存储空间上限
- 支持流式写入和读出。特别适合视频等大文件的边写边读业务场景
- 支持数据生命周期管理。比如多久以上的数据从标准存储转为低频存储,再过多久就把低频存储转为归档存储,再过多久可以把归档类数据删掉,可以节省成本,而且不用手动管理,自动根据时间调整数据存放位置。
强大,灵活的安全机制
- 灵活的鉴权,授权机制
- 提供用户级别资源隔离:不用的用户之间的资源默认是隔离的
- 提供多集群同步机制:数据同步的好处—容灾
数据冗余机制–防止数据丢失
- OSS采取数据冗余存储机制,确保硬件失效时的数据可靠性和可用性:数据离散冗余在多个节点,不会因为一个节点出故障导致数据丢失,业务中断,服务不可用等
- OSS Object操作具有强一致性
- OSS会通过计算网络流量包来校验和保证数据完整传输
- OSS的冗余存储机制,可支持两个存储设施并发损坏时,仍维持数据不丢失:存储和节点都有冗余
丰富强大的增值服务
对象存储OSS的使用
OSS管理流程,使用阿里云管理控制台来完成OSS基本操作的流程如下:
开通OSS服务
创建存储空间
- 存储空间名称:唯一性且不能修改
- 区域:不可更改,如果要通过ECS内网访问OSS,需要和ECS的地域相同,否则需要公网访问,内网访问免费,公网访问收费。
- 存储类型:一个存储空间只能选一个存储类型,而且存储类型不支持修改。标准存储,低频访问,归档存储
- 读写权限:可以修改。私有,公共读,公共读写。
- 同城冗余:只有特定地域和可用区提供支持。开启同城冗余后,OSS将用户的数据以冗余的方式存储在同一个区域下的3个可用区中。开启后不能关闭。
- 版本控制:备份
上传文件:
创建了存储空间以后才可以创建文件
阿里云OSS将数据文件以对象Object的形式上传到存储空间Bucket中。可以进行以下操作:
- 创建一个或多个存储空间,向每个存储空间中添加一个或多个文件
- 通过获取已上传文件的地址进行文件的分析和下载
- 通过修改存储空间或文件的读写权限ACL来设置访问权限
- 通过阿里云管理控制台,各种便捷工具以及丰富的SDK包执行基本和高级OSS操作
OSS的访问&下载文件
Buket Policy 授权其他用户访问OSS资源
Bocket Policy支持在控制台直接进行图形化配置操作,并且Bucket拥有者直接可以进行访问授权,通常用来将私有文件共享给指定的用户或者群体。
可被授权的用户
当前账号的子账号:可以从下拉菜单中选择当前账号的子账号,授予Bucket访问权限。账号必须是主账号,或拥有此Bucket管理权限及RAM控制台ListUsers权限的子账号
其他账号:当需要给其他账号授予Bucket访问权限,或账号无ListUsers权限时,请直接输入被授权账号的UID.
匿名账号(*):如需要给所有用户授权,可以选择匿名账号(*)
控制台下载Object
获取文件的URL
当文件是公共读时,如果访问者没有阿里云账号,那么其它访问者进行下载需要获取文件URL,单击目标文件的文件名或其右侧的详情,在打开的详情页面中点击复制RUL。
删除文件
可以通过OSS控制台删除单个文件或批量删除文件。通过控制台批量删除文件个数上限为1000。如果想更灵活的选择删除文件,或实现更大批量的删除,请参见开发指南中的删除文件。
删除存储空间
对象存储OSS最佳实践
防盗链
对象存储OSS是按使用量收费的服务,为了减少存储于OSS的数据被其他人盗链而产生额外费用,OSS支持设置基于HTTP和HTTPS headers中表头字段Referer的防盗链方法。可以通过控制台为存储空间设置Referer字段的白名单和是否允许Referer字段为空的请求访问。设置防盗链,包括以下参数:
- Referer白名单,仅允许指定的域名访问OSS资源。
- 是否允许空Referer。如果不允许Referer,则只有HTTP或HTTPS header中包含Referer字段的请求才能访问OSS资源。
生命周期规则
为方便批量管理存储空间Bucket内的资源,OSS提供了生命周期规则。可以通过生命周期规则来批量转换Bucket内对象Object的存储类型,也可以批量删除指定的Object和碎片Part。
OSS之间的数据迁移
keyi 可以使用阿里云在线迁移服务在阿里云对象存储OSS之间进行跨账号,跨地域,以及同地域内的数据迁移。
OSS之间数据迁移包含以下场景:
- 同地域数据迁移,即同地域Bucket之间数据迁移
- 跨地域数据迁移,即不同地域Bucket之间数据迁移
- 跨账号数据迁移,即不同阿里云账号之间Bucket之间数据迁移
迁移步骤
使用在线迁移服务,只需在控制台填写数据源地址和目标OSS地址信息,并创建迁移任务即可。启动迁移后,可以通过控制台管理迁移任务,查看迁移进度,流量等信息;也可以生成迁移报告,查看迁移文件列表,错误文件列表。
数据库备份到OSS
通过数据库备份DBS将本地IDC,公网,第三方云数据库,阿里云RDS和阿里云ECS自建数据库实时备份到OSS上。
对象存储OSS的使用限制
归档存储:1分钟的等到时间
存储空间:同一账号同一地域不能超过30个,名称,地域,存储类型不能修改
上传/下载文件:控制台上传,简单上传,表单上传,追加上传的文件大小不能超过5GB,大于5GB的文件必须使用断点续传方式
删除文件:控制台批量删除上限1000个
域名:中国大陆域名绑定需要在工信部备案
对象存储OSS的计费和限制
OSS的计费方式
OSS的计费方式分为按量付费和包年包月两种
- 按量付费:按实际使用量*单价的方式计费,每小时统计前一小时的实际用量并从账户余额中扣除实际消费金额。如:当前时间是9:30,计算的是8:00 – 9:00产生的费用。
- 包年包月:预先购买指定资源包,之后使用资源时,扣除相应的额度。一般情况下,包年包月比按量付费更加优惠。资源包目前仅提供标准型存储包,低频存储包,归档行存储包,下行流量包,回源流量包(CDN结合)。
OSS的费用构成
OSS服务费用由存储费用,流量费用,请求费用和数据处理构成。
原文链接:https://blog.csdn.net/dreamstar613/article/details/115837808?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165918471416780357279938%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165918471416780357279938&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-1-115837808-null-null.nonecase&utm_term=%E5%85%8D%E5%A4%87%E6%A1%88cdn
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/1701