公有云OSS
本文指导用户使用悦库集群版搭建基于公有云服务的企业私有云盘,需要使用阿里云、AWS或其他云服务商提供的ECS(云主机)、OSS(对象存储)、云数据库三个基础云服务。
如果访问人数较多,安全性要求高,推荐使用阿里云、AWS的对象存储服务,因为其他云服务商对AWS STS(临时访问凭证)标准兼容性支持不友好,我们没有逐一验证适配。悦库的STS配置并不是必选项,但如果不启用STS,多用户访问悦库系统可能会有安全隐患。
私有云盘部署架构
私有云盘优点
安全性高
用户数据由云服务商托管,安全性高,无需备份。
成本低
对比市面上主流企业云盘产品,悦库私有云盘费用只有其20%左右,但整体性能和传输速度无差别。
以100用户数,2022年4月阿里云报价为例:
服务名称 费用 云主机 (双核/4G/60G云盘/5M带宽) 2281元/年 云数据库基础版(双核/4G) 1584元/年 1T存储空间 999元/年 1T/月下载流量、上传免费 4545元/年 合计 9409元/年 以上表格是官方标准价格,购买云主机/云数据库价格水分大,新用户便宜到令人发指:
公网传输速度快
公网下用户将直接访问云存储OSS服务,不受服务端带宽影响,上传下载速度快,大多数网络实际下载速度可达10MB/S。
私密性好
企业云盘系统和数据完全独立私有化,文件数据分片离散存储,云服务商无法还原用户数据。
私有云盘效果
配置完成后,公网环境下同时上传/下载任务时的效果展示:
由于文件传输使用公网OSS云服务,对于每个客户端的下载速度都是可以跑满带宽的,并不受悦库服务端带宽影响。
在虚拟盘中的同步展示效果
文件数据在云服务商的OSS服务中存储状态:
文件被分片存储,服务商无法还原数据。
部署前的准备
- 用同一阿里云账号,开通云服务产品:ECS(云主机)、MySQL云数据库、OSS(对象存储)。
下面我们以阿里云为例,介绍私有云盘的搭建过程。本示例中展示的所有云服务配置信息仅供参考,不能实际使用。
开通云服务
开通过程中需要您记录一些配置信息,以供后续在悦库服务端中进行配置。
为了方便记录和识别,我们为您创建了一个注释模板,请新建一个文本文件,并将以下内容复制进去,后续配置过程中我们将在此模板中临时记录一些配置信息。
############################ECS云主机配置信息##############################
#云主机公网IP
#开启2020、2021、2022端口公网访问
############################云数据库配置信息##############################
#数据库主机名称(内网)
#数据库主机端口
#数据库用户名称
#数据库密码
############################OSS配置信息##############################
#Bucket(桶)名称
#桶的Endpoint URL,例如:oss-cn-beijing.aliyuncs.com
#区域名称就是上面Endpoint URL的前面部分,例如:oss-cn-beijing
#AcessKeyID(访问ID)
#AcessKeySecret(安全ID )
#STS服务URL,是固定不变的,不需要额外获取。
sts.aliyuncs.com
#ARN(角色的资源名称)
配置ECS云主机
必须用同一账号购买云服务商产品:MySQL云数据库、ECS(云主机),需要选择同一地域,这可以确保两个服务在同一个内部专有网络中,否则跨地域访问数据库,延迟太大,会造成应用程序卡顿。
通过官方文档指导,创建ECS云主机。
进入"云服务器 ECS" 控制台,点击刚创建的实例名称,进入详情页面。
复制云主机公网IP,复制到文本文件中,后续备用。
进入安全组,添加 2020、2021、2022端口。
核对云主机配置信息。
############################ECS云主机配置信息##############################
#云主机公网IP
47.111.99.48
#开启2020、2021、2022端口公网访问
已完成
配置云数据库
创建MySQL实例
开通云数据库服务,创建RDS MySQL实例,数据库版本为:MySQL8.0 ,注意地域要和上面创建的云主机ECS地域一致,否则阿里云内网无法通信。
创建数据库账号
创建数据库账号名称为:"ydisk" , 类型为: "高权限账号"。
记录数据库的 账号(用户名称)、密码到文本文件中,后续备用。
获取数据库内网访问地址
在基本信息中,点击网络类型中的 "查看连接详情"。将内网地址(主机名称)和内网端口(主机端口)复制到文本文件中,后续备用。
核对已获取的云数据库配置信息
############################云数据库配置信息##############################
#主机名称
rm-bp1eu43om2c8651rg.mysql.rds.aliyuncs.com
#主机端口
3306
#用户名称
ydisk
#密码
1+-ydisk.cn
配置OSS对象存储
通过阿里云官方文档指导,开通OSS服务。
创建Bucket(存储桶)
创建Bucket,例如名称为:"ydisk-test" ; 存储类型为:"标准存储"; 读写权限为:"私有"。
将Bucket名称和Endpoint URL,复制到文本文件中,后续备用。
设置Bucket跨域访问
在Bucket列表中,点击 "ydisk-test" ,进入详情页面;点击左侧"权限管理"标签进入"跨域设置"项。
创建规则:来源:* ; 允许Methods:勾选所有。
创建RAM(访问控制)用户
点击左侧"权限管理"标签进入"访问控制 RAM"项,打开"RAM访问控制"页面。
创建RAM用户,例如用户名为:"ydisk"; 显示名称为:"悦库网盘"; 访问方式为:"Open API 调用访问"。
创建用户AcessKey
创建用户AcessKey后,将AcessKeyID和AcessKeySecret复制到文本文件中,后续备用。
为用户添加访问权限
为用户添加 "AliyunOSSFullAccess" 和 "AliyunSTSAssumeRoleAccess" 权限。
创建RAM角色,并添加权限
创建可信实体为阿里云账号的RAM角色,例如角色名称为:"ydiskRole"。创建成功后,为角色添加"AliyunOSSFullAccess"权限。
复制"ARN",记录到文本文件中,后续备用。
核对已获取的OSS服务配置信息
############################OSS配置信息##############################
#Bucket(桶)名称
ydisk-test
#桶的Endpoint URL,例如:oss-cn-beijing.aliyuncs.com
oss-cn-beijing.aliyuncs.com
#区域名称就是上面Endpoint URL的开头部分,例如:oss-cn-beijing
oss-cn-beijing
#AcessKeyID(访问ID)
sC5gAPDRLyxVEFMOlwFurDdTUremDo
#AcessKeySecret(安全ID )
sC5gAPDRLyxVEFMOlwFurDdTUremDo
#STS服务URL,是固定不变的,不需要额外获取。
sts.aliyuncs.com
#ARN(角色的资源名称)
acs:ram::1179636438064388:role/ydiskrole
安装悦库服务
到此为止,云服务就配置好了,然后请安装悦库集群版服务,并将您开通云服务时在模板文件中记录的云服务信息配置到config.json中。
例如我实际配置后的悦库集群版服务端/opt/ydisks/config.json文件是这样的:
{
"service": {
"web": {
"scheme": "http",
"hostname": "47.111.99.48",
"port": 2020
},
"api": {
"scheme": "http",
"hostname": "47.111.99.48",
"port": 2010
},
"doc": {
"scheme": "http",
"hostname": "47.111.99.48",
"port": 2022
},
"oss": {
"scheme": "http",
"hostname": "oss-cn-beijing.aliyuncs.com",
"port":80,
"region": "oss-cn-beijing",
"bucket": "ydisk-test",
"accessKey": "LTAI5tMniSesFkj7hC4Tnb8L",
"secretKey": "sC5gAPDRLyxVEFMOlwFurDdTUremDo",
"sts": "sts.aliyuncs.com",
"arn": "acs:ram::1179636438064388:role/ydiskrole"
},
"db": {
"hostname": "rm-bp1eu43om2c8651rg.mysql.rds.aliyuncs.com",
"port":3306,
"user": "ydisk",
"password": "1+-ydisk.cn"
}
}
}
安装Redis服务
Redis服务直接在ECS云主机中安装配置即可。
完成
完成所有配置后,需要重启悦库服务容器生效。
docker restart ydisks_cluster
相关教程
快速入门 - 快速体验多用户场景下简单的文件共享和权限管控功能。
用户手册 - 全面了解产品功能。