阿里云国内版迁移到国际版完整操作教程

作为阿里云代理商,我们帮客户处理过不少迁移需求,每次都会遇到一些文档里没写、但实际操作中必然碰到的问题。这篇教程整理了完整的操作流程,以及容易出错的地方。

动手之前先搞清楚这件事

国内版和国际版账号体系完全不互通

很多用户以为用同一个阿里云账号登录,就能在国内版和国际版之间切换资源,实际上两边是完全独立的产品体系,账号不互通,资源不互通,控制台虽然界面相似,但背后是两套系统。

说白了就是没有"迁移"按钮,你要做的是在国际版重新建一套环境,再把国内服务器的数据搬过去。本质是重建 + 数据搬运,不是资源转移。

动手前,把迁移范围列清楚

很多人开始操作之后才发现漏了东西。一个完整的迁移通常涉及:

  • 网站文件:/www 或 /var/www/html 等目录
  • 数据库:MySQL、PostgreSQL 等
  • 运行环境配置:Nginx/Apache 配置文件、PHP 版本、环境变量
  • 域名解析:需要在新服务器测试完成后才改
  • OSS 文件:如果有用到对象存储,里面的文件要单独处理
  • SSL 证书:不用迁,重新签一张就好

建议在动手之前,把这几项逐一确认,避免迁到一半发现有东西漏了。

节点和配置怎么选

三个主要节点的实际 差别

阿里云国际版常用的节点是香港、新加坡和日本(东京)。这三个节点适用的场景不太一样:

香港节点对大陆用户访问最友好,延迟低,是出海业务里用得最多的节点;但近年香港线路在高峰时段偶尔有抖动,稳定性不如以前。新加坡节点在东南亚覆盖最好,线路稳定,适合面向东南亚市场的业务,价格比香港略高一点。日本节点延迟在东亚地区表现不错,价格相对有优势,但对大陆用户访问不如香港直接。

配置规格建议

迁移初期建议选跟国内版一致或稍高一档的规格,等迁移完稳定运行一段时间之后,再根据实际资源占用来调整。不要为了省钱在迁移阶段选低配,迁移本身会额外占用 CPU 和内存,配置太低容易出问题。

带宽计费的 差别

国际版 ECS 默认按流量计费 ,而国内版很多人用的是按固定带宽计费。

两种方式的成本结构完全不一样。

流量计费的好处是:网站访问量小的时候成本低。坏处是:如果网站有大量图片、视频或者文件下载,出站流量一多,账单会超出预期。建议在创建实例之前,估算一下每月大概的出站流量,再决定用哪种计费方式,别到月底看到账单才后悔。

完整迁移步骤

第一步:注册国际版账号并完成支付设置

国际版账号需要单独注册,地址是 international.aliyun.com

注册过程中需要绑定一张能走境外交易的信用卡,Visa 或 Mastercard 都行,国内发行的信用卡有时候因为风控被拦截导致支付验证失败。

如果没有境外信用卡,或者注册过程中遇到支付验证失败、账号被限制等情况可以通过阿里云国际代理商开通账号。

二步:创建 ECS 实例和安全组

账号注册好、支付方式绑定完之后,进控制台创建 ECS 实例。这里有几个要注意的地方:

安全组规则要在创建实例时就配置好,至少放开 22 端口(SSH)、80 端口(HTTP)、443 端口(HTTPS)。安全组没配对是迁移完之后网站访问不了的高频原因,排查起来容易绕弯子。

系统镜像选跟国内版一样的操作系统和版本,减少环境差异带来的问题。

第三步:搭建运行环境(细节在这里)

新实例起来之后,先把运行环境搭好再搬数据。PHP 版本、数据库版本、Web 服务器(Nginx 或 Apache)都要跟国内版对齐,版本不一致是迁移完之后程序报错的主要原因之一。

有一个细节很多人忽略:时区。国际版 ECS 默认是 UTC,国内版一般是 CST(UTC+8),差了整整 8 小时。如果你的应用有定时任务、日志记录、订单时间戳等跟时间相关的逻辑,时区不对会导致这些全部乱掉,到时候排查起来非常麻烦。

bash

查看当前时区timedatectl# 改成上海时区timedatectl set-timezone Asia/Shanghai

搭环境的时候顺手就改掉,比迁完之后再排查省事得多。

第四步:数据库迁移

用 mysqldump 导出,然后传到新服务器导入。

bash

在国内服务器上导出mysqldump -u root -p --default-character-set=utf8mb4 数据库名 > backup.sql# 传到国际版服务器scp backup.sql root@国际版服务器IP:/root/# 在国际版服务器上导入mysql -u root -p 数据库名 < backup.sql

导出时加上 --default-character-set=utf8mb4 这个参数,跟后面要说的字符集乱码问题有关。

导入完成后,记得修改程序里的数据库连接配置,把 host 地址改成新服务器的地址。

第五步:网站文件迁移

打包之后用 scp 传,比逐个文件传快很多。

bash

在国内服务器上打包tar -czf site_backup.tar.gz /www/wwwroot/你的网站目录# 传到国际版服务器scp site_backup.tar.gz root@国际版服务器IP:/root/# 在国际版服务器上解压到对应目录tar -xzf site_backup.tar.gz -C /www/wwwroot/

解压完之后有一步很多人会漏掉:文件权限。从另一台服务器传过来的文件,属主信息可能对不上,导致 Web 服务器读写时报错,表现为上传文件失败或者缓存目录写不进去。

