基础网络迁移VPC方案的“千层姿势”

  • 2020 年 3 月 30 日
  • 笔记

基础网络是腾讯云上所有用户的公共网络资源池(如下图右所示)。所有云服务器的内网 IP 地址都由腾讯云统一分配,无法自定义网段划分、IP 地址。

私有网络(VPC)是用户在腾讯云上建立的一块逻辑隔离的网络空间(如下图左所示)。在私有网络内,用户可以自由定义网段划分、IP 地址和路由策略。与基础网络相比,私有网络更适合有网络自定义配置需求的场景。

考虑到租户的隔离安全性,云上很多产品都不再支持基础网络,仅支持私有网络。因此越来越多的用户将业务从基础网络迁移到VPC的事情提上日程。那么如何迁移?且听我慢慢道来。

工欲善其事,必先利其器

先掌握云上主流资源对基础网络迁移的支持情况,有哪些优缺点。待工具的特性了然于胸,迁移方案就像搭积木一样手到擒来。

云服务器 CVM

主要有四种工具

工具

优势

劣势

VPC互通

1.互通后的基础网络CVM能同时主动访问VPC下资源和基础网络资源 2.操作可逆

1.VPC下其他资源比如CLB,不能主动访问互通的基础网络CVM 2.基础网络互通功能仅支持网段为10.0.0.0/16 – 10.47.0.0/16(含子集)的私有网络

CVM网络转换

1.转换后与VPC原生创建的CVM一致

1.基础网络切换VPC后不可逆,CVM切换至VPC后与其他基础网络的云1. 服务不互通 2.机器需要重启

公网IP转弹性IP

1.公网IP保持不变,可以自由绑定到其他CVM实例。 2.转换过程中,不会中断CVM上的服务。

1.弹性IP不再与公网IP一样,随CVM实例释放,闲置的IP会产生闲置费用。

整机镜像

1.实现CVM数据拷贝,方便快速重建业务。

1.仅适用于系统和数据盘全为CBS的CVM

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

云数据库 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网络后,无法再切换回来。

通过域名负载

1.业务不中断,实现平滑迁移。 2.遇到异常可以回滚。

1.实际的公网IP会变化。

通过域名负载

控制台操作位置:【DNS 解析 DNSPod】–【域名详情】–【负载均衡】

详细说明参见:https://cloud.tencent.com/document/product/302/11358

内网CLB

不支持迁移,需要重建。

CFS

不支持迁移,需要重建后手动拷贝数据。

Ckafka

不支持迁移,需要重建。

根据需求取舍

因为每种迁移工具都有优劣,那么就要根据需求来取舍用什么工具来构建迁移方案。

如果需要业务不中断,平滑可控的迁移,那么必然需要投入一定的人力和时间成本,用于测试投入和构建冗余资源。

需要在成本、风险、时间三者之间找到最合适业务的平衡点。

规划方案

方案一定要落成文字形式,详细记录所有涉及的信息,同时一定要规划预演的实施计划,在正式操作前一定要完成预演演练。涉及操作部分要预估好时间,并责任到人。方案大纲参考如下:

附:真实案例参考

迁移背景
内网CLB

不支持迁移,需要重建。

CFS

不支持迁移,需要重建后手动拷贝数据。

Ckafka

不支持迁移,需要重建。

根据需求取舍

因为每种迁移工具都有优劣,那么就要根据需求来取舍用什么工具来构建迁移方案。

如果需要业务不中断,平滑可控的迁移,那么必然需要投入一定的人力和时间成本,用于测试投入和构建冗余资源。

需要在成本、风险、时间三者之间找到最合适业务的平衡点。

规划方案

方案一定要落成文字形式,详细记录所有涉及的信息,同时一定要规划预演的实施计划,在正式操作前一定要完成预演演练。涉及操作部分要预估好时间,并责任到人。方案大纲参考如下:

附:案例参考

迁移背景

某业务合计80个项目,600+CVM全量要从基础网络迁移到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等资源,完成搬迁。