阿里云OSS对象存储的核心概念与购买应用

1.OSS对象存储基本介绍

OSS对象存储官方文档:https://help.aliyun.com/product/31815.html

1.1.OSS对象存储概念

OSS对象存储服务全称为(Object Storage Service,OSS),是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。

容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。

OSS对象存储提供RESETful API接口,所有的上传和下载文件都是通过API接口完成,只要有网络就可以在任意时间、地点去访问OSS存储中的文件。

OSS对象存储在上传一个大文件时,会对文件进行分片,等所有分片上传到OSS后,再将所有的分片汇聚成一个文件。

1)OSS组件概念

  • 存储类型(Storage Class)
    • OSS提供四种类型的数据存储,分布式标准、低频访问、归档以及冷归档。
    • 标准存储类型提供高持久、高可用、高性能的对象存储服务,可以支撑数据的频繁访问,一般都会选择标准存储。
    • 低频访问存储类型适合长期保存不经常访问的数据,价格较低。
    • 归档存储类型适合需要长期保存的数据。
    • 冷归档存储类型适合需要超长时间存放的数据。
    • 在我们购买OSS资源包时会选择使用哪种类型的存储
  • 存储空间(Bucket)
    • 存储空间相当于资源隔离,用于将不同的应用程序数据存放在不同的存储空间中,一个应用程序一个bucket。
    • 存储空间是用于存储对象的容器,每个对象都必须隶属于某个存储空间,存储空间具备各种配置属性,包括地域、访问权限、存储类型等等,可以根据我们的需求为不同的应用程序创建不同的存储空间。
  • 对象(Object)
    • 对象是OSS存储数据的基本单元,可以理解为存在OSS中的一个文件就是对象。
    • 对象由元信息(Object Meta)、用户数据(Data)和文件名(Key)组成。
    • 对象由存储空间内部唯一的Key来标识。对象元信息是一组键值对,表示了对象的一些属性,例如最后修改时间、大小等信息。
  • ObjectKey
  • 地域(Region)
    • 地域表示OSS所在的物理位置,我们可以将OSS运行在距离用户最近的区域
  • 访问域名(Endpoint)
    • OSS有外网地址和内网地址,当我们在其他地域的ECS想要读取OSS中的数据时,就需要通过OSS的外网地址进行连接,外网地址是一个域名,每个地域的OSS都有单独的访问域名。
    • 通过内网和外网访问同一个地域所需要的域名也是不同的
  • 访问密钥(AccessKey)
    • AccessKey简称AK,指的是访问身份验证中用到的AccessKey ID和AccessKey Secret。
    • AccessKey简称AK,指的是访问身份验证中用到的AccessKey ID和AccessKey Secret。
    • OSS通过使用Key+Secret的对称加密方式来验证请求者的身份,验证成功后才可以访问OSS中的资源。
    • AccessKey ID用于标识用户;AccessKey Secret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,必须保密。

2)OSS重要特性

  • 版本控制
    • 针对存储空间级别的数据保护功能。
    • 开启版本控制后,针对数据的覆盖以及删除都会以版本的形式记录下来,当我们误删除文件后,可以在bucket将存储的object恢复任意时刻的版本。
  • Bucket Policy
    • 主要用于为存储空间授权不同用户的访问权限。
    • 例如要对某个账号授权整个存储空间的只读、读写、完全控制等权限。
  • 跨区域复制
    • 可以跨不同地域的OSS数据中心,将对象资源的创建、更新、删除等操作从源存储空间复制到不同区域的目标存储空间,可以作为数据容灾的方案。
  • 数据加密
    • 上传文件时,OSS对收到的文件进行加密,再将得到的加密文件持久化保存;下载文件时,OSS自动将加密文件解密后返回给用户,并在返回的HTTP请求Header中,声明该文件进行了服务器端加密。

1.2.NAS与OSS存储的不同

NAS是文件存储系统,是面向ECS实例的存储服务,类似于传统的NFS服务,需要将NAS挂载到ECS服务器中才可以进行文件的存储,NAS必须要和ECS在同一个地域,否则ECS是无法连接到NAS的,也就是说如果我们要将ECS迁移到其他的地区,NAS也必须要进行迁移,否则将无法使用。

