天天看点

阿里云经典网络迁移VPC实践总结

作者:闪念基因

随着众安业务的不断扩大和变化,原有云网络架构已无法满足业务需求,比如经典网络不支持私网自定义,安全性也相对较低,经典网络迁移VPC网络的需求也日益凸显。

阿里云经典网络和VPC网络是阿里云提供的两种不同的网络模型。经典网络是指所有云产品都使用同一内网网络环境,VPC网络则是指用户可以自定义私有IP地址范围,并且可以使用安全组、网络ACL等方式来加强网络安全性。

在迁移经典网络至VPC网络的过程中,会涉及到网络拓扑结构调整、IP地址的变化等问题,因此需要进行仔细的规划和准备。为了确保迁移过程的顺利进行,我们做了详细的迁移指南和技术支持,帮助业务线顺利完成迁移。

阿里云经典网络迁移VPC实践总结

迁移目的

1. 实现降本增效

相比经典网络,VPC相同主机配置价格减少约30%。

2. 提升网络安全性

相比经典网络,VPC网络提供了更加丰富的安全性控制措施,如网络ACL、安全组、VPN等,可以更好地保护用户的业务数据和网络安全。

3.网提高网络性能

VPC网络具有更高的带宽利用率和更低的网络延迟,可以提高网络性能和响应速度,从而提高业务效率。

4. 更加灵活的网络管理

VPC网络提供丰富的网络管理工具和API接口,用户可以通过控制台或API对网络拓扑结构、安全规则、路由表等进行灵活配置和管理,提高管理效率。随着业务的不断发展和变化,经典网络已经无法满足众安的需求,而VPC网络可以提供更加灵活和丰富的网络服务,可以满足我们的需求。

阿里云经典网络迁移VPC实践总结

制定标准

1. 统一网段划分

a) 保险使用172.20.0.0/16,172.26.0.0/16 , 分配给DEV\TEST\PRE\UAT\PRD\PUB 6个环境

b) 科技使用172.27.0.0/16 ,分配给DEV\TEST\PRE\UAT\PRD\PUB 6个环境

c) 其他子公司使用172.25.0.0/16

2. 办公网络访问基本标准

a) 办公网可以访问测试环境服务非22和3389端口外所有端口。

b) 办公网仅允许访问预发环境服务和生产环境服务的80和443端口。

3. 服务之间访问基本标准

a) 统一通过域名访问,不允许直接通过IP提供服务。

b) 内网服务仅允许同环境通过标准端口访问,不允许跨环境访问。

4. 运维平台及工具标准

众安科技统一运维平台及工具为集团统一提供服务。

a) 统一发布平台ship。

b) 统一监控平台六翼。

c) 统一各种库(代码库git , maven库,Python库,npm库,镜像库等)。

d) 统一数据库中间件到xdbc

阿里云经典网络迁移VPC实践总结

方案设计

1. 经典网络和VPC网络互通方案

a) ClassLink、在经典网络下的ECS服务器建立一个链接通道,让其能够通过这个通道访问到专有网络(VPC)环境下的ECS服务器、数据库RDS等资源。

b) 混挂、让阿里云SLB负载均衡可以混挂经典网络和专有网络下的ECS服务器,经典网络ECS和专有网络ECS同时提供服务,在切断经典网络ECS的网络流量后,专有网络下的ECS可以继续对外提供服务,SLB作为一个切换开关来实现无中断切换。

c) 混访、云数据库RDS和对象存储OSS等云产品同时支持经典网络下的ECS和专有网络下的ECS混合访问,无论ECS处于何种网络架构下均支持对RDS和OSS的访问。

阿里云经典网络迁移VPC实践总结

2. VPC和VPC网络互通方案

经过各种网络方案对比,我们发现阿里云CEN云企业网具有网络互通性强、高可用性、网络管理简单、灵活扩展等优势,可以帮助我们快速构建安全、可靠、高效的企业级云联网,具体如下:

a) 网络互通性强:CEN可以实现多个VPC之间、不同地域之间的网络互通,满足企业多地域、多业务之间的互通需求。

b) 高可用性:CEN采用多节点构建的方式,具有高可用性和故障自愈能力,避免了单点故障的风险。

c) 网络管理简单:CEN提供控制台和API接口,可实现VPC网络的快速配置、自动路由发现和动态路由调整,降低了网络管理的复杂度。

d) 灵活扩展:CEN支持弹性扩展和弹性调整,可以根据业务需求随时增加或减少带宽和节点数量,保证网络的稳定性和高效性。

3. 微服务迁移方案

运维在VPC环境重新搭建运维基建,发布平台、监控平台等,所有微服务在VPC环境重新申请应用仓库,并重新发布,回归测试验证OK后如果有提供办公网域名和公网域名,邮件通知运维域名映射到新的负载均衡地址,切换验证无误后下线经典网络资源和服务。

