亚马逊AWS官方博客
企业备份&容灾系列 — 使用AWS为本地数据中心实现Cold backup & Pilot light容灾解决方案
该方案讲述了常见的企业IT基础架构及应用系统从On-premise环境到AWS云端的两种灾备场景。
SLA
Cold Backup RTO = 24小时, RPO = 24小时 Pilot Light RTO = 4小时, RPO = 4小时
架构图
- 数据复制关系:其中黄色线条代表Cold backup复制,蓝色线条代表Pilot light复制
- 网络:为了进行数据复制与同步,需要将本地IDC网络与云端VPC进行连接,采用以下选项:
- VPN:使用托管VPN服务,通过互联网建立 Site to Site VPN 进行连接
- 专线:使用Direct Connect服务进行专线连接,提供 1Gb 至 10Gb 带宽。亦可通过合作伙伴提供小于1Gb带宽的专线连接。
- 本地IDC基础架构:
- VMware/Hyper-V:
- Web服务器
- 常见单机或2层架构办公系统,如OA
- 物理服务器:
- Redis
- MySQL数据库
- 文件服务器
- VMware/Hyper-V:
- Pilot Light部分:
- MySQL数据库
解决方案
非结构化数据服务:NAS(文件共享) 利用AWS Storage Gateway File Gateway模式来实现非结构化数据的同步与灾备
- 将Storage Gateway虚拟机镜像部署于本地 IDC VMWare 虚拟化平台
- 定期rsync将NAS服务器文件拷贝至Storage Gateway
- Storage Gateway自动将文件同步至S3存储桶
- 云端虚拟机使用s3fs将S3存储桶挂载至本机卷进行文件访问
结构化数据服务(MySQL数据库)
- Cold冷备份模式
- 利用XtraBackup工具或者原生备份工具对MySQL数据库进行定时备份并备份文件上传至云端
- Pilot Light模式
- 通过MySQL Binlog复制实现较好的RPO指标
Web服务器镜像
- 可将本地IDC中运行于vmware中的虚拟机导出成.ova格式,使用 ec2 import 命令行导入至云端
- 在应用简单的情况下也可在云端重新部署
常见单机办公系统或者2层架构,如OA等
- AWS SMS(Server Migration Services) 支持 VMware 与 Hyper-V 环境,可以使用SMS迁移目前虚拟环境当中的虚拟机直接到AWS平台中成为AMI
- 在AWS平台中可以方便使用AMI进行恢复或者进行灾难演练
云上快速恢复的脚本已经上传至 GitHub。
执行步骤:
- 建立本地与云中的复制关系
- 数据库复制
- Cold Backup
- 安装 XtraBackup 工具,进行全量、增量备份及还原,具体步骤可参考
- 将生成的备份文件存入NAS文件服务器
- 由Storage Gateway同步至S3存储桶
- Pilot Light
- 配置步骤参考:Mysql主从复制搭建及详解
- 开启本地MySQL服务器的Binlog
- 开启本地MySQL服务器GTID
- 配置云端RDS MySQL的主节点为本地MySQL服务器
- 开始进行Binlog同步
- Cold Backup
- 使用VM Import方式进行镜像复制
- 在 VMWare vSphere 中将虚拟机导出为OVF格式,参考 VMWare 在线文档
- 将导出的 OVF 格式虚拟机及磁盘文件上传至S3存储桶
- 使用 import-image 命令导入镜像及磁盘文件
- 在线虚拟机复制方式 – AWS SMS:
- 参考以下文档,配置IAM Role权限
- 在 on-premise 环境中 VSPHERE/HYPER-V 建立Connector
- 对要容灾的 VM 进行设置,在控制台进行复制
- 非结构化数据复制
- 使用 rsync 将 NAS 存储中数据定时同步至 Storage Gateway,进一步同步至S3, 参考文档
- 数据库复制
- 故障切换,以具有 MySQL, Redis 环境为例
- 如果云中部署 AD,请将 Active Directory 切换 FSMO
- 将 RDS MySQL 由从节点更改为主节点,中断 Binlog 复制
- 启动 ElastiCache 集群
- 调整 Auto Scaling Group 节点数量启动 EC2 Web 服务器
- 调整应用配置
- 验证与测试
- 切换 DNS 记录
- 内部系统故障切换,以SMS、VM Import等备份成AMI为例:
- 确保VPN,专线到AWS VPC畅通,以保证后续内部系统的访问
- 启动VM Import,SMS等系统的AMI
- 调整应用配置
- 对系统进行验证
- 切换DNS记录,使用容灾系统
- 系统回切
- 确保和验证IDC与云上网络的连通性
- 等待Active Directory的数据同步,切换FSMO到本地Active Directory服务器
- 从RDS MySQL进行备份,恢复至本地数据中心
- 配置从RDS MySQL到本地MySQL的主从复制(GTID)
- 系统验证与测试
- 切换DNS记录
- 调整云端Web服务器数量
- 终止 ElastiCache 集群
成本分析
AWS ZHY宁夏区域 |
||||||
service | type | hours | 1year | remarks | ||
Cold冷备份 | 本地工作负载迁移到 AWS | SMS | – | – | – | 免费使用SMS |
SMS复制时创建EBS快照 | AMI (20GB) | 0.277/GB/月 | – | 66.48 | ||
本地系统初始数据传输上云 | Snowball | 5000元/次 | ||||
数据备份至S3 | S3 (1TB) | 0.1755/GB/月 | 2156.544 | |||
容灾演练(每半年一次) | EC2/EBS | – | – | – | 取决于是否需要灾难演练以及需要容灾演练的系统和演练周期,通常占cost比例较小 | |
总计 | 2223.02 | |||||
含税价 | 2356.41 | |||||
service | type | hours | 1year | remarks | ||
Pilot Light 模式 | 数据库资源 | RDS | db.m4.large (single-AZ)/EBS 200G | 1.1733 | 7131.2 | |
远程接入 | VPN | m5.large (linux) | 0.678 | 1720 | ||
总计 | 11074.22 | |||||
含税价 | 11738.68 |