Amazon ECS
- 类型
- 热门
- 推出
- 2014年
轻松运行和管理容器化应用程序的容器编排服务
它能做什么
Amazon ECS (Elastic Container Service) 是在 AWS 上轻松运行、停止和管理 Docker 容器的全托管容器编排服务。自动处理容器的放置、扩缩容、健康检查和负载均衡,让开发者专注于应用开发。截至 2026 年 10 月,可选择在 EC2 实例上运行、使用 AWS Fargate 无服务器运行,或使用将 EC2 运维交给 AWS 的 ECS Managed Instances,共三种方式。
使用场景
适用于微服务架构的构建和运维、Web 应用的容器化和生产部署、批处理和定时任务的容器执行、CI/CD 流水线中构建测试环境的搭建、遗留应用的容器迁移等所有使用容器的场景。
日常类比
可以将其比作大型物流仓库的管理系统。货物 (容器) 放在哪个货架 (服务器)、损坏的货物是否需要替换、旺季是否需要增加货架等决策全部自动完成。ECS 代替仓库管理员 24 小时不间断地考虑最优配置。
什么是 ECS
Amazon Elastic Container Service (ECS) 是 AWS 提供的全托管容器编排服务。它简化了使用 Docker 容器的应用程序部署、管理和扩缩容。2014 年发布,作为 AWS 自有的容器管理服务被众多企业采用。无需 Kubernetes 那样复杂的配置,与 AWS 各种服务的深度集成是其特点。
主要特性
ECS 的最大特点是与 AWS 生态系统的无缝集成。标准提供 Elastic Load Balancing 流量分发、CloudWatch 监控、IAM 细粒度访问控制。启动类型有 EC2 和 Fargate,EC2 启动类型可细粒度控制实例类型和大小,Fargate 启动类型则完全无需服务器管理。2025 年 9 月新增的 ECS Managed Instances 是一种还可使用 GPU 和特定 CPU 架构的计算选项。指定 vCPU 数量和内存等任务要求后,ECS 会在用户的 AWS 账户中准备并运维 EC2 实例,补丁和维护由 AWS 负责。通过称为任务定义的 JSON 配置文件,可以声明式管理容器的 CPU、内存和网络设置。
任务定义与服务
在 ECS 中,应用程序的执行单元称为「任务」。任务定义中描述使用的 Docker 镜像、分配的 CPU 和内存、环境变量、日志设置等。一个任务定义可包含多个容器,常见的是使用 Sidecar 模式同时运行日志收集或代理。服务是管理任务长期运行的机制,自动维护指定数量的任务始终运行。任务异常终止时自动重启,与负载均衡器配合进行健康检查。
定价体系
ECS 控制平面本身不收取额外费用。产生费用的是运行容器的基础设施部分。EC2 启动类型收取使用的 EC2 实例费用,Fargate 启动类型按分配的 vCPU 和内存使用时间收费。Fargate 按秒计费,最低 1 分钟起,按使用量付费。使用 Fargate Spot 可获最高 70% 折扣。
入门指南
要开始使用 ECS,在 AWS 管理控制台打开 ECS 仪表板,从「创建集群」开始。集群是运行任务的逻辑分组。然后创建任务定义,设置 Docker 镜像 URL、CPU 和内存分配、端口映射等。可以指定推送到 Amazon ECR 的自有镜像或 Docker Hub 的公开镜像。创建服务并指定任务数量后,ECS 会自动启动和管理容器。
注意事项
- EC2 启动类型需要管理实例,如需减轻运维负担,可考虑 Fargate 启动类型或 ECS Managed Instances
- 利用任务定义的修订版本管理,以便在配置变更引发问题时回滚
- 建议将容器日志输出到 CloudWatch Logs,这对排查故障原因必不可少
可用区域
Amazon ECS 可在 37 个区域使用 (截至 2026-10-09)。
亚太地区:香港、台北、东京、首尔、大阪、孟买、海得拉巴、新加坡、悉尼、雅加达、墨尔本、马来西亚、新西兰、泰国
北美:加拿大 (中部)、加拿大西部 (卡尔加里)、墨西哥 (中部)、美国东部 (弗吉尼亚北部)、美国东部 (俄亥俄)、美国西部 (加利福尼亚北部)、美国西部 (俄勒冈)
南美洲:圣保罗
欧洲:法兰克福、苏黎世、斯德哥尔摩、米兰、西班牙、爱尔兰、伦敦、巴黎
AWS 欧洲主权云:德国
中东:以色列 (特拉维夫)、阿联酋、巴林
非洲:开普敦
AWS GovCloud (美国):AWS GovCloud (美国东部)、AWS GovCloud (美国西部)
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。