因为扩容过10GB硬盘,差点被阿里云99元续费资格拒之门外。

收到阿里云服务器到期的短信提醒时,我还在想着这台三年前入手的99元ECS主机不知不觉已经陪我走过三个年头了。登录控制台,找到那台即将到期的实例,熟练地点下续费按钮,结果弹窗没出现,按钮是灰色的,无法点击。我还以为是浏览器卡了,刷新、退出重登,依旧如此。点开人工客服窗口一问才知道,这台主机当初扩容过10GB硬盘,导致无法享受99元的特殊续费优惠。原来这种特价机的特殊待遇是有严格前置条件的,只要变更过配置,就失去了特殊续费的资格。想要继续享受优惠,唯一的办法就是将当前实例释放,用新的名额重新购买。

释放实例这四个字听起来轻松,但对一个搭建了博客、绑定了域名的服务器来说,数据怎么办、配置怎么办、IP地址变了怎么办都是问题。客服告诉我可以通过弹性网卡功能保留IP,在释放实例时将主网卡设置为不随实例释放,这样私网IPv4地址就能被保留。结果我在操作界面找了半天,才发现主网卡的保留功能目前仅在北京、上海、杭州等部分地域开放,我实例所在区并不支持。折腾了半个多小时,我放弃了IP无损迁移的计划,老老实实接受换新IP的命运。

既然IP保不住,那就得保证数据100%迁移成功。这里阿里云的镜像功能确实好用,在释放实例前,我先为老主机创建了一个自定义镜像,将系统盘的环境和数据打了个包。镜像创建完成后发现老主机在华东1上海,而新购的优惠机活动区通常在北京或张家口,镜像跨区域了怎么办?研究功能面板发现了复制镜像功能,可以将上海区域的镜像一键复制到北京区域,整个过程大概十分钟,在北京的镜像列表里就躺着我从上海搬运过来的那份数据备份。

镜像在手操作就顺畅多了,先释放老主机,释放后果然在活动页面看到了重新出现的99元购买入口,果断在北京区域下单。因为之前扩容过,镜像还原的时候也要一样尺寸的硬盘,所以再次点击续费将新机也延长一年使用时间,顺手又把数据盘扩容到了原来的大小。新机创建好后,在实例详情页选择更换操作系统、使用自定义镜像,选中从上海复制过来的那份镜像,等待几分钟系统盘被镜像数据完全覆盖,熟悉的宝塔面板、网站文件、数据库内容一个不少地回来了。

系统虽然回来了但网络不通,新机器的安全组是全新的,默认只开放了22端口和3389端口。手动添加入方向规则开放宝塔默认的8888端口,以及网站用的80和443端口,直接把原来实例的安全组规则截图对比着配了一遍。CDN和域名解析也要大调整,我一直用的是又拍云,登录又拍云控制台找到对应的服务,将回源IP从老IP修改为新IP。为了省事在域名DNS解析控制台添加了一条泛域名的A记录指向新主机IP,实现所有子域名的快速生效。备案信息更新是最容易被忽略的,登录工信部备案管理系统找到对应的网站备案信息,点击变更接入将主机IP地址更新为新的IP,如果不更新一旦被机房扫描到IP与备案不一致有被注销备案的风险。

中间其实我还动过换平台的念头,顺手申请了一台腾讯云的主机,也是99元的活动价。本来想着如果能直接迁移过去也不错,结果发现搭建web服务需要备案,要把阿里云的备案迁移过去实在是太麻烦了,折腾了一圈想想还是算了,就放弃了。不过既然机器已经申请了,闲置着也可惜,就在这台腾讯云主机上搭了个OpenClow服务,体验了一下最近比较热门的东西,也算是没白折腾这一趟。

看着博客首页重新加载出来,长舒一口气。这次续费风波算是告一段落。
记录于此,希望对遇到同样问题的朋友有所帮助。