前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >COS对象存储数据冗余备份方案

COS对象存储数据冗余备份方案

原创
作者头像
wainsun
修改2023-03-09 07:13:36
3.6K0
修改2023-03-09 07:13:36
举报

数据安全背景

数据安全容灾与备份

一般意义上,备份指的是数据备份或系统备份,容灾指的是不在同一机房的数据备份或应用系统备份。备份采用备份软件技术实现,而容灾通过复制或镜像软件实现,两者的根本区别在于:

(1)容灾主要针对突发灾难,如电力、洪水,地震等不可控异常因素,因此容灾备份中心与主中心间必须保证一定的安全距离;而数据备份可在同一数据中心进行。

(2)容灾系统不仅保护数据,更重要的目的在于保证业务的连续性;而数据备份系统只保护数据的安全性。

(3)容灾保证数据的完整性;备份则一般恢复出备份时间点以前的数据。

(4)容灾是在线过程;备份是离线过程。

(5)容灾系统中,两地的数据是实时一致的;备份的数据则具有一定的时效性。

(6)故障情况下,容灾系统的切换时间是几秒钟至几分钟;而备份系统的恢复时间可能几小时到几十小时。

本文主要从数据备份角度来介绍目前可用的实施方案。关于容灾方案请关注https://km.woa.com/group/40319/articles/show/516112

适用场景

不可抗力因素,如地震、洪水等。

密钥泄漏,覆盖或删除对象资源,例如密钥泄漏到github,黑客入侵,恶意勒索。

人为主观因素恶意删除或修改,例如广为流传的“删库跑路”。

人为客观因素误删除数据,更多的一般为业务间对数据认识的不对称,造成误删。

版本控制方案

数据安全架构

流程与实施

资源准备

开启对应存储桶的版本控制选项

COS控制台---选中指定存储桶---容错容灾管理---版本控制---开启版本控制

环境搭建

版本控制无需其他资源,在当前桶开启版本控制功能即可。

调试与实施

开启版本控制后,无需对上传和访问逻辑增加特殊代码,仅需要对删除对象和冗余数据做及时清理,已控制存储成本。

以.NET SDK为例

单对象删除增加SetVersionId,可删除指定版本

对于对象或前缀集合,可通过ListBucketVersions来查询历史版本信息

控制台展示对象版本信息

现网切换

业务无需切换。

回滚方案

控制台停用版本控制(注:多版本开启后不可关闭,只可暂停)

容灾收益

对桶内的数据实现了多版本冗余,可避免覆盖同文件,误删除,等常见的数据损失操作,但无法防止恶意带版本号删除,生命周期删除等主动式删除行为。

属于安全级别中等的防护措施。

改造成本

成本主要依赖于业务侧多版本的保存周期,可配合生命周期进行版本清理。

多版本清理周期内为:上传流量总量==存储对象增量。

多版本清理周期外为:存储原对象存量。

资源可用性

删除后不可访问,通过版本恢复后可访问。

资源冗余性

资源存储量:1倍<X<=1倍+上传增量

跨园区备份方案

跨园区复制流程架构图

流程与实施

资源准备

  1. 准备跨园区两个存储桶,并同步开启版本控制功能。
  1. 在源bucket设置跨园区复制设置

位置:COS控制台--bucket-容错容灾管理--存储桶复制

根据业务需求,选择目标存储类型。

如果为两地多活,建议目标存储类型设置为标准存储或低频存储。

如果为两地主备,建议目标存储类型为归档存储或深度归档存储。

配置完成后,增量数据即可自动同步。存量数据需要进行手动复制,可选用MSP产品进行操作。

环境搭建

创建两个bucket会得到两个bucket默认域名。业务侧可通过配置方式,自主实现切换域名访问动作。

调试与实施

注:如果是深度归档或归档类型对象,需进行回热后才可以访问。

参考文档:对象存储 POST Object restore-API 文档-文档中心-腾讯云

注:调试代码过程中,建议使用多个子帐号AK管理不同园区的存储桶,子账号间bucket授权不要有交集,防止因某个子帐号信息泄漏导致备份存储桶的连带影响。

现网切换

调试成功后可发布,不影响现网访问。

回滚方案

  1. 业务侧代码回滚
  2. 存储桶复制功能暂停或删除

容灾收益

跨园区存储桶复制功能是一种可靠性极高的容灾方案,可避免单园区级的故障影响,及时切换备份桶,持续提供服务。

可避免:跨园区备份方案可避免代码bug带来的单园区故障,可避免园区级攻击导致的服务切换中存在的短时影响,可避免单机故障时自动剔除策略生效时的短暂影响。

不可避免:默认域名的根域名被运营商恶意限制的影响,如需优化,可以使用自定义域名绑定bucket作为主域名使用,也可以使用bucket-appid.cos.【园区】.tencentcos.cn域名作为备份域名使用,最大程度防止运营商的误操作行为。

