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

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

创建运行脚本的运行手册

AWS Systems Manager Automation 运行手册支持将脚本作为自动化的一部分运行。通过使用运行手册,您可以直接在 AWS 中运行脚本,而无需创建单独的计算环境来运行脚本。由于运行手册可以将脚本步骤与其他自动化步骤类型(例如批准)一起运行,因此,您可以在紧急或不明确的情况下手动进行干预。

使用运行手册的权限

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

对于不使用 aws:executeScript 的运行手册,Automation 使用两种权限源之一:

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

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

但是,当运行手册中的步骤包含 aws:executeScript 操作时,如果为操作指定的 Python 或 PowerShell 脚本调用任何 AWS API 操作,则始终需要 IAM 服务角色(担任角色)。Automation 按以下顺序检查该角色:

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

  • 应用于运行手册的具有标签键 AutomationScriptExecutionRole 的资源标签。在这种情况下,Automation 使用指定为标签值的 IAM 角色。例如,arn:aws:iam::123456789012:role/AutomationAssumeRole

    如果找不到任何角色,则 Automation 尝试在没有任何权限的情况下运行为 aws:executeScript 指定的 Python 或 PowerShell 脚本。如果脚本调用 AWS API 操作(例如,Amazon EC2 CreateImage 操作)或者尝试对 AWS 资源(例如 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 文件中的内容附加。

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

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