开发者社区> 塞外虎骉> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

阿里云各产品从经典网络迁移到专有网络VPC的技术实践

简介: 本文结合实际场景,介绍了阿里云迁移VPC功能classlink、混挂、混访的具体运用,希望可以给同行一些借鉴。
+关注继续查看

背景

一方面,作为阿里云老用户,默认使用的经典网络,曾经简便易用,入门简单;然而,时过境迁,虽然规模的不断扩大,产品的不断丰富,经典网络也开始暴露各种如安全性、配置复杂甚至阿里云地址池不够用等等问题。阿里云也在2016年6月启动了专用网络策略,没有经典网络ECS实例的用户,只能购买专有网络ECS实例,各项新功能和各种新产品也不再支持经典网络,所以必须迁移到专用网络。
另一方面,公司业务已运行多年,系统众多,主要使用微服务架构,但是服务规划和治理水平没有跟上,服务间调用关系复杂,系统间相互依赖也不少;同时系统和服务数量庞大,无法直接整体迁移VPC。
所以,我们独辟蹊径,不从业务系统级别,而是从云产品级别逐步迁移改造,使所有相关依赖都可以在两个网络环境中访问。

SLB的迁移

我们的业务系统间甚至服务间不仅通过服务注册发现来相互调用,也会通过SLB来相互调用。曾经,因为SLB无法平滑过渡,我们的VPC迁移计划搁置了很久。因为整个业务系统没法整体迁移,调用关系又很复杂,所以阿里云提供的迁移工具SLB混挂,在我们的场景下没法完成预期目标。
1.当A系统在经典网络,B系统在VPC时,如果是A访问B,那么给B系统挂载个经典网络的SLB,确实可以完成目标;但是如果还有个C系统在VPC,也要访问B系统,那么这个B系统的经典网络的SLB,C系统就访问不到了。所以这样做不行。
2.那么,反过来呢?也就是先给B系统挂载个VPC的SLB,然后让C和A系统来访问呢?C系统当然可以直接访问了,然而A系统是经典网络的,同样没法直接访问B系统在VPC的SLB。
3.好吧。既然,不管是挂载VPC的SLB还是挂载经典网络的SLB都不行,那么挂载公网的总行了吧?确实行。不过,本来是内网的SLB,现在换成了公网的SLB,虽然是过渡阶段,但是安全风险还是很大。如果要用这个方案,那么必须给每个SLB的每个监听加上访问控制。由于我们的SLB和监听端口数量非常大,ECS也经常新购和释放,人肉来做效率很低,也很容易出错,所以我们决定开发个自动处理SLB访问控制的程序来做这个事情。甚至,这个程序我们都做好了。
4.然而,就在我们测试ECS Classlink时,我们发现,当经典网络的ECS接入对应VPC的classlink后,这个ECS即可访问VPC内的所有产品,包括SLB。不过,这个SLB要在classlink允许访问的交换机网段上。
所以,迁移SLB的方案就变成了这样:先把所有相关的ECS都开启classlink,然后把所有的内网SLB都切换到VPC里。这样,SLB的迁移就完成了。当然,重新配置SLB以及其监听,重新发布部署服务挂载到VPC SLB上,把上游调用方的访问地址切换到新的SLB上,然后再下掉老的SLB和服务都是必须的,而且要很小心去做。

ECS的迁移

对于ECS,阿里云提供了直接迁移的方法,可以在实例的【更多】-【网络和安全组】里选择【预约迁移至专有网络】然后按照步骤就可以完成迁移。不过这种操作ECS需要重启,而且只能主账号操作,我们只有在个别情况下才使用。这种迁移方式有个好处,公网IP会被保留下来,在一些特殊场景比如公网IP被外部依赖的时候会非常有用。
image
image
image
ECS我们一般不使用直接迁移的方式,而是在VPC内新购买机器,重新部署和搭建服务,并开放给经典网络和VPC网络中的所有调用方使用。不过,虽然不做迁移,但是必须要跟VPC能互访,所以所有ECS都开启classlink是必须的。这个也是迁移VPC第一步要完成的。

其他产品

除了SLB和ECS,阿里云的其他产品,如RDS、MongoDB、Redis、OSS、MNS/MQ等,都提供了混访模式,也就是在过渡期间,给每个实例都分配一个VPC地址,同时继续保留原来的经典网络地址,这样,不管使用方所在的网络是经典网络还是VPC网络,都可以访问到。
当全部迁移VPC完成后,经典网络的地址就可以释放掉,所有产品就完全变成了VPC网络。这里要注意的是,当这些产品切换到VPC后,虽然经典网络地址还继续保留,但是是有保留时间限制的,需要在一段时间内迁移完毕或者经常续期。另外,一旦切换到VPC后,默认显示的各种信息就都是VPC网络的,要使用经典网络地址时需要特别留心注意不要搞错地址。

总结

以上就是我们从经典网络迁移到专有网络VPC时将阿里云产品逐个切换到VPC网络的方法,其实都是阿里云官方方式,classlink、混挂、混访。通过这种方式,我们基本解除了系统间的依赖,不管先迁移哪个系统,都没有太大的影响。不过,在具体场景下,要完全做到平滑,还是需要特别注意,要多做测试,同时也还是要注意操作步骤和相互依赖。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云迁移工具推荐最佳实践:Hyper-V虚拟化迁移到阿里云
阿里云迁移工具推荐最佳实践:Hyper-V虚拟化迁移到阿里云
100 0
阿里云多账号网络互通最佳实践
在企业起步阶段,规模较小,一般采用单账号模式。随着企业的发展,单账号的缺陷越来越明显,因此中大型企业上云时通常选择多账号,但是多账号间往往存在着大量的网络互通场景,如何解决多账号的网络互通问题呢? VPC 作为云上最常用的网络环境,不同账号的 VPC 之间默认是无法互通的,多账号网络互通常用的解决方案是 CEN(云企业网)和 VPN 网关。
1818 0
阿里云飞天洛神2.0:高性能网络软硬一体化技术实践
云网络构建在物理网络之上,为云计算提供灵动、智能的网络连接。云网络的性能和稳定性是云计算的基石。为了提升云网络的性能和稳定性,满足云计算的技术发展需求和业务发展需求,阿里云网络团队对VPC的基础组件做了全链路的软硬一体化设计,Gateway以超大流量+百万表项为目标,vSwitch以超大表项+百Gbps为目标。
1778 0
应用迁云之镜像迁移-(5)阿里云上跨VPC和区域、账号镜像迁移实践
 目前在阿里云云上的镜像迁移主要需求场景 n  跨VPC迁移ECS实例比如从VPC A迁移到VPC B环境中 n  跨区域迁移ECS实例比如从上海区域迁移到杭州区域 n  跨账号迁移ECS实例比如从账号A迁移到账户B 阿里云提供ECS实例快照和自定义镜像支持系统盘和数据盘的功能并且自定义镜像可以跨区域复制和共享给其他账号使用基于这些功能特性我们就可以来实现跨VPC、跨区域、跨账号的镜像迁移。
12448 0
【百科】详解阿里云技术核心——飞天
飞天(Apsara)是由阿里云自主研发、服务全球的超大规模通用计算操作系统。它可以将遍布全球的百万级服务器连成一台超级计算机,以在线公共服务的方式为社会提供计算能力。
26453 0
+关注
7
文章
13
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载