AWSSupport-TroubleshootECSTaskFailedToStart - AWS Systems Manager 自动化运行手册参考

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

AWSSupport-TroubleshootECSTaskFailedToStart

描述

AWSSupport-TroubleshootECSTaskFailedToStart 运行手册可帮助解决 Amazon ECS 集群中的 Amazon Elastic Container Service (Amazon ECS) 任务无法启动的问题。您必须以与未能启动的任务 AWS 区域 相同的方式运行此运行手册。运行手册分析了以下可能导致任务无法启动的常见问题:

  • 与已配置的容器注册表的网络连接

  • 缺少任务执行角色所需的 IAM 权限

  • VPC 端点连接

  • 安全组规则配置

  • AWS Secrets Manager 秘密参考

  • 日志记录配置

注意

如果分析确定需要对网络连接进行测试,则会在您的账户中创建 Lambda 函数和必要的 IAM 角色。这些资源用于模拟失败任务的网络连接。当这些资源不再需要时,此自动化会将其删除。但是,如果此自动化无法删除这些资源,则必须手动将其删除。

运行此自动化(控制台)

文档类型

自动化

所有者

Amazon

平台

Linux、macOS、Windows

参数

  • AutomationAssumeRole

    类型:字符串

    描述:(可选)允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称(ARN)。如果未指定角色,Systems Manager Automation 将使用启动此运行手册的用户的权限。

  • ClusterName

    类型:字符串

    描述:(必需)任务启动失败的 Amazon ECS 集群的名称。

  • CloudwatchRetention时期

    类型:整数

    描述:(可选)要存储在 Ama CloudWatch zon Logs 中的 Lambda 函数日志的保留期,以天为单位。只有在分析确定需要测试网络连通性时,才需要这样做。

    有效值:1 | 3 | 5 | 7 | 14 | 30 | 60 | 90

    默认:30

  • TaskId

    类型:字符串

    描述:(必需)失败任务的 ID。使用最近失败的任务。

所需的 IAM 权限

AutomationAssumeRole 参数需要执行以下操作才能成功使用运行手册。

  • cloudtrail:LookupEvents

  • ec2:DeleteNetworkInterface

  • ec2:DescribeInstances

  • ec2:DescribeInstanceAttribute

  • ec2:DescribeIamInstanceProfileAssociations

  • ec2:DescribeSecurityGroups

  • ec2:DescribeNetworkAcls

  • ec2:DescribeNetworkInterfaces

  • ec2:DescribeRouteTables

  • ec2:DescribeSubnets

  • ec2:DescribeVpcEndpoints

  • ec2:DescribeVpcs

  • ecr:DescribeImages

  • ecr:GetRepositoryPolicy

  • ecs:DescribeContainerInstances

  • ecs:DescribeServices

  • ecs:DescribeTaskDefinition

  • ecs:DescribeTasks

  • iam:AttachRolePolicy

  • iam:CreateRole

  • iam:DeleteRole

  • iam:DetachRolePolicy

  • iam:GetInstanceProfile

  • iam:GetRole

  • iam:ListRoles

  • iam:PassRole

  • iam:SimulateCustomPolicy

  • iam:SimulatePrincipalPolicy

  • kms:DescribeKey

  • lambda:CreateFunction

  • lambda:DeleteFunction

  • lambda:GetFunctionConfiguration

  • lambda:InvokeFunction

  • lambda:TagResource

  • logs:DescribeLogGroups

  • logs:PutRetentionPolicy

  • secretsmanager:DescribeSecret

  • ssm:DescribeParameters

  • sts:GetCallerIdentity

文档步骤

  • aws:executeScript - 验证启动此自动化的用户或角色是否具有所需的 IAM 权限。如果您没有足够的权限来使用此运行手册,则缺少的必需权限将包含在此自动化的输出中。

  • aws:branch - 根据您是否对运行手册的所有必要操作拥有权限进行分支。

  • aws:executeScript - 如果分析确定需要测试网络连通性,则会在 VPC 中创建 Lambda 函数。

  • aws:branch - 根据上一步的结果进行分支。

  • aws:executeScript - 分析启动任务失败的可能原因。

  • aws:executeScript - 删除此自动化创建的资源。

  • aws:executeScript - 格式化此自动化的输出,将分析结果返回到控制台。在此步骤之后,您可以在自动化完成前查看分析。

  • aws:branch - 根据 Lambda 函数和关联资源是否已创建以及是否需要删除进行分支。

  • aws:sleep - 休眠 30 分钟,使得可以删除 Lambda 函数的弹性网络接口。

  • aws:executeScript - 删除 Lambda 函数网络接口。

  • aws:executeScript - 格式化 Lambda 函数网络接口删除步骤的输出。