OSS是对象存储,提供RESETful API接口,在OSS中存储的每一个文件都有单独的访问地址,我们只需要在程序中配置OSS的地址以及所使用的Bucket,就可以连接到OSS中,即使将来需要迁移ECS到其他地域,OSS也不需要做任何的操作,只要有网络环境就可以从OSS中获取数据。

扫描二维码关注公众号,回复: 16239470 查看本文章

另外如果我们的网站有CDN加速器,我们再OSS中缓存的程序图片,也可以直接由CDN请求OSS,不需要经过ECS实例。

NAS主要应用于服务器文件存储、容器存储,用户请求到达WEB程序后,程序会在服务器中挂载的某个路径找到NAS中的数据。

OSS主要应用云端数据处理、图片音视频文件存储、WEB程序动静分离静态资源文件存储,OSS就相当一个云存储,只需要请求OSS的域名就可以获取到想要的文件。

1.3.OSS的应用场景

1)图片和音视频等应用的海量存储

WEB应用程序产生大量的文件(图片、文件、音视频)都可以存储在OSS中,OSS提供的存储是海量的,OSS支持流式写入和文件写入两种方式。

如下图所示:网络摄像机是ECS服务器中运行的程序,用户通过网络摄像机录制的视频通过程序直接存储到OSS对象存储中,再通过OSS自带的媒体程序完成视频的转码,当用户需要播放上传的视频时,如果网站有CDN加速器,请求首先会到达CDN加速器,如果CDN中缓存,那么直接将视频文件返回给用户,如果CDN中没有缓存,那么就由CDN直接从OSS中读取视频文件,然后进行播放,无需再经过ECS服务器。

CDN读取OSS中的文件连接的OSS的外网地址,OSS所在的地域不同外网地址也会有所不同。

OSS支持用户端直接写入和读取。

场景1

2)网页或者移动应用的静态和动态资源分离

大多数的WEB应用程序或者移动APP都会进行动静分离,有的公司是将静态资源直接部署在一台服务器中,提供特定的域名进行访问。

我们也可以直接将静态资源存放在OSS中,当请求时动态数据时经过SLB—>ECS,然后将数据回传给用户,当请求的是静态数据时,请求首先达到CDN加速器,如果CDN加速器中有静态资源的缓存,那么直接回传给用户,如果CDN中不存在静态资源的缓存,CND会直接从OSS中读取静态资源,然后回传给用户,无需再SLB以及ECS中读取静态资源,从某种程度上减少了ECS的流量。

场景2

3)云端数据处理

当数据文件存储在OSS对象存储中后,比如图片以及音视频,可以直接通过其他程序对数据进行二次处理,比如将图片清晰度进行调整、将音视频文件进行转码、压缩等等操作。

OSS就相当于一个云端,其他程序都从这个云端获取数据。

场景3

1.4.OSS术语对应表

英文 中文
Bucket 存储空间
Object 对象或者文件
Endpoint OSS 访问域名
Region 地域或者数据中心
AccessKey AccessKeyId和AccessKeySecret的统称,访问密钥
Put Object 简单上传
Post Object 表单上传
Multipart Upload 分片上传
Append Object 追加上传
Get Object 简单下载
Callback 回调
Object Meta 文件元信息。用来描述文件信息,例如长度,类型等
Data 文件数据
Key 文件名
ACL (Access Control List) 存储空间或者文件的权限

2.购买OSS存储资源包

在使用OSS之前首先需要购买一个存储资源包,提供存储空间,如果不购买存储资源包直接创建Bucket,存储空间中的数据量就是按量计费,购买了存储包之后,数据空间的大小就是按照资源包进行付费。

OSS存储资源包的空间可以按需再后期镜像扩容。

在控制台中搜索OSS,进入OSS的控制台。

1643000944724

1)在资源包管理中,点击购买资源包。

1643004617313

2)资源包类型选择标准LRS存储包,地域选择中国大陆通用,存储包规格选择40GB,套餐为标准存储包(中国大陆),购买时长选择半年。

1643004781755

3)确认订单信息然后点击去支付。

1643004992674

4)资源包购买完成

1643005044603

3.KodCloud云盘接入OSS对象存储

OSS对接应用系统的大致实现步骤:

  • 1.创建Bucket存储空间
  • 2.创建子用户并授予OSS的管理权限,获取子用户的AccessKey以及AccessSecret
  • 3.将Bucket存储空间授权给子用户进行管理
  • 4.配置应用系统接入OSS

KodCloud在接入OSS时需要填写如下信息,我们需要带着这些信息去创建OSS存储。