改造成本

  1. 存储费用:开启删除同步策略后,为源bucket存储量*目标存储类型单价,

例如北京园区源桶为100GB标准存储,月价格为0.15元*100=15元;目标南京园区存储桶为100GB归档存储,月价格为0.03元*100=3元。

  1. 跨地域流量费用:为每日增量数据流量费用。

例如:源存储桶每月上传量为50GB。月增加额为50*0.5元=25元。

资源可用性

全增量主备的同步策略,可防止误删除和恶意删除事件,从备份存储桶内恢复目标文件。

多源开启删除标记的相互同步策略,可防止单园区级别故障导致的服务不可用,同时也可控制成本。

资源冗余性

资源存储量:1倍<X<=1倍+源站多版本增量+目标桶上传多版本增量-生命周期自动清除量

异构备份方案

架构图

流程与实施

资源准备

● COSFS工具(必备)

● CVM(必备)

● CFS实例(二选一)

● CBS实例(二选一)

环境搭建

● 挂载COS接入点

以centos为例,安装依赖环境

配置账号密钥信息并授权

创建挂载接入点目录

挂载接入点

● 挂载CFS接入点

以centos为例,安装依赖环境

创建挂载接入点目录

挂载接入点

● 挂载CBS接入点

创建CBS实例及控制台操作磁盘挂载略

初始化云硬盘

创建云硬盘接入点目录

挂载接入点

挂载后效果,执行df -h

调试与实施

测试执行成功后可以看到压缩并输出到指定存储设备目录

现网切换

属于旁路备份,不涉及业务

回滚方案

不涉及回滚

容灾收益

改造成本

CFS实例存储成本,北京园区 0 - 10TiB 0.35元/GiB/月

CBS实例存储成本,高性能云硬盘 北京园区刊例价0.35 元/GB/月

资源可用性

全/增量备份策略,可防止误删除和恶意删除事件,从备份存储设备内恢复目标文件。异构设备可根据业务规则自行清理过期文件控制成本。

资源冗余性

资源存储量:1倍<X<=1倍+异构设备存储-异构设备删除过期存储资源

多云备份方案

架构图

流程与实施

资源准备

● CVM实例

● 无服务器函数实例

● CMQ

环境搭建

这里以用ossimport工具为例,定时900秒轮询拉取COS数据并上传至OSS。

工具相关配置

//开启轮询任务

isIncremental=true

//轮询任务的间隔时间

incrementalModeInterval=900

//源桶信息

srcAccessKey=XXX

srcSecretKey=XXX

//源桶类型

srcType=cos

//源桶地域信息

srcDomain=gz

//源桶名称

srcBucket=wainsungz

//目标账号信息

destAccessKey=XXX

destSecretKey=XXX

//目标桶的域名

destDomain=http://oss-cn-beijing.aliyuncs.com

//目标桶名称

destBucket=sunweibjtest

//COS桶的特殊配置 ,appid

appId=125398xxxx

调试与实施

启动后,ossimport会生成一个task,开始批量进行复制

现网切换

属于旁路备份,不涉及对现网改动

回滚方案

旁路逻辑,可自主选择回滚

容灾收益

改造成本

CVM配置迁移工具

OSS保存冗余存储量

资源可用性

全/增量备份策略,可防止误删除和恶意删除事件,从备份存储设备内恢复目标文件。友商云可有效的控制主账号级别权限。CDN回源可配置跨云多活。

资源冗余性

资源存储量:1倍<X<=1倍+目标目录的上传增量-备份桶资源清理量

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据安全背景
    • 数据安全容灾与备份
      • 适用场景
      • 版本控制方案
        • 数据安全架构
          • 流程与实施
            • 资源准备
            • 环境搭建
            • 调试与实施
            • 现网切换
            • 回滚方案
          • 容灾收益
            • 改造成本
            • 资源可用性
            • 资源冗余性
        • 跨园区备份方案
          • 跨园区复制流程架构图
            • 流程与实施
              • 资源准备
              • 环境搭建
              • 调试与实施
              • 现网切换
              • 回滚方案
            • 容灾收益
              • 改造成本
              • 资源可用性
              • 资源冗余性
          • 异构备份方案
            • 架构图
              • 流程与实施
                • 资源准备
                • 环境搭建
                • 调试与实施
                • 现网切换
                • 回滚方案
              • 容灾收益
                • 改造成本
                • 资源可用性
                • 资源冗余性
            • 多云备份方案
              • 架构图
                • 流程与实施
                  • 资源准备
                  • 环境搭建
                  • 调试与实施
                  • 现网切换
                  • 回滚方案
                • 容灾收益
                  • 改造成本
                  • 资源可用性
                  • 资源冗余性
              相关产品与服务
              对象存储
              对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档