Systems Manager Automation - Amazon Web Services Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

Systems Manager Automation

使用以下信息可帮助解决与相关的问题Amazon Web Services Systems Manager自动化,一种Amazon Web Services Systems Manager。本主题介绍了依据 Automation 错误消息解决问题的特定任务。

常见 Automation 错误

此部分提供有关常见 Automation 错误的信息。

VPC not defined 400

默认情况下,当 “自动化” 运行AWS-UpdateLinuxAmi运行手册或AWS-UpdateWindowsAmi运行手册中,系统会在默认 VPC (172.30.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. 如果您删除了默认 VPC,会收到以下错误:

VPC not defined 400

要解决此问题,您必须为 SubnetId 输入参数指定值。

Automation 执行无法启动

如果您没有为 Automation (IAM) 用户、角色和策略正确配置自动化,自动化可能因拒绝访问错误或担任角色无效错误而失败。

访问被拒绝

以下示例介绍了 Automation 无法启动并出现拒绝访问错误的情况。

对 Systems Manager API 的访问被拒绝

错误消息User: user arn is not authorized to perform: ssm:StartAutomationExecution on resource: document arn (Service: AWSSimpleSystemsManagement; Status Code: 400; Error Code: AccessDeniedException; Request ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

  • 可能的原因 1:尝试启动自动化的 IAM 用户无权调用StartAutomationExecutionAPI。要解决此问题,请将所需的 IAM 策略附加到用于启动自动化的用户账户。有关更多信息,请参阅 任务 3:配置用户的 Automation 访问权限

  • 可能的原因 2:尝试启动自动化的 IAM 用户有权调用StartAutomationExecutionAPI,但无权使用特定的运行手册调用 API。要解决此问题,请将所需的 IAM 策略附加到用于启动自动化的用户账户。有关更多信息,请参阅 任务 3:配置用户的 Automation 访问权限

由于不具备 PassRole 权限访问被拒

错误消息User: user arn is not authorized to perform: iam:PassRole on resource: automation assume role arn (Service: AWSSimpleSystemsManagement; Status Code: 400; Error Code: AccessDeniedException; Request ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

尝试启动 Automation 的 IAM 用户不具有担任角色所需的 PassRole 权限。要解决此问题,请将 IAM: PassRole 策略附加到尝试启动自动化的 IAM 用户的角色。有关更多信息,请参阅 任务 2:将 IAM: PassRole 策略附加到您的 Automation 角色

代入角色无效

运行 Automation 时,要么在 Runbook 中提供担任角色,要么将担任角色作为 Runbook 的参数值传递。如果未指定或未正确配置担任角色,可出现不同类型的错误。

担任角色格式错误

错误消息The format of the supplied assume role ARN is invalid.代入角色格式不正确。要解决该问题,请验证 Runbook 中是否指定了有效的代入角色,或者在启动 Automation 时指定为运行时参数。

无法担任担任角色

错误消息The defined assume role is unable to be assumed. (Service: AWSSimpleSystemsManagement; Status Code: 400; Error Code: InvalidAutomationExecutionParametersException; Request ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

  • 可能的原因 1:担任角色不存在。要解决该问题,请创建角色。有关更多信息,请参阅 设置 Automation。创建此角色的特定详细信息在以下主题中介绍 任务 1:为 Automation 创建服务角色

  • 可能的原因 2:担任角色没有与 Systems Manager 服务的信任关系。要解决该问题,请创建信任关系。有关更多信息,请参阅 。我无法担任角色中的IAM 用户指南

执行已启动,但是状态为“失败”

操作特定的失败

Runbook 包含步骤,并且步骤按顺序运行。每个步骤调用一项或多项 Amazon 服务 API。API 可确定本步的输入、行为和输出。在多个位置错误可能导致步骤失败。失败消息指示出现错误的时间和位置。

要在 Amazon Elastic Compute Cloud (Amazon EC2) 控制台中查看失败消息,请选择查看输出失败步骤的链接。若要查看来自AmazonCLI,调用get-automation-execution并查找FailureMessage属性在失败StepExecution

在以下示例中,与 aws:runInstance 操作相关联的步骤失败。每个示例探讨了不同类型的错误。

缺少映像

错误消息Automation Step Execution fails when it is launching the instance(s). Get Exception from RunInstances API of ec2 Service. Exception Message from RunInstances API: [The image id '[ami id]' does not exist (Service: AmazonEC2; Status Code: 400; Error Code: InvalidAMIID.NotFound; Request ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)]. Please refer to Automation Service Troubleshooting Guide for more diagnosis details.

aws:runInstances 操作收到的 ImageId 输入不存在。要解决此问题,请使用正确的AMIID。

担任角色策略没有足够的权限

错误消息Automation Step Execution fails when it is launching the instance(s). Get Exception from RunInstances API of ec2 Service. Exception Message from RunInstances API: [You are not authorized to perform this operation. Encoded authorization failure message: xxxxxxx (Service: AmazonEC2; Status Code: 403; Error Code: UnauthorizedOperation; Request ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)]. Please refer to Automation Service Troubleshooting Guide for more diagnosis details.

担任角色的权限不足,无法调用RunInstancesEC2 实例上的 API。要解决此问题,请将 IAM 策略附加到有权调用RunInstancesAPI。有关更多信息,请参阅 方法 2:使用 IAM 为 Automation 配置角色

意外状态

错误消息Step fails when it is verifying launched instance(s) are ready to be used. Instance i-xxxxxxxxx entered unexpected state: shutting-down. Please refer to Automation Service Troubleshooting Guide for more diagnosis details.

  • 可能的原因 1:实例或 Amazon EC2 服务有问题。要解决此问题,请登录到实例或查阅实例系统日志以了解实例启动关闭的原因。

  • 可能的原因 2:指定的用户数据脚本aws:runInstances操作有问题或语法不正确。验证用户数据脚本的语法。另外,请验证用户数据脚本是否未关闭实例,或者调用了关闭该实例的其他脚本。

操作特定失败参考

如果步骤失败,失败消息可能指示失败时正在调用哪个服务。下表列出每个操作调用的服务。该表还提供指向有关每个服务的信息的链接。

操作 此操作调用的 Amazon 服务 有关此服务的信息 排查内容问题

aws:runInstances

Amazon EC2

适用于 Linux 实例的 Amazon EC2 用户指南

EC2 实例故障排除

aws:changeInstanceState

Amazon EC2

适用于 Linux 实例的 Amazon EC2 用户指南

EC2 实例故障排除

aws:runCommand

Systems Manager

Amazon Web Services Systems Manager Run Command

排查 Systems Manager Run Command

aws:createImage

Amazon EC2

Amazon Machine Images

aws:createStack

Amazon CloudFormation

Amazon CloudFormation 用户指南

问题排查 Amazon CloudFormation

aws:deleteStack

Amazon CloudFormation

Amazon CloudFormation 用户指南

问题排查 Amazon CloudFormation

aws:deleteImage

Amazon EC2

Amazon 系统映像

aws:copyImage

Amazon EC2

Amazon Machine Images

aws:createTag

Amazon EC2,Systems Manager

EC2 资源和标签

aws:invokeLambdaFunction

Amazon Lambda

Amazon Lambda 开发人员指南

Lambda 故障排除

Automation 服务内部错误

错误消息Internal Server Error. Please refer to Automation Service Troubleshooting Guide for more diagnosis details.

Automation 服务中的一个问题导致指定 Runbook 无法正确运行。要解决此问题,请联系 Amazon Web Services Support。请提供执行 ID 和客户 ID (如果有)。

执行已启动,但超时

错误消息Step timed out while step is verifying launched instance(s) are ready to be used. Please refer to Automation Service Troubleshooting Guide for more diagnosis details.

aws:runInstances 操作中的步骤超时。如果运行本步骤操作所花的时间超出此步骤中为 timeoutSeconds 指定的值,就会发生这种情况。要解决该问题,请为 timeoutSeconds 指定较长的值。如果不能解决问题,请调查步骤运行时间超出预期的原因。