本文助力你快速构建从基础网络迁移VPC的方案
基础网络是腾讯云上所有用户的公共网络资源池(如下图右所示)。所有云服务器的内网 IP 地址都由腾讯云统一分配,无法自定义网段划分、IP 地址。
私有网络(VPC)是用户在腾讯云上建立的一块逻辑隔离的网络空间(如下图左所示)。在私有网络内,用户可以自由定义网段划分、IP 地址和路由策略。与基础网络相比,私有网络更适合有网络自定义配置需求的场景。
考虑到租户的隔离安全性,云上很多产品都不再支持基础网络,仅支持私有网络。因此越来越多的用户将业务从基础网络迁移到VPC的事情提上日程。那么如何迁移?且听我慢慢道来。
工欲善其事,必先利其器
先掌握云上主流资源对基础网络迁移的支持情况,有哪些优缺点。待工具的特性了然于胸,迁移方案就像搭积木一样手到擒来。
云服务器 CVM
主要有四种工具
工具 | 优势 | 劣势 | 常用场景 |
---|---|---|---|
VPC基础网络互通 | 1.互通后的基础网络CVM能同时主动访问VPC下资源和基础网络资源 2.操作可逆 3.互通后基础网络的CVM内网IP保持不变,还是原本基础网络下的IP | 1.VPC下其他资源比如CLB,不能主动访问互通的基础网络CVM 2.基础网络互通功能仅支持网段为10.0.0.0/16 - 10.47.0.0/16(含子集)的私有网络 | 实现业务不中断迁移基础网络中的云数据库层 |
CVM网络转换 | 1.转换后与VPC原生创建的CVM一致 | 1.基础网络切换VPC后不可逆,CVM切换至VPC后与其他基础网络的云服务不互通 2.机器需要重启 3.内网IP会从基础网络IP改变为VPC IP | 停机将基础网络的CVM,搬迁至VPC中,节省成本 |
公网IP转弹性IP | 1.公网IP保持不变,可以自由绑定到其他CVM实例。 2.转换过程中,不会中断CVM上的服务。 | 1.弹性IP不再与公网IP一样,随CVM实例释放,闲置的IP会产生闲置费用。 | CVM的公网IP对外提供服务,并且无法变更。 |
整机镜像 | 1.实现CVM数据拷贝,方便快速重建业务。 | 1.仅适用于系统和数据盘全为CBS的CVM | 业务部署逻辑比较复杂,无法重新在VPC中重建 |
VPC基础网络互通
控制台操作位置:【私有网络】--【VPC详情】--【基础网络互通】
详细说明参见:https://cloud.tencent.com/document/product/215/20083
CVM网络转换
控制台操作位置:【云服务器】--【实例】--【资源调整】--【切换私有网络】
注意事项:
1.迁移前,请自行解绑内外网LB以及弹性网卡,并释放主网卡的辅助IP,迁移后再进行绑定。
2.迁移过程中,实例需要进行重启,请勿进行其他操作。
3.迁移后,请注意检查实例运行状态,内网访问以及远程登录是否正常。
4.基础网络切换VPC后不可逆,CVM切换至VPC后与其他基础网络的云服务不互通。
5.批量云服务器切换网络类型时,所选中的云服务器必须处于同一可用区。
详细说明参见:https://cloud.tencent.com/document/product/213/20278
公网IP转弹性IP
控制台操作位置:【云服务器】--【实例】--【公网IP转弹性IP】
注意事项:
1.每个地区弹性IP有一定额度限制
详细说明参见:https://cloud.tencent.com/document/product/213/16586
整机镜像
控制台操作位置:【云服务器】--【实例】--【制作镜像】
注意事项:
1. 生产环境可能调整过系统原本的网络、磁盘配置导致镜像无法正常启动,因此一定要提前验证自定义镜像创建的CVM能够正常启动。
详细说明参见:https://cloud.tencent.com/document/product/213/4942
云数据库 Redis
主要工具:
工具 | 优势 | 劣势 | 常用场景 |
---|---|---|---|
更换网络 | 1.切换后,VPC网络访问立即生效 2.转换后原有基础网络的访问可以最长保持7天。 3.保障数据库连接不中断。 | 1.切换后基础网络的访问能力仅最长保持7天。 2.基础网络切换至VPC网络后,无法再切换回来。 | 搬迁基础网络的云数据库层 |
更换网络
控制台操作位置:【云数据库TencentDB】--【Redis】--【实例详情】--【更换网络】
详细说明参见:https://cloud.tencent.com/document/product/239/30910
云数据库 MySQL
主要工具:
工具 | 优势 | 劣势 | 常用场景 |
---|---|---|---|
转VPC网络 | 1.切换后,VPC网络访问立即生效。 2.转换后原有基础网络的访问将保留24小时。 3.保障数据库连接不中断。 | 1.切换后基础网络的访问能力仅持续24小时。 2.基础网络切换至VPC网络后,无法再切换回来。 | 搬迁基础网络的云数据库层 |
转VPC网络
控制台操作位置:【云数据库TencentDB】--【MySQL】--【实例详情】--【转VPC网络】
详细说明参见:https://cloud.tencent.com/document/product/236/35671
数据库通用
主要工具:
工具 | 优势 | 劣势 | 常用场景 |
---|---|---|---|
数据传输服务 DTS | 1.适用范围广支持MySQL,Redis,MongoDB,MariaDB,PostgreSQL,Percona,自建数据库也可以使用。 2.对迁移时间限制小。 | 1.操作成本较高,耗时长。 2.注意确保数据一致性。 | 基础网络自建数据库迁移 |
数据库传输服务DTS
控制台操作位置:【云数据库TencentDB】--【数据传输服务】
详细说明参见:https://cloud.tencent.com/document/product/571/13706
CLB
公网CLB:
工具 | 优势 | 劣势 | 常用场景 |
---|---|---|---|
内部CLB迁移工具 | 1.保留CLB原有的公网IP。 2.支持传统信和应用型公网CLB。 | 1.不能保障业务不中断。 2.操作不可逆,切换至VPC网络后,无法再切换回来。 | 必须保留公网CLB的公网IP |
通过域名负载 | 1.业务不中断,实现平滑迁移 2.遇到异常可以回滚。 | 1.实际的公网IP会变化。 | 迁移公网CLB或者CVM服务入口 |
通过域名负载
控制台操作位置:【DNS 解析 DNSPod】--【域名详情】--【负载均衡】
详细说明参见:https://cloud.tencent.com/document/product/302/11358
内网CLB
不支持迁移,需要重建。
CFS
不支持迁移,需要重建后手动拷贝数据。
Ckafka
不支持迁移,需要重建。
根据需求取舍
因为每种迁移工具都有优劣,那么就要根据需求来取舍用什么工具来构建迁移方案。
如果需要业务不中断,平滑可控的迁移,那么必然需要投入一定的人力和时间成本,用于测试投入和构建冗余资源。
需要在成本、风险、时间三者之间找到最合适业务的平衡点。
规划方案
方案一定要落成文字形式,详细记录所有涉及的信息,同时一定要规划预演的实施计划,在正式操作前一定要完成预演演练。涉及操作部分要预估好时间,并责任到人。方案大纲参考如下:
附:案例参考(核心业务不停机,在线迁移)
迁移背景
某业务合计80个项目,600+CVM全量要从基础网络迁移到VPC网络
整体业务架构分为 条带化的游戏业务和平台化的基础服务。
条带化的游戏业务,相互独立,无耦合。
平台化的基础服务为上VPC基础网络互通
层游戏业务提供统一的支付、登陆、日志等支撑服务,上层游戏业务强依赖底层平台基础服务。
需求取舍
1.游戏业务,可以停机维护,在维护期间做离线迁移,业务可较长时间中断。
2.平台基础服务,必须实现在线迁移,业务不可中断,同时必须控制风险,保障上层游戏业务不受影响。
方案思路
1.利用MySQL和Reids转VPC网络后,在窗口期可以同时被基础网络、VPC网络访问的优势。
2.利用云服务器的VPC基础网络互通工具,互通的CVM能够同时访问基础网络的资源和VPC网络的资源(数据库等)。
3.平台服务器集群支持Rolling Update,可以逐步切换数据库连接,将服务器的数据库连接配置从基础网络切换至VPC网络。
方案简要步骤
实现不停服务,将平台基础服务的数据库迁移至VPC网络环境下。总体方案简要步骤:
1.(离线操作)将200台基础网络平台集群的CVM,通过互通打通私有网络 。
2.(在线操作)将基础平台服务集群的数据库,逐步迁移至私有网络。同时Rolling Update平台集群的节点配置,完成基础平台数据层迁移VPC。
5.(离线操作)待所有业务搬迁到VPC网络后,退掉基础网络留存的CLB、CVM等资源,完成搬迁。