You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何跨账号、跨区域/可用区迁移AWS ECS及跨区域VPC迁移Docker容器

AWS ECS 迁移方案汇总

一、跨账号跨区域/可用区迁移ECS

  • 镜像迁移
    先将源账号ECR中的镜像复制到目标账号对应区域的ECR仓库:

    1. 若目标账号无对应仓库,先创建:
      aws ecr create-repository --repository-name my-image --region <目标区域>
      
    2. 执行跨账号镜像复制:
      aws ecr copy-image --source-region <源区域> --source-image-uri <源账号ECR镜像URI> --region <目标区域> --destination-image-uri <目标账号ECR镜像URI>
      

    注意:需确保源ECR仓库权限策略允许目标账号复制,或操作双方账号的用户有对应ECR读写权限

  • 导出并适配任务定义

    1. 从源账号导出任务定义JSON:
      aws ecs describe-task-definition --task-definition <任务定义名称> --region <源区域> > task-def.json
      
    2. 编辑JSON文件:替换镜像URI为目标账号ECR地址,将任务角色、执行角色替换为目标账号已创建的同权限IAM角色,移除源账号专属资源ARN。
  • 记录集群与服务配置
    记录源ECS集群类型(EC2/Fargate)、服务的核心配置:任务数量、负载均衡规则、自动扩缩容策略、网络模式等。

  • 目标账号准备资源

    1. 在目标区域创建同类型的ECS集群:EC2类型需配置EC2实例、Auto Scaling组;Fargate类型直接创建集群即可。
    2. 配置目标区域的网络资源:子网、安全组(规则匹配源环境,适配目标VPC网络逻辑)。
  • 导入任务定义并部署服务

    1. 在目标账号注册修改后的任务定义:
      aws ecs register-task-definition --cli-input-json file://task-def.json --region <目标区域>
      
    2. 创建ECS服务,按照之前记录的配置设置任务数、负载均衡、自动扩缩容等参数,关联目标VPC的子网和安全组。
  • 验证迁移
    检查服务状态、任务启动情况,测试业务功能是否正常运行。

二、同账号跨VPC(不同区域)迁移ECS容器

  • 镜像复制到目标区域ECR
    参照跨账号迁移的镜像复制步骤,将源区域ECR的镜像复制到目标区域的ECR仓库。

  • 导出并调整任务定义

    1. 导出源任务定义JSON,替换镜像URI为目标区域ECR地址。
    2. 修改网络配置:将networkConfiguration中的子网、安全组ARN替换为目标VPC的对应资源ARN;若使用awsvpc模式,确保目标VPC子网和安全组规则满足容器网络访问需求。
    3. 调整IAM角色:若任务角色包含区域相关权限,确保目标区域的角色配置匹配。
  • 目标VPC资源准备

    1. 在目标区域VPC内创建符合需求的子网(Fargate需根据业务选择公有/私有子网)、安全组(开放必要端口与访问规则)。
    2. 确认目标区域ECS集群已存在,无集群则创建对应类型的集群。
  • 部署服务到目标VPC

    1. 注册修改后的任务定义到目标区域。
    2. 创建ECS服务,指定目标VPC的子网和安全组,配置任务数、负载均衡(需在目标区域创建对应负载均衡并关联)等参数。
  • 验证与流量切换
    确认目标服务运行正常后,逐步将业务流量切换至目标服务,最终停止源区域的ECS服务。

内容的提问来源于stack exchange,提问作者Subhajeet Paria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 09:30:50