Amazon ECS 启动类型 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon ECS 启动类型

任务定义启动类型定义了任务可以运行的容量,例如 Amazon Fargate。

选择启动类型后,Amazon ECS 会验证您配置的任务定义参数是否适用于启动类型。

Fargate 启动类型

Fargate 是一款无服务器、按实际使用量付费的计算引擎,让您无需管理服务器即可专注于构建应用程序。选择 Fargate 时,您无需管理 EC2 基础设施。您只需构建容器映像,并定义要在哪个集群上运行应用程序。Fargate 与以下 Amazon 服务进行本机集成,包括:

  • Amazon VPC

  • Auto Scaling

  • Elastic Load Balancing

  • IAM

  • Secrets Manager

与 EC2 相比,您对 Fargate 拥有更多控制权,因为您可以选择应用程序所需的确切 CPU 和内存。Fargate 可以横向扩展容量,因此您无需担心流量激增。这意味着 Fargate 的运营工作量更少。

Fargate 符合合规计划的标准,包括 PCI、FIPS 140-2、FedRAMP 和 HIPAA。有关更多信息,请参阅合规性计划范围内的 Amazon 服务

Fargate 适用于以下工作负载:

  • 需要低运营开销的大型工作负载

  • 偶尔会突增的小型工作负载

  • 小工作负载

  • 批处理工作负载

有关支持 Fargate 的区域的信息,请参阅 Amazon ECS 在 Amazon Fargate 上的支持区域

下图演示了一般架构。


                Amazon ECS 架构概览。

有关 Fargate 上的Amazon ECS 更多信息,请参阅 Amazon Fargate 上的 Amazon ECS

EC2 启动类型

EC2 启动类型适用于必须进行价格优化的大型工作负载。

当考虑如何使用 EC2 启动类型对任务定义和服务建模时,我们建议您考虑哪些流程必须一起运行以及您将如何扩展每个组件。

例如,假设某个应用程序包含以下组件:

  • 一项在网页上显示信息的前端服务

  • 一项为前端服务提供 API 的后端服务

  • 数据存储

对于此示例,创建将用于共同目的的容器分组的任务定义。将不同的组件分离为多个单独的任务定义。以下示例集群具有运行三个前端服务容器、两个后端服务容器和一个数据存储服务容器的三个容器实例。

您可以对任务定义中的相关容器(例如,必须一起运行的已链接的容器)进行分组。例如,将日志流容器添加到前端服务,并将其包含在同一任务定义中。

在拥有任务定义后,您可以从这些任务定义创建服务以保持所需任务的可用性。有关更多信息,请参阅 使用控制台创建服务。在您的服务中,您可以将容器与 Elastic Load Balancing 负载平衡器关联。有关更多信息,请参阅 使用负载均衡分配 Amazon ECS 服务流量。当您的应用程序要求发生更改时,您可以更新服务以增大或减小所需任务数。或者,您可以更新服务以在任务中部署较新版本的容器。有关更多信息,请参阅 使用控制台更新服务


                包含三个实例的应用程序架构示例。实例 1 具有前端服务容器和数据库服务容器。实例 2 和实例 3 具有前端服务容器和后端服务容器。

外部启动类型

外部启动类型用于在您注册到 Amazon ECS 群集并远程管理的内部部署服务器或虚拟机 (VM) 上运行容器化应用程序。有关更多信息,请参阅 外部实例 (Amazon ECS Anywhere)