服务事件消息 - Amazon ECS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

服务事件消息

如果您正在解决与服务相关的问题,首先应查看服务事件日志中的诊断信息。您可以使用 DescribeServices API、Amazon CLI 或 Amazon Web Services Management Console 查看服务事件。

使用 Amazon ECS API 查看服务事件消息时,仅返回服务调度器中的事件。这些包括最近的任务放置和实例运行状况事件。但是,Amazon ECS 控制台显示来自以下来源的服务事件。

  • 来自 Amazon ECS 服务调度器的任务放置和实例运行状况事件。这些事件的前缀为服务(服务名称)。为了确保此事件视图有帮助,我们只显示 100 最近的事件,并忽略重复的事件消息,直到问题得到解决或过去六个小时。如果在六小时内未解决问题,您将收到另一条关于该原因的维修事件消息。

  • 服务 Auto Scaling 事件。这些事件的前缀为消息10 将显示最近扩展的事件。只有在使用 Application Auto Scaling 扩展策略配置服务时,才会发生这些事件。

可以使用以下步骤查看您当前的服务事件消息。

New console
  1. https://console.aws.amazon.com/ecs/v2 打开控制台。

  2. 在导航窗格中,选择 Clusters

  3. Clusters(集群)页面上,选择集群。

  4. 选择要检查的服务。

  5. 选择 Deployments and events(部署和事件),在 Events(事件)下查看消息。

Classic console
  1. 打开 https://console.aws.amazon.com/ecs/ 上的 Amazon ECS 控制台。

  2. 集群 页面上,选择已停止的任务所在的集群。

  3. Cluster : clustername (集群: <集群名称>) 页面上,选择 Tasks (任务)

  4. Desired task status (预期任务状态) 表标题中,选择 Stopped (已停止),然后选择要检查的已停止任务。首先列出最近停止的任务。

  5. 详细信息部分中,检查停止原因字段以查看导致任务停止的原因。

  6. 如果您有一个已停止的容器,请展开该容器并检查 Status reason 行,以查看导致任务状态发生更改的原因。

    在上一个示例中,找不到容器映像名称。如果您拼错了映像名称,则会发生此情况。

    如果此检查提供的信息不足,请参阅 已停止的任务错误代码 了解更多信息。

Amazon CLI

使用 describe-services 命令查看指定服务的服务事件消息。

以下 Amazon CLI 示例描述了原定设置群集中 service-name 服务,它将提供最新的服务事件消息。

aws ecs describe-services \ --cluster default \ --services service-name \ --region us-west-2

服务事件消息

以下是您可能会在 Amazon ECS 控制台中看到的服务事件消息的示例:

此服务包含在连续多次尝试之后仍无法启动的任务。此时,服务计划程序开始逐渐增加重试间隔的时间。您应该排查任务无法启动的原因。有关更多信息,请参阅服务限制逻辑

服务更新后,例如,通过更新的任务定义更新后,服务计划程序恢复正常行为。

由于 API 限制,此服务无法启动更多任务。一旦服务调度器能够启动更多任务,它将恢复。

要请求 API 速率限制配额增加,请打开 Amazon Web Services Support 中心页面,必要时登录,然后选择创建案例。选择 Service Limit increase (提高服务限制)。填写并提交表格。

由于部署配置,此服务无法在服务部署期间停止或启动任务。部署配置由 minimumHealthyPercentmaximumPercent 值组成,这些值是在创建服务时定义的,但也可以在现有服务上更新。

minimumHealthyPercent 表示在部署期间或容器实例耗尽时应为服务运行的任务数的下限,服务所需任务数的百分比表示。此值四舍五入。例如,如果最小运行状况百分比为 50,并且所需的任务计数为 4,则调度器可以在启动两个新任务之前停止两个现有任务。同样,如果最小运行状况百分比为 75%,所需任务计数为 2,则由于结果值也为 2,调度器无法停止任何任务。

maximumPercent 表示部署期间或容器实例耗尽时应为服务运行的任务数的上限,服务所需任务数的百分比表示。此值四舍五入。例如,如果最大百分比为 200 且目标任务为计数四,则调度器可以在停止四个现有任务之前启动四个新任务。同样,如果最大百分比为 125,且目标任务计数为三,则调度器无法启动任何任务,因为结果值也是三。

设置最小运行状况百分比或最大百分比时,应确保调度器在触发部署时可以停止或启动至少一个任务。

您可以请求增加导致错误的资源的配额。有关更多信息,请参阅Amazon ECS 服务配额。要请求提高配额,请参阅 Service Quotas 用户指南中的请求增加配额

由于子网位于不受支持的可用区中,该服务无法启动任务。

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

有关如何查看子网可用区的信息,请参阅 Amazon VPC 用户指南中的查看您的子网

您可以请求增加导致错误的资源的配额。有关更多信息,请参阅Amazon ECS 服务配额。要请求提高配额,请参阅 Service Quotas 用户指南中的请求增加配额

您可以请求增加导致错误的资源的配额。有关更多信息,请参阅Amazon ECS 服务配额。要请求提高配额,请参阅 Service Quotas 用户指南中的请求增加配额

Amazon Fargate 正在从基于任务计数的限额过渡到基于 vCPU 的限额。

您可以请求对基于 Fargate vCPU 的限额增加限额。有关更多信息,请参阅Amazon ECS 服务配额。要请求提高 Fargate 限额,请参阅《Service Quotas 用户指南》中的请求增加限额

服务的受保护任务数量超过了所需的任务数量。您可以执行以下操作之一:

  • 等到当前任务的保护到期,使它们能够被终止。

  • 确定哪些任务可以停止。然后,使用 UpdateTaskProtection API 和 protectionEnabled 选项将 false 设置为取消对这些任务的保护。

  • 增加服务的所需任务计数,以大于受保护任务的数量。