Amazon ECS 集群
Amazon ECS 集群是任务或服务的逻辑分组。除了任务和服务之外,集群还包含以下资源:
-
可以是以下各项组合的基础设施容量:
-
Amazon Cloud 中的 Amazon EC2 实例
-
Amazon Cloud 中的无服务器(Amazon Fargate)
-
本地虚拟机(VM)或服务器
-
-
您的任务和服务运行所在的网络(VPC 和子网)
当您将 Amazon EC2 实例用于容量时,子网可以位于可用区、本地区域、Wavelength 区域或 Amazon Outposts。
-
可选命名空间
命名空间用于与 Service Connect 进行服务对服务通信。
-
监控选项
CloudWatch Container Insights 需要支付额外费用,是一项完全托管的服务。它会自动收集、聚合和汇总 Amazon ECS 指标与日志。
以下是有关 Amazon ECS 集群的一般概念。
-
您可以创建集群来隔离资源。
-
集群是 Amazon Web Services 区域 特定的。
-
集群的可能状态如下。
- ACTIVE
-
集群已准备好接受任务,如果适用,您可以向集群注册容器实例。
- PROVISIONING (正在预置)
-
群集具有与其关联的容量提供程序,并且正在创建容量提供程序所需的资源。
- DEPROVISIONING (正在取消预置)
-
群集具有与其关联的容量提供程序,并且正在删除容量提供程序所需的资源。
- FAILED
-
群集具有与其关联的容量提供程序,并且容量提供程序所需的资源无法创建。
- INACTIVE (非活跃)
-
集群已删除。具有
INACTIVE
状态的集群可能会在一段时间内在您的账户中保持可被发现。此行为在将来可能会发生变化,因此请确保不依赖于持续存在的INACTIVE
集群。
-
对于使用 EC2 启动类型或自动扩缩组容量提供程序,您可以使用不同的实例类型。一个实例一次只能注册到一个集群。
-
您可以通过创建自定义 IAM 策略来限制对集群的访问。有关更多信息,请参阅 Amazon Elastic Container Service 的基于身份的策略示例 中的 Amazon ECS 集群示例 部分。
-
您可以使用 Service Auto Scaling 来扩缩 Fargate 任务。有关更多信息,请参阅 自动扩展 Amazon ECS 服务。
-
您可以为集群配置默认 Service Connect 命名空间。设置默认 Service Connect 命名空间后,可以通过启用 Service Connect 将集群中创建的任何新服务添加为命名空间中的客户端服务。无需其他配置。有关更多信息,请参阅 使用 Service Connect 连接具有短名称的 Amazon ECS 服务。
容量提供程序
Amazon ECS 容量提供程序为集群中的任务管理基础设施的扩缩。每个集群可以有一个或多个容量提供程序和一个可选的容量提供程序策略。您可以为集群分配默认容量提供程序策略。容量提供程序策略确定任务在集群的容量提供程序之间的分布方式。当您运行独立任务或创建服务时,可以使用集群的默认容量提供程序策略,也可以使用覆盖默认策略的容量提供程序策略。仅当您未为任务或服务指定启动类型或容量提供程序策略时,集群的默认容量提供程序策略才适用。如果提供其中任一参数,则不会使用默认策略。
对于 Fargate,您不需要创建或管理容量。您只需要将以下任一预定义容量提供程序与集群关联:
-
Fargate
-
Fargate Spot
当将 EC2 实例用于您的容量时,请使用自动扩缩组来管理 EC2 实例。自动扩缩可帮助确保具有正确数量的 EC2 实例来处理应用程序负载。
集群可能包含托管在 Amazon Fargate、Amazon EC2 实例 或外部实例上的任务组合。任务可以作为启动类型或容量提供程序策略在 Fargate 或 EC2 基础设施上运行。如果您使用 EC2 作为启动类型,Amazon ECS 不会跟踪和扩缩 Amazon EC2 Auto Scaling 组的容量。有关启动类型的更多信息,请参阅 Amazon ECS 启动类型。
集群可能同时包含自动扩缩组容量提供程序和 Fargate 容量提供程序。容量提供程序策略只能包含自动扩缩组容量提供程序或 Fargate 容量提供程序。