Amazon ECS
AWS Fargate 用户指南 (API 版本 2014-11-13)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

服务

利用 Amazon ECS,您可在 Amazon ECS 集群中同时运行和管理指定数量的任务定义实例。这称为服务。如果您的任何任务应该出于任何原因失败或停止,Amazon ECS 服务计划程序将启动另一个任务定义实例来替换它并根据所用的计划策略在服务中保留预期数量的任务。

除了在服务中保留预期数量的任务之外,您还可选择借助负载均衡器运行您的服务。负载均衡器将在与服务关联的各个任务间分配流量。

服务计划程序概念

如果服务中的某个任务停止,表明该任务已终止,一个新的任务已启动。此过程将继续,直到您的服务根据您指定的计划策略达到所需的运行任务数。

服务计划程序包括用来限制任务反复启动失败时重启任务的频率的逻辑。如果一个任务尚未进入 RUNNING 状态便停止 (取决于具有 startedAt 时间戳的任务),则服务计划程序开始以增量方式减缓启动尝试,并会发出一条服务事件消息。此行为可防止不必要的资源用于失败的任务上,从而让您有机会解决问题。服务更新后,服务计划程序恢复正常行为。有关更多信息,请参阅 服务限制逻辑服务事件消息

There are two service scheduler strategies available:

  • REPLICA—The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. For more information, see 副本.

  • DAEMON—The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. When using this strategy, there is no need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. For more information, see 守护程序.

    注意

    Fargate tasks do not support the DAEMON scheduling strategy.

守护程序

守护程序计划策略只在每个活动容器实例上部署一个任务,以满足集群中指定的所有任务放置约束。当使用此策略时,无需指定所需的任务数、任务放置策略,也无需使用服务 Auto Scaling 策略。

守护程序服务计划程序不会将任何任务放置在具有 DRAINING 状态的实例上。如果容器实例转换为 DRAINING,则会停止其上的守护程序任务。它还监视何时将新容器实例添加到您的集群,并将守护程序任务添加到其中。

如果指定了 deploymentConfiguration,则最大百分比参数必须为 100maximumPercent 的守护程序服务的默认值为 100%。minimumHealthyPercent 的守护程序服务的默认值对于 AWS CLI、AWS 开发工具包和 API 为 0%,对于 AWS 管理控制台为 50%。

注意

守护程序服务计划程序不支持使用 传统负载均衡器。

副本

副本计划策略在集群上放置并维护所需数量的任务。默认情况下,服务计划程序可在多个可用区之间分布任务,但您可以使用任务放置策略和约束自定义任务放置决策。

当服务计划程序(使用 REPLICA 策略)启动新任务或停止运行使用 Fargate 启动类型的任务时,它会尝试在服务中的可用区之间保持平衡。

附加服务概念

  • 您可选择借助负载均衡器运行您的服务。有关更多信息,请参阅 服务负载均衡

  • 您可选择为您的服务指定部署配置。在部署(通过更新任务定义或预期数量的服务触发)期间,服务计划程序将使用最小和最大正常运行百分比参数确定部署策略。有关更多信息,请参阅服务定义参数

  • 您可以选择配置服务以使用 Amazon ECS service discovery。Service discovery 使用 Amazon Route 53 自动命名 API 来管理服务任务的 DNS 条目,使其可在 VPC 中供搜索。有关更多信息,请参阅Service Discovery