1643007494611

3.1.创建Bucket存储空间

1)创建Bucket

点击Bucket列表—>创建Bucket。

1643007755266

2)配置Bucket

Bucket名称为kodcloud-storage—>地域为华北2—>存储类型为标准存储—>关闭同城冗余存储—>不开通版本控制。

读写权限为私有—>数据加密选择无—>不开通实时目录查询—>不开启定时备份—>最后点击确定完成bucket的创建。

其中最为重要的就是读写权限,一定要选择私有,否则对于数据是不安全的,权限为私有会在文件url中带入验证身份的key,公共读为所有人都可以读取bucket中的文件,公共读写最不安全,所有人都可以向bucket中写入数据。

1643008139406

3)查看创建的Bucket

Bucket创建后会自动跳转到当前Bucket的管理页面,在概览中我们可以获取到访问OSS的域名,其中有内网域名和外网域名,并且不同的bucket也有单独的访问域名。

1643008729409

3.2.创建子用户用于管理Bucket

Bucket存储空间已经创建完成,我们不能通过阿里云的管理员账号让程序去连接,因此还需要创建一个子用户,由这个子用户去管理Bucket,为用户分配一些权限,然后将Bucket授权给这个用户,我们就可以通过这个用户的Key和Secret访问Bucket,在Bucket中读取或者写入数据。

1)前往RAM控制台

点击权限管理—>访问控制RAM—>前往控制台。

1643010098764

2)创建用户

点击身份管理中的用户—>创建用户。

1643010293928

填写用户名称—>勾选启用 AccessKey ID 和 AccessKey Secret—>点击确定完成用户创建。

1643010616882

3.3.获取用户的AccessKey

创建完用户后会获取到用户AccessKey,一定要将AccessKey复制保存,否则刷新页面后,无法再次获取Key的信息。

用户登录名称 [email protected]
AccessKey ID:LTAI5tRMCtvCFthMNXKsKLqE
AccessKey Secret:wWrCbFTCuxxxx6RooH8RbXkbfpni

1643010733281

3.3.为用户设置权限

1)再次点击用户列表,找到我们创建的kodcloud-oss用户,点击添加权限。

1643010892122

2)为用户添加一个AliyunOSSFullAccess的权限,这个权限表示对OSS有管理员级别的权限,然后点击确定。

1643011005978

3)在用户详情页面就可以看到我们添加的权限。

1643011237566

3.4.将Bucket授权给创建的用户管理

1)点击权限管理—>Bucket授权策略—>设置。

1643011293821

2)点击新增授权—>授权资源选择整个Bucket—>授权用户选择刚刚创建的子账号—>授权操作为简单设置勾选完全控制—>点击确定完成授权。

1643011478539

3)授权成功。

1643011857075

3.5.配置KodCloud云盘的后台管理接入OSS

进入到Kodclou云盘的后台管理—>找到存储管理—>点击新增—>存储类型为阿里云OSS—>名称填写为阿里云OSS存储—>空间大小为40GB—>Access Key ID填写子用户的Key ID—>Access Key Secret填写子用户的Key Secret—>Bucket填写kodcloud-storage存储空间—>地域节点填写OSS的内网访问域名—>存储目录为/kodbox—>点击保存。

1643012144334

存储添加完成。

1643012521356

3.6.在KodCloud中上传文件到OSS中

进入Kodclou云盘系统—>找到阿里云OSS存储—>点击上传文件。

1643012794244

3.7.查看OSS中是否有文件产生

点击Bucket中的文件管理,可以看到已经创建了一个kodbox的目录。

1643012942953

进入目录后就可以看到用户上传的文件。

1643012997014

3.8.查看OSS中文件的URL地址

在OSS中的每个文件都有独立的访问地址,我们的Bucket权限为私有,在URL中会有Key认证信息,必须通过程序的认证才可以访问到文件中的内容。

点击任意文件即可查看该文件的URL地址。

1643013155808

4.忘记子用户的Key怎么办?

子用户创建完成后Accesskey刷新后会消失,如果后期忘记了怎么办呢?也是有解决方法的。

点击子用户—>在下面有一个创建AccessKey—>会弹出新的AccessKey。

之后可以将忘记的Key删除即可。

image-20220202101415483

猜你喜欢

转载自blog.csdn.net/weixin_44953658/article/details/132312191
今日推荐