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

创建运行脚本的运行手册

自动化运行手册支持将脚本作为自动化的一部分运行。自动化是 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 服务角色,则为启动自动化执行的 IAM 用户的权限。

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

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

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

有关如何运行使用 IAM 服务角色或更高级形式的委托管理的自动化的更多信息,请参阅 通过使用 IAM 服务角色运行自动化

将脚本添加到运行手册

您可以通过内联方式将脚本作为运行手册中的步骤的一部分,从而将其添加到运行手册中。您还可以从本地计算机中上传脚本或指定脚本所在的 Amazon Simple Storage Service (Amazon S3) 存储桶,以将脚本附加到运行手册。在运行脚本的步骤完成后,脚本的输出将作为 JSON 对象提供,您可以将其作为运行手册中的后续步骤的输入。

运行手册的脚本限制

自动化操作 aws:executeScript 当前支持运行 Python 3.6、Python 3.7 和 PowerShell Core 6.0 脚本。

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

在使用自动化运行脚本时,将向您的账户收费。使用 aws:executeScript 操作的自动化步骤被视为特殊步骤。特殊步骤没有步骤限制,但根据步骤数和脚本执行持续时间向您的账户收费。有关更多信息,请参阅 Amazon Systems Manager 定价页面。

以下主题介绍了如何创建运行脚本的运行手册。