bash

chown -R www:www /www/wwwroot/你的网站目录

第六步:本地测试,别急着改 DNS

环境搭好、数据迁过来之后,先本地测试,不要直接动 DNS。

方法是修改本地电脑的 hosts 文件,把域名临时指向国际版服务器的 IP,然后浏览器访问,把网站主要功能过一遍:页面加载、用户登录、数据库读写、图片显示、表单提交都测一下。

hosts 文件位置:

  • Windows:C:\Windows\System32\drivers\etc\hosts
  • Mac/Linux:/etc/hosts

加一行:

国际版服务器IP 你的域名

测完把这行删掉就行,不影响其他人正常访问旧服务器。

第七步:域名解析切换

本地测试没问题之后,去域名管理后台把 A 记录改成国际版服务器 IP。DNS 生效时间一般是几分钟到几小时,这段时间新旧服务器要同时保持运行。

改完之后用手机切 4G(绕开本地 hosts 缓存)访问网站,确认已经指向新服务器,再做一次完整功能测试。

迁移过程中最常 犯的错

时区没改,时间全部乱掉

上面步骤里已经提到,这里再强调一次,因为确实有不少人迁完之后才发现这个问题。定时任务执行时间偏 8 小时、日志时间对不上、前端显示的时间不对,这些都是时区没改的典型表现。迁完之后第一件事,先确认时区。

数据库字符集不一致,中文变乱码

导入之后发现中文显示乱码,通常是导出时没有指定字符集,或者新数据库的默认字符集跟原来不一样。先查一下原数据库用的是什么字符集:

sql

SHOW VARIABLES LIKE 'character_set%';

然后确认新数据库设置一致。如果已经导入了乱码数据,没有捷径,需要重新导出、清空数据库、重新导入。

文件权限错误,网站读写报错

表现是页面能打开,但上传图片失败、某些功能报错、缓存写不进去。用 chown 把文件属主改成 Web 服务器用户就能解决,通常是 www 或 nginx。

OSS 数据忘了迁,图片全挂

如果国内版的网站用了 OSS 来存图片或者静态文件,这部分数据不会随着网站文件一起过来。国内版的 OSS bucket 和国际版是隔离的,必须单独处理。

你需要在国际版重新创建 OSS bucket,把数据同步过去,然后修改程序里的 OSS 配置,包括 endpoint、bucket name 和 AccessKey。关于国际版 OSS 的创建和配置流程,可以参考阿里云国际版 OSS 怎么用?这篇。

关于 SMC 工具,适不适合用

阿里云有个叫 Server Migration Center(SMC)的工具,可以把整个系统盘的快照迁移过去,国内版迁国际版理论上也能用。

坦白说,SMC 更适合从物理机或者其他云平台迁移到阿里云的场景。用来做国内版迁国际版,需要在两端分别配置 AccessKey,迁移完还要处理网络、安全组等一堆设置,操作复杂度并不比手动迁低,出了问题反而更难定位。

什么情况下考虑 SMC:服务器上部署了很多定制化服务,运行环境非常复杂,手动重建成本太高。如果只是普通的网站或者小型应用,手动迁更直接、更可控。

迁移完成后的收尾核查

切换完 DNS、新服务器运行起来之后,不要立刻释放国内的 ECS 实例。建议再跑一周,确认以下几件事:

  • 新服务器 CPU 和内存使用率是否正常,有没有异常的资源占用
  • 网站各项功能是否稳定,有没有偶发性报错
  • 流量计费是否在预期范围内(国际版按流量计费,第一个月要重点关注)
  • 日志里有没有持续出现的报错信息

一周下来没有问题,再去把国内实例停机或释放。这样即便发现漏了什么,还有退路。

除此之外,还有几个收尾动作容易忘:

  • 更新程序里写死的国内服务器 IP 或内网地址
  • 检查所有定时任务的执行时间是否正常
  • 确认邮件发送功能是否正常(国际版对出站邮件有不同的限制策略)
  • 重新申请 SSL 证书并配置 HTTPS

自己搞不定怎么办

迁移涉及的细节比较多,时区、字符集、文件权限、OSS、DNS 切换时机,任何一个环节没处理好都可能导致迁完之后出问题。如果中途卡住了,或者不想自己一步步来,找有实际操作经验的代理协助是个合理的选择,至少可以省掉踩坑的时间成本。

相关推荐
BAGAE17 小时前
PADS最新版保姆级图文安装教程
阿里云·智能路由器·pcb工艺·教育电商·电视
阿旭超级学得完17 小时前
Linux基础指令 四(apt,vim,git,cgdb)
linux·服务器·开发语言·数据结构·c++·git·vim
半夜修仙17 小时前
4.RabbitMQ运维
linux·运维·服务器·分布式·rabbitmq·java-rabbitmq
酉鬼女又兒17 小时前
零基础入门计算机网络:集线器与交换机区别、以太网交换机自学习转发流程及生成树协议STP全解析
服务器·网络·网络协议·tcp/ip·计算机网络·考研·职场和发展
红信鸽17 小时前
冷启动消失后,Serverless 架构正在重塑云计算的底层逻辑
云计算
石小千17 小时前
DELL安装PERCCLI工具(ESXI)
服务器
七夜zippoe17 小时前
OpenClaw 节点通知:推送消息到设备
运维·服务器·网络·ai·openclaw·nodes
Cosolar21 小时前
LlamaIndex索引类型全解析:原理与实战指南
运维·服务器