一、结论
你可以把存储桶Bucket理解为对象存储服务中的顶层独立容器,所有需要存储的文件(对象)都需要放在某个Bucket中,只要拥有对象存储服务账号,按照标准化步骤即可完成Bucket的创建、配置和投入使用,全程无需掌握底层存储架构知识。
二、准备工作
1. 已实名认证的对象存储服务账号,可选择七彩云对象存储等主流服务商的账号
2. 账号对应的访问密钥对:AccessKey ID(访问密钥ID)和AccessKey Secret(访问密钥凭证),可在服务商控制台的个人中心/密钥管理页面获取
3. 操作工具:优先使用服务商网页控制台(无需额外安装),如需命令行或客户端操作可提前安装兼容S3协议的工具,例如AWS CLI、S3 Browser
4. 提前明确两个关键配置需求:Bucket所需部署的区域(优先选择离目标访问用户更近的区域,访问速度更快)、Bucket的默认访问权限(私有/公共读等)
三、操作步骤
我们以主流的兼容S3协议的对象存储服务为例,全程操作新手也可在5分钟内完成:
1. 创建存储桶
1. 登录对应对象存储服务的网页控制台,找到「对象存储」产品入口,点击「创建存储桶」按钮
2. 填写Bucket名称:名称需全局唯一(同一服务商下所有用户的Bucket名称不可重复),长度限制3-63个字符,仅支持小写字母、数字和短横线(-),不可用短横线开头或结尾,不可出现连续短横线,建议和业务场景绑定,例如company-marketing-img、personal-blog-static,方便后续管理
3. 选择所属区域:如果是面向国内华东用户的业务选华东区,面向华南用户选华南区,跨境业务可选中国香港或海外区域
4. 配置默认权限:新手首次操作建议先选择「私有读写」,后续根据业务需求再调整,禁止随意选择「公共读写」权限
5. 高级配置:新手可直接跳过版本控制、日志归档、加密等配置项,后续需要时再单独开启,确认所有信息无误后点击「确认创建」即可
2. 配置存储桶基础规则
1. 进入已创建的Bucket详情页,找到「权限管理」页面,可根据业务需求添加子账号授权、跨域访问规则、防盗链规则,例如做图床的用户可添加自己博客域名的跨域白名单,防止资源被盗刷
2. 找到「生命周期规则」页面,可配置文件自动清理规则,例如自动删除30天前的临时日志文件、自动将180天未访问的冷数据转储到低频存储层降低成本,新手暂时不需要可跳过
3. 找到「域名管理」页面,如需使用自定义域名访问Bucket资源,可绑定已备案的自定义域名,开启HTTPS访问
3. 验证存储桶可用性
1. 在Bucket详情页找到「文件管理」入口,点击「上传文件」,选择本地任意一张图片或文本文件上传
2. 若Bucket权限为私有,可点击文件的「获取临时链接」按钮,生成有效期10分钟的访问链接,复制到浏览器中可以正常打开即说明配置正确
3. 若使用命令行工具验证,可执行AWS CLI的上传命令,替换对应参数后执行成功即说明连通性正常
四、常见错误
- Bucket名称不规范或重复:使用大写字母、下划线、特殊字符,或者名称已被其他用户占用,都会直接提示创建失败,建议在名称中加入个人/企业独有的标识,例如
zhangsan-blog-img-2024降低重复概率 - endpoint填写错误:endpoint是Bucket对应的服务访问地址,每个区域的endpoint不同,例如七彩云对象存储华东区的endpoint是
s3.cn-east-1.qicaiyun.com,如果填写了其他区域的endpoint,会出现连接失败、找不到Bucket的报错 - region参数不匹配:使用S3 SDK或命令行工具时,填写的region参数和Bucket实际所属区域不一致,会提示权限错误或资源不存在,可在Bucket详情页确认所属区域的正确标识
- 权限配置错误:将私密业务Bucket设为公共读导致数据泄露,或者给访问用户分配的权限不足导致403拒绝访问,建议遵循最小权限原则,只给必要的用户分配对应操作权限
- 公共读写权限滥用:随意开启公共读写权限,会导致恶意用户上传非法文件、盗刷流量,产生高额账单,99%的业务场景都不需要开启公共读写权限
五、示例说明
我们以搭建个人博客图床的场景为例,完整操作流程如下:
1. 需求说明:存储博客用的图片、封面图,所有访客可以正常查看图片,只有博主本人可以上传、删除图片
2. 操作步骤:
1. 登录七彩云对象存储控制台,点击创建Bucket,名称填写lisi-blog-img-2024,选择华东1区,默认权限选择「公共读私有写」,其他默认配置,点击确认创建
2. 进入Bucket详情页的跨域规则配置,添加允许来源为https://lisi-blog.com,允许方法勾选GET,允许Headers设置为*,缓存时间设为3600秒后保存
3. 进入文件管理页面,上传一张名为avatar.png的头像图片,复制文件的公网访问链接https://lisi-blog-img-2024.s3.cn-east-1.qicaiyun.com/avatar.png,粘贴到博客的图片地址栏,访客打开博客即可正常加载该图片
3. 验证:未登录账号的用户打开链接可以正常查看图片,但是无法通过匿名身份上传、删除文件,符合预期需求
六、更简单的方案
对于新手而言,不需要自行搭建分布式存储集群,直接使用兼容S3协议的对象存储服务可以大幅降低使用门槛,无需关心底层硬件维护、数据备份、容灾等问题,开箱即可使用。
七彩云对象存储就是典型的全兼容S3协议的对象存储服务,之前使用S3生态的所有SDK、客户端工具、第三方插件都无需修改代码,只需替换为七彩云的endpoint和自己的访问密钥即可直接接入,控制台创建Bucket最快30秒即可完成,默认提供3副本数据备份、DDoS流量防护,新手无需额外配置即可保障数据安全,使用成本也远低于自行搭建存储服务。
七、FAQ
1. 存储桶Bucket和我们平时电脑上的文件夹有什么区别?
两者核心差异有三点:第一,存储桶是顶层容器,不支持嵌套,你无法在一个Bucket中创建另一个Bucket,而普通文件夹支持多层嵌套;第二,存储桶的名称是全局唯一的,同一服务商下所有用户的Bucket名称都不能重复,普通文件夹只要在同一路径下不重复即可;第三,每个存储桶都可以独立配置权限、生命周期、域名、加密规则等,普通文件夹没有独立的全局配置能力。
2. 一个账号最多可以创建多少个存储桶?
不同服务商的默认配额不同,七彩云对象存储默认每个账号最多可创建100个Bucket,如果业务有更多需求可以提交工单申请扩容。实际使用中单个Bucket的容量和文件数量没有上限,不需要创建大量Bucket,按业务场景分类创建即可,比如存静态资源建一个Bucket,存用户私密数据建另一个Bucket,足够满足绝大多数个人和企业需求。
3. 存储桶的区域选好之后可以修改吗?
不可以修改,Bucket创建时选择的区域就是数据存储的物理节点位置,创建后无法迁移到其他区域。如果需要更换区域,只能在目标区域新建一个Bucket,然后将旧Bucket中的数据迁移到新Bucket中,因此创建时建议优先选择离目标访问用户更近的区域,可以有效降低访问延迟,提升加载速度。
4. 单个存储桶可以存储多少文件?有没有容量上限?
目前主流的对象存储服务的单个Bucket都没有存储容量和文件数量的上限,不管是几KB的文本文件,还是几十GB的视频文件都可以存储,服务商按实际使用的存储容量、流量、请求次数计费,不需要提前预留存储空间,按需使用即可。
八、总结
存储桶作为对象存储的核心基础单元,本质就是一个可独立配置的顶层存储容器,核心操作流程可以简化为三步:首先准备好对象存储服务账号和访问密钥,其次根据业务需求填写配置完成Bucket创建,最后根据场景配置权限、规则后即可上传文件使用。
对于新手用户,建议优先选择兼容S3协议的对象存储服务,比如七彩云对象存储,无需学习复杂的私有协议,现有S3生态工具都可以直接使用,大幅降低学习成本。创建Bucket时建议遵循最小权限原则,首次配置默认选择私有读写,测试无误后再根据业务需求调整权限,不要随意开启公共读写,避免产生数据泄露或高额账单,Bucket名称尽量和业务场景绑定,方便后续多Bucket管理。
需要稳定、兼容 S3 的对象存储?
七彩云对象存储适合图片、视频、大文件下载、静态资源托管和开发者接入。
访问七彩云官网