4. 中间件迁移方案

中间件迁移涉及到多个方面,如数据迁移、网络配置、安全策略等,因此需要仔细规划和操作。此外,在迁移中间件时,也应该考虑到中间件的版本升级和功能优化,以充分发挥新的中间件的优势。根据不同的场景,有如下3种迁移方案:

a) 经典网络主机通过镜像方式迁移比如salt,通过镜像的方式在VPC环境创建新实例,验证无误后下线老节点。

b) 对于无状态的服务比如nacos,通过手动部署服务到新主机节点,后端使用同一数据库,验证无误后下线老节点。

c) 对于有状态的服务比如kafka ,通过手动部署服务到新节点,添加到同一集群,从老节点同步数据到新节点,逐步替换老节点。

迁移实施简图:

阿里云经典网络迁移VPC实践总结
阿里云经典网络迁移VPC实践总结

迁移过程

1. 基建环境准备

a) 创建VPC、交换机、ACL、安全组、NAT网关等网络资源。

b) 采购主机搭建CMDB资源管理平台,并调试具备可采购VPC中ECS资源。

c) 采购主机部署各种运维相关组件如salt、gitlab、nexus、harbor、npm、pypi、gayway等。

d) 采购阿里云容器服务ACK, 部署ingress 、 promethus、sentinel、jaeger,operator,nacos等服务。

e) 采购主机搭建ship发布平台,并调试具备服务发布功能,基础监控功能等。

2. 微服务迁移

a) 以系统为维度,收集需要迁移的应用信息(依赖中间件、服务调用关系、白名单、域名等)。

b) 系统和应用申请以及代码迁移(系统和应用申请后,邮件运维将老代码库中对应应用的代码copy到新仓库)。

c) 资源申请(服务器资源申请、数据库资源申请、中间件资源申请)。

d) 编码工作(主要为配置文件替换,以及部分硬编码替换)。

e) 通过发布系统发布上线(统一ship发布系统发布上线)。

f) 第三方合作伙伴专线地址变更(对于专线访问,NAT地址发生变更)。

g) 第三方公网白名单变更(统一使用NAT网关,提供统一的公网出口IP地址)。

h) 公网域名和办公网域名切换后端容器负载均衡地址(新旧服务切换)。

i) 验证服务和监控的有效性。

j) 迁移后资源下线。

3. 中间件迁移

按照如上中间件迁移方案中的3种迁移模式进行了迁移和切换。

阿里云经典网络迁移VPC实践总结
阿里云经典网络迁移VPC实践总结

迁移难点及解决方案举例

阿里云经典网络迁移VPC实践总结

1. 网络配置

众安保险规划有7个vpc, 众安科技规划有7个VPC,办公网到阿里云2条专线4个VBR实例,但是CEN实例只能加载15个实例,后经过和阿里云协调,扩容到21个,但还是无法满足众多子公司迁移VPC的需求,经过团队多方面的考虑和验证,将所有子公司迁移到了威寻账号下,解决了子公司迁移中面临的网络问题,实现了所有子公司云资源的统一纳管。(备注:从19年发展到目前2023年,随着子公司规模越来越大,有部分公司需要具备自主独立的运维环境,以保障服务稳定性)

2. DNS解析

遇到难点 :

a) vpc网络没法直接访问经典网络的SLB地址。

b) 需要保证经典网络老的服务能被经典网络和VPC服务能同时访问。

c) 需要保证VPC网络新的服务能被经典网络和VPC服务能同时访问。

解决方案

a) 以保险微服务域名za.biz和科技微服务域名za-tech.net为例,我们创建了如下dns关系.

阿里云经典网络迁移VPC实践总结

b) 为满足VPC需要访问经典网络的微服务,我们把经典网络微服务网关的混挂了VPC地址,并在vpc中做了泛解析,意味着VPC能直接访问到经典网络的微服务。

c) 为满足VPC环境发布后,需要被VPC和经典网络访问,我们用发布系统实现了自动并可控的经典网络和VPC解析地址新增和删除功能。

讲到最后

想都是问题,做才是答案,站着不动永远是观众。阿里云VPC服务在2017年推出,但众安规模庞大,涉及到3000多台服务器,2000多个服务,很多人都知难而退。多年的规划,基建产品的不断成熟,直到2019年初终于迎来了最合适的时机,基于vpc迁移,我们不断地试错、总结经验,并努力做出更好的决策,经过半年多日日夜夜的努力,终于圆满的完成了目标,借此更升级及统一了全司的研发一体化平台。

作者:喻翩

来源:微信公众号:众安科技技术团队

出处:https://mp.weixin.qq.com/s/0bcYyMp4aMc2hdc5XDyFMg

继续阅读