在运行手册中使用脚本 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon Systems Manager Change Manager 不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息,请参阅 Amazon Systems Manager Change Manager 可用性变更

在运行手册中使用脚本

自动化运行手册支持将脚本作为自动化的一部分运行。Automation 是 Amazon Systems Manager 中的一项工具。通过使用运行手册,您可以直接在 Amazon 中运行脚本,而无需创建单独的计算环境来运行脚本。由于运行手册可以将脚本步骤与其他自动化步骤类型(例如批准)一起运行,因此您能够在紧急或不明确的情况下手动进行干预。您可以把来自运行手册中 aws:executeScript 操作的输出添加到 Amazon CloudWatch Logs。有关更多信息,请参阅 使用 CloudWatch Logs 记录自动化操作输出

使用运行手册的权限

要使用运行手册,Systems Manager 必须使用 Amazon Identity and Access Management (IAM) 角色的权限。自动化用于确定使用哪个角色的权限的方法取决于一些因素,以及步骤是否使用 aws:executeScript 操作。

对于不使用 aws:executeScript 的运行手册,自动化将使用以下两种权限来源之一:

  • 在运行手册中指定或作为参数传递的 IAM 服务角色或担任角色的权限。

  • 如果未指定 IAM 服务角色,则为启动自动化的用户的权限。

不过,如果运行手册中的步骤包含 aws:executeScript 操作,并且为该操作指定的 Python 或 PowerShell 脚本调用任何 Amazon API 操作,则始终需要使用 IAM 服务角色(担任角色)。自动化按以下顺序检查该角色:

  • 在运行手册中指定或作为参数传递的 IAM 服务角色或担任角色的权限。

  • 如果找不到任何角色,自动化尝试在没有任何权限的情况下运行为 aws:executeScript 指定的 Python 或 PowerShell 脚本。如果脚本调用 Amazon API 操作(例如,Amazon EC2 CreateImage 操作)或者尝试对 Amazon 资源(例如 EC2 实例)执行操作,则包含脚本的步骤将失败,并且 Systems Manager 返回一条错误消息以报告失败。

将脚本添加到运行手册

您可以通过内联方式将脚本作为运行手册中的步骤的一部分,从而将其添加到运行手册中。您还可以从本地计算机中上传脚本或指定脚本所在的 Amazon Simple Storage Service (Amazon S3) 存储桶,以将脚本附加到运行手册。在运行脚本的步骤完成后,脚本的输出将作为 JSON 对象提供,您可以将其作为运行手册中的后续步骤的输入。有关 aws:executeScript 操作以及如何使用脚本附件的更多信息,请参阅 aws:executeScript - 运行脚本

运行手册的脚本限制

运行手册强制执行 5 个文件附加文件的限制。脚本可以采用 Python 脚本 (.py) 或 PowerShell Core 脚本 (.ps1) 的形式,也可以作为 .zip 文件中的内容附加。