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

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

在运行手册中使用脚本

自动化运行手册支持将脚本作为自动化的一部分运行。自动化是 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 对象提供,您可以将其作为运行手册中的后续步骤的输入。

运行手册的脚本限制

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