1. 迁移前的准备与评估
- 步骤1:梳理需要迁移的资源(EC2、EBS、AMI、RDS、S3、IAM 角色、VPC、ELB、EIP、Route53 记录等)。
- 步骤2:评估依赖关系(应用与数据库同步方式、是否可短暂停机、是否需保留公网 IP)。
- 步骤3:设置迁移计划(时间窗口、回滚方案、成本预算、联系人、测试用例)。
2. 网络与 VPC 复制策略
- 步骤1:在新加坡区域创建 VPC(子网、路由表、Internet Gateway/NAT、NACL)结构应与源端逻辑对应。
- 步骤2:如果有复杂配置,建议使用 CloudFormation/terraform 导出模板后在 ap-southeast-1 执行。
- 步骤3:注意子网可用区划分、新加坡的可用区命名不同,按业务冗余重建。
3. 安全组与 IAM 同步
- 步骤1:在目标区域手动或通过脚本重建 Security Groups(安全组是区域/VPC 级别不可直接跨区复制)。
- 步骤2:IAM 是全局服务,但涉及 KMS(密钥)为区域资源,迁移时需在新区域创建相应 KMS 密钥并更新加密设置。
- 步骤3:确认角色/策略的资源 ARN(含区域/账户)在目标区域仍然适用。
4. EC2 与 AMI 的跨区迁移(控制台 + CLI)
- 控制台方法:在源区域选中实例 -> Actions -> Image -> Create Image,创建 AMI -> 在 AMI 列表选择该 AMI -> Actions -> Copy AMI -> 选择目标区域 ap-southeast-1 -> 完成复制。
- CLI 方法:aws ec2 copy-image --source-region us-east-1 --source-image-id ami-xxxx --region ap-southeast-1 --name "my-app-ami-ap-southeast-1"。
- 注意:如果 AMI 使用加密卷,需在目标区域有相应 KMS 密钥并授权复制。
5. EBS 快照与数据盘迁移
- 步骤1:先为数据盘创建快照(Create Snapshot)。
- 步骤2:使用复制快照功能到 ap-southeast-1(控制台或 CLI:aws ec2 copy-snapshot --source-region X --source-snapshot-id snap-xxxx --description "copy" --region ap-southeast-1)。
- 步骤3:在目标区域基于快照创建新 EBS 并挂载到 EC2,注意 IOPS/类型匹配与加密设置。
6. S3 数据迁移(大数据量与实时同步)
- 方法A(一次性迁移):aws s3 sync s3://source-bucket s3://target-bucket --source-region us-east-1 --region ap-southeast-1。
- 方法B(持续/实时):配置跨区域复制(CRR)或使用 S3 Batch/AWS DataSync(更适合大量小文件或保持一致性)。
- 注意:CRR 需要在目标区域创建 bucket 并配置权限,版本化可保持历史。
7. RDS 迁移(快照与复制)
- 步骤1:对 RDS(MySQL/Postgres 等)创建手动快照或启用备份。
- 步骤2:使用“复制 DB 快照”功能到 ap-southeast-1,或者建立跨区域只读副本(如果引擎支持)。
- 步骤3:在目标区域基于复制快照恢复实例,验证参数组、子网组、保留策略和 KMS 加密设置。
8. 数据库零停机策略(推荐)
- 选项1:使用数据库自带的主从复制(设置目标区域为只读副本,切换主从后降级)。
- 选项2:使用逻辑备份+增量同步(mysqldump + binlog 或 pg_dump + WAL 同步)在小窗口切换。
- 步骤:提前同步数据 -> 验证一致性 -> 切换写流向目标 -> 验证。
9. 公网 IP、ELB 与 DNS 切换
- 注意:Elastic IP 无法跨区域迁移,需在目标区域分配新 EIP 并在 DNS 中更新。
- 推荐使用负载均衡器(ELB/ALB)并在目标区域创建新的 LB,流量切换通过 Route53(加权/延迟路由)控制实现零停机迁移。
- 步骤:先降低 DNS TTL(提前 24-48 小时),完成切换后再恢复原 TTL。
10. 测试、回滚与成本控制
- 步骤1:在切换流量前进行完整功能测试、性能测试、安全扫描。
- 步骤2:准备回滚脚本(重新指回源端 DNS、关闭目标实例或恢复源 DB 写入)。
- 成本:注意跨区复制、快照复制和数据传输费用,清理不再使用的快照/AMI以降低费用。
11. 切换执行步骤(典型小停机方案)
- 步骤序列:1) 降低 TTL 2) 最后一次数据增量同步 3) 停止源应用写入(或锁表)4) 同步最后增量 5) 启用目标写入并切换 DNS 6) 监控与验证 7) 清理源端(按策略)。
- 注意:记录时间点以便回滚并保留快照 24-48 小时以上以防意外。
12. 常见问题问答 —— Q1
问:迁移到新加坡区域会导致公网 IP 变化吗? 答:会。Elastic IP 属于区域级资源,无法跨区迁移,需在目标区域申请新的 EIP 并在 DNS 中更新,推荐通过降低 TTL + Route53 平滑切换以减少影响。
13. 常见问题问答 —— Q2
问:加密的 EBS/RDS 快照如何跨区复制? 答:加密快照可复制,但必须在目标区域创建或使用对应的 KMS 密钥,并在复制时指定目标区域的 KMS Key,并确保密钥策略允许复制操作。
14. 常见问题问答 —— Q3
问:如何最小化迁移停机时间? 答:采用异步复制(数据库只读副本或逻辑增量同步)、提前数据预热、降低 DNS TTL 并在切换窗口短时间内完成最终增量同步与 DNS 切换,可将停机控制在几分钟到几十分钟,视数据量和应用架构而定。
来源:迁移实操亚马逊新加坡云服务器从其他区域的步骤与注意事项