Amazon Elastic Container Service (Amazon ECS) 是一种完全托管式的容器编排服务,可以帮助您轻松部署、管理和扩展容器化应用程序。作为一种完全托管式服务,Amazon ECS 内置有 AWS 配置和操作最佳实践。Amazon ECS 可与 Amazon Elastic Container Registry 等 AWS 工具以及 Docker 等第三方工具集成。这种集成使团队更容易专注于构建应用程序而不是环境。您可以在云端和本地跨 AWS 区域 运行和扩展容器工作负载,而无需以复杂的方式管理控制面板。
术语和组件
Amazon ECS 中有三个层级:
-
容量 - 容器运行所在的基础设施
-
控制器 - 部署和管理在容器上运行的应用程序
-
预调配 - 可用于与计划程序交互以部署和管理应用程序和容器的工具
下图显示了 Amazon ECS 层。

容量是容器运行的基础设施。下文概述了容量选项:
-
AWS Cloud 中的 Amazon EC2 实例
您可以选择实例类型、实例数量并管理容量。
-
AWS Cloud 中的无服务器(AWS Fargate)
Fargate 是一款按实际使用量付费的无服务器计算引擎。使用 Fargate,您无需管理服务器、处理容量计划或隔离容器工作负载即可获得安全。
-
本地虚拟机(VM)或服务器
Amazon ECS Anywhere 支持向 Amazon ECS 群集注册外部实例,如本地部署服务器或虚拟机(VM)。
Amazon ECS 计划程序是管理您的应用程序的软件。
特征
Amazon ECS 提供以下高级功能:
- 任务定义
-
应用程序的蓝图。
- 集群
-
您的应用程序在其上运行的基础设施。
- Task
-
执行工作然后停止的应用程序(例如批处理作业)。
- 服务
-
长时间运行的无状态应用程序。
- 账户设置
-
允许访问功能。
- 集群 Auto Scaling
-
Amazon ECS 管理注册到您的集群的 Amazon EC2 实例的扩展。
- 服务自动扩缩
-
Amazon ECS 会自动增加或减少您服务中所需的任务数量。
预置
有多种预调配 Amazon ECS 的选项:
-
AWS Management Console — 提供了一个可用来访问 Amazon ECS 资源的 Web 界面。
-
AWS Command Line Interface()AWS CLI— 为众多 AWS 服务(包括 Amazon ECS)提供命令。它在 Windows、Mac 和 Linux 上受支持。有关更多信息,请参阅 AWS Command Line Interface
。 -
AWS 开发工具包 — 提供特定于语言的 API 并关注许多连接详细信息。这些工具包括计算签名、处理请求重试和错误处理。有关更多信息,请参阅 AWS SDK
。 -
AWS CDK — 提供开源软件开发框架,您可以通过它使用熟悉的编程语言对云应用程序资源进行建模和预置。AWS CDK 通过 AWS CloudFormation 以安全、可重复的方式预置资源。
相关服务
与 Amazon ECS 结合使用的服务
您可以使用其他 AWS 服务 来帮助您在 Amazon ECS 上部署任务和服务。
- Amazon EC2 Auto Scaling
-
帮助确保您具有正确数量的 Amazon EC2 实例,可用于处理您的应用程序负载。
- Amazon CloudWatch
-
监控您的服务和任务。
- Amazon Elastic Container Registry
-
存储和管理容器映像。
- Elastic Load Balancing
-
自动分配传入的服务流量。
- Amazon GuardDuty
-
检测对容器实例和工作负载的潜在未经授权或恶意使用。