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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon ECS 集群和容量

Amazon ECS 集群是任务或服务的逻辑分组。除了任务和服务之外,集群还包含以下资源:

  • 基础设施容量可以是以下各项的组合:

    • Amazon Cloud 中的 Amazon EC2 实例

    • Amazon Cloud 中的无服务器(Amazon Fargate (Fargate))

    • 本地虚拟机(VM)或服务器

  • 您的任务和服务运行所在的网络(VPC 和子网)

    当您将 Amazon EC2 实例用于容量时,子网可以位于可用区、本地区域、Wavelength 区域或 Amazon Outposts。

  • 可选命名空间

    命名空间用于与 Service Connect 进行 service-to-service 通信。

  • 监控选项

    CloudWatch Container Insights 是一项完全托管的服务,需要支付额外费用。它会自动收集、聚合和汇总 Amazon ECS 指标与日志。

容量提供程序概念

容量提供程序由以下组件组成。

容量提供程序

容量提供程序定义 Amazon ECS 在您指定的基础设施内横向扩展和横向缩减的集群容量。您必须先将容量提供程序与集群关联,然后才能使用容量提供程序。

在容量提供程序策略中使用容量提供程序来确定运行任务所在的基础设施。每个任务必须有容量提供程序策略、启动类型,或者使用与选定集群相关联的默认容量提供程序策略。您必须引用容量提供程序策略,而不是容量提供程序。如果任务使用启动类型,则集群中的任何容量提供程序都不会计算任务使用的容量。

对于 Amazon Fargate,容量提供程序是 Amazon 创建的 FARGATEFARGATE_SPOT 容量提供程序。您将容量提供程序与集群关联,然后将它们添加到容量提供程序策略中。

对于 Amazon EC2 用户上的 Amazon ECS,容量提供程序由容量提供程序名称、自动扩缩组组成。容量提供程序还包含托管式扩缩和托管式终止保护的所有设置。开启托管式扩缩后,Amazon ECS 会代表您横向扩展和横向缩减自动扩缩组。

默认容量提供程序策略

您可以将默认容量提供程序策略与 Amazon ECS 集群相关联。执行此操作后,在集群中创建服务或运行独立任务时,以及在没有指定启动类型或自定义容量提供程序时,Amazon ECS 使用默认容量提供程序策略。我们建议您为每个集群定义默认容量提供程序策略。

容量提供程序策略

容量提供程序策略由一个或多个容量提供程序。您可以指定可选的基准值权重值,以进行更精细的控制。容量提供程序策略是集群、服务或任务配置的一部分。但是,您无法创建可重复使用的容量提供程序策略。每个集群、服务或任务的容量提供程序策略都是独立的。

当集群的默认容量提供程序策略不能满足您的容量需要时,在创建服务或运行独立任务时,请指定自定义容量提供程序策略

重要

当您在容量由容量提供程序管理的集群中的任务上设置了启动类型而不是容量提供程序策略,则这些任务不计入容量提供程序扩展操作。

只有已与集群关联且状态为 ACTIVEUPDATING 的容量提供程序才能在容量提供程序策略中使用。在创建集群时,您可以将容量提供程序与集群相关联。

在容量提供程序策略中,可选基准值指明在指定的容量提供程序上至少运行多少个任务。在一个容量提供程序策略中,只能有一个容量提供程序策略定义了基准。

权重值指明使用指定容量提供程序的已启动任务总数的相对百分比。考虑以下示例。您的策略包含两个容量提供程序,并且两者的权重均为 1。当满足基准百分比时,任务会在两个容量提供程序之间均匀分配。按照相同的逻辑,假定您指定 capacityProviderA 的权重为 1,并指定 capacityProviderB 的权重为 4,那么,对于使用 capacityProviderA 运行的每个任务,都会有四个任务使用 capacityProviderB