检查已停止的任务是否存在错误 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

检查已停止的任务是否存在错误

如果您在启动任务时遇到问题,则您的任务可能会因应用程序或配置错误而停止。例如,在您运行任务时,该任务显示 PENDING 状态,然后消失。您可以在 Amazon ECS 控制台中通过查看已停止的任务并检查其错误消息来查看已停止的任务错误。

如果您的任务定义使用awslogs日志驱动程序,则只要显示已停止的任务,写入 Amazon L CloudWatch ogs 的应用程序日志就会显示在 Amazon ECS 控制台的 “日志” 选项卡上。

如果您的任务由 Amazon ECS 服务创建,则 Amazon ECS 为维护该服务而采取的操作将在服务事件中发布。您可以在 Amazon Web Services Management Console、Amazon CLI、Amazon 软件开发工具包、Amazon ECS API 或使用软件开发工具包和 API 的工具中查看事件。这些事件包括 Amazon ECS 停止和替换任务,因为任务中的容器已停止运行,或者 Elastic Load Balancing 的运行状况检查过多失败。有关更多信息,请参见 服务事件消息

如果您的任务在 Amazon EC2 或外部计算机上的容器实例上运行,您还可以查看容器运行时和 ECS 代理的日志。这些日志位于主机 EC2 实例或外部计算机上。有关更多信息,请参见 Amazon ECS 日志文件位置

重要

已停止的任务只会在任务停止后出现在 Amazon ECS 控制台、Amazon CLI 以及 Amazon SDK 中,至少显示 1 小时。之后,已停止任务的详细信息将过期,在 Amazon ECS 中不可用。

Amazon ECS 还会向亚马逊发送任务状态更改事件 EventBridge。您无法在中查看事件 EventBridge。相反,您可以创建规则,将事件发送到其他永久性存储,例如 Amazon CloudWatch Logs。当已停止任务的详细信息在 Amazon ECS 控制台的视图中过期后,您可以使用上述存储来查看该详细信息。有关更多信息,请参见 任务状态更改事件

有关将 Amazon ECS 事件存档到 Amazon CloudWatch 日志的示例 EventBridge 配置,请参阅 GitHub 网站上的 CloudWatch 日志中的 ECS 已停止任务

请按照以下步骤检查已停止的任务是否存在错误。

Console
Amazon Web Services Management Console

以下步骤可用于使用新 Amazon Web Services Management Console 检查已停止任务的错误。

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

  2. 在导航窗格中,选择集群

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

  4. Cluster : name(集群名称:名称)页面上,选择 Tasks(任务)选项卡。

  5. 将筛选器配置为显示已停止的任务。在筛选所需状态中,选择已停止任意所需状态

    已停止选项显示已停止的任务,任意所需状态显示您的所有任务。

  6. 选择要检查的已停止任务。

  7. 在已停止任务所在行的上次状态列中,选择已停止

    弹出窗口显示停止的原因。

Amazon CLI
  1. 列出集群中停止的任务。输出包含您需要对任务进行描述的 Amazon Resource Name (ARN)。

    aws ecs list-tasks \ --cluster cluster_name \ --desired-status STOPPED \ --region us-west-2
  2. 描述已停止的任务检索在响应中的 stoppedReason

    aws ecs describe-tasks \ --cluster cluster_name \ --tasks arn:aws:ecs:us-west-2:account_id:task/cluster_name/task_ID \ --region us-west-2

其他资源

以下页面提供了有关错误代码的更多信息: