背景
公司项目部署在阿里云,因故需要将所有服务迁移到新账号,使用的服务包括 ECS,RDS (MySQL),Redis, 短信,OSS,CDN, 负载均衡, 消息队列 RabbitMQ ,WAF, 日志,云监控, Mongo, EMAS(移动研发平台),消息推送,内容安全,号码认证,文字识别,SSL证书,数据库审计,日志审计等
整体迁移方案
服务迁移,如果允许停服,那就比较简单,ECS 等都可以直接在新账号下创建,重新部署,数据库可以通过脚本导入导出实现迁移。本文重点讨论不停服迁移方案。
本次迁移涉及跨账号、跨地域(机房),在迁移过程中需要保障不停服,平稳迁移,需要考虑以下问题:
- 服务器如何迁移
如果原服务器环境部署复杂,可以考虑直接将原服务器过户到新账号,也可以考虑创建磁盘镜像,基于这个自定义创建新的服务器。
- 数据库如何迁移`
这里需要考虑使用数据库同步工具,保持数据双向同步。
- OSS 如何迁移
讨论如何使用阿里云 OSS 复制功能,并切换绑定域名。
- 流量如何平稳的切换
DNS 切换以后,全球刷新 DNS 缓存需要比较长的时间,大部分地区几分钟可以刷新完成,但有些地区需要长达 1-2 天的时间,这就需要考虑如果处理指定旧环境的流量。
- IP 如何迁移/过户
涉及第三方调用时,往往需要添加 IP 白名单,这时候添加白名单可能比较麻烦,所以如果能将出网 IP 迁移至新账号,继续使用原有 IP,也是不错的方案。
- 其他服务如何迁移
除了以上提到的服务,还有诸如 CDN,WAF,负载均衡等等非常多的服务,也需要考虑如何迁移。
本系列将围绕以上主题,分别进行探讨。