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

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

创建运行脚本的 Runbook(控制台)

创建运行脚本的 Runbook

以下过程将介绍如何在Amazon Systems Manager控制台创建运行您提供的脚本的自定义运行手册。

  1. 访问 https://console.aws.amazon.com/systems-manager/,打开 Amazon Systems Manager 控制台。

  2. 在导航窗格中,选择 Documents

    -或者-

    如果Amazon Systems Manager首先打开主页,选择菜单图标( ) 以打开导航窗格中的,然后选择。文档在导航窗格中。

  3. 选择 Create automation (创建自动化)

  4. 适用于名称中,输入 Runbook 的描述性的 Runbook 名称。

  5. 适用于文档说明下,提供 Runbook 的降价样式描述。您可以提供使用 Runbook 的、编号的步骤或描述 Runbook 的任何其他类型的信息的说明。请参阅默认文本以了解设置内容格式的信息。

    提示

    Hide preview (隐藏预览)Show preview (显示预览) 之间切换,以便在编写时查看描述内容的效果。

  6. (可选)用于承担角色中,输入代表您执行操作的服务角色的名称或 Amazon 资源名称 (ARN)。如果未指定角色,则 Automation 使用调用自动化的用户的访问权限。

    重要

    对于不归 Amazon 所有并使用aws:executeScript操作时,必须指定一个角色。有关信息,请参阅 使用运行手册的权限

  7. (可选)用于输出中,输入任何输出以供其他进程使用的 Automation。

    例如,如果您的 Runbook 创建了一个新的AMI,您可以指定 ["CreateImage.ImageId"],然后使用该输出以在后续自动化中创建新的实例。

  8. (可选)展开 Input parameters (输入参数) 部分,然后执行以下操作。

    1. 适用于参数名称中,为您创建的 Runbook 参数输入一个描述性名称。

    2. 对于 Type (类型),请选择参数的类型,例如 StringStringList

    3. 对于 Required (必需),请执行以下操作之一。

      • 选择如果必须在运行时提供该 Runbook 参数的值。

      • 选择如果该参数不是必需的,然后(可选)在默认值.

    4. 适用于说明中,输入 Runbook 参数的描述。

    注意

    要添加更多 Runbook 参数,请选择添加一个参数. 要删除运行簿参数,请选择X(Remove (Remove) 按钮。

  9. (可选) 展开Target type部分,然后选择一种目标类型以定义 Runbook 可以运行的资源的类型。例如,要在 EC2 实例上使用运行簿,请选择/AWS::EC2::Instance.

    注意

    如果您指定一个值 '/',则 Runbook 可以在所有类型的资源上运行。有关有效资源类型的列表,请参阅Amazon资源类型参考中的Amazon CloudFormation用户指南.

  10. Step 1 (步骤 1) 部分中,提供以下信息。

    • 适用于步骤名称中,输入自动化的第一步的描述性名称。

    • 对于 Action type (操作类型),请选择 Run a script (运行脚本) (aws:executeScript)。

    • 对于 Description (描述),请输入自动化步骤的描述。您可以使用 Markdown 设置文本格式。

  11. 展开 Inputs (输入) 部分,然后提供以下信息。

    • 适用于运行时下,选择要添加的脚本类型。Automation 支持 Python 3.6、Python 3.7 和 PowerShell Core 6.0。

    • 适用于处理程序中,输入脚本中的函数名称。(对于 PowerShell 不是必需的。)

      重要

      您必须确保在处理程序中定义的函数具有两个参数:eventscontext。例如,如果脚本以下列内容开头,则应输入 launch_instance

      def launch_instance(events, context): import boto3 ec2 = boto3.client('ec2') [...truncated...]
    • 适用于Script下面,选择一种为 Runbook 提供脚本的方法。

      • 要将脚本嵌入在 Runbook 中,请在文本框区域中输入脚本代码。

        -或者-

      • 对于 Attachment (附件),请选择 Stored on my machine (存储在我的计算机上)Upload S3 File URL (上传 S3 文件 URL)

        如果选择存储在我的机器上:对于 Amazon S3 URL,请输入要在您的账户中存储上传附件的 S3 存储桶位置,然后选择上传导航到并选择文件。

        如果选择 Upload S3 File URL (上传 S3 文件 URL),请提供以下信息:

        • S3 文件 URL:输入在您的账户中存储该文件的 S3 存储桶位置。

        • 文件名称:输入该文件的名称。

        • 文件校验和:使用 sha256 算法输入文件的校验和。

          提示

          可以使用 Linux 中的 shasum 等工具通过 sha256 计算文件的校验和。例如:“shasum -a 256 /path/to/file”。在 Windows 中,您可以使用 Get-FileHash PowerShell cmdlet 获取相同的信息。ETag 或 md5 校验和不适用于此值。

  12. (可选)展开 Additional inputs (其他输入),然后执行以下操作。

    • 适用于输入名称,选择InputPayload. -YAML 格式的函数输入。

    • 对于 Input value (输入值),请使用 YAML 格式输入脚本输入。

  13. (可选)展开 Outputs (输出),然后输入从该步骤中创建的任何输出的 Name (名称)Selector (选择器)Type (类型)。可以在 Runbook 的后续步骤中使用步骤输出。以下是几个说明示例。

    名称myInstance|Selector$.InstanceInformationList[0].InstanceId|类型String

    名称platform|Selector$.Reservations[0].Instances[0].Platform|类型String

    名称message|Selector:$.有效负载。消息 |类型String

    有关输出的更多信息,请参阅使用输入和输出

    提示

    要添加更多输出,请选择 Add output (添加输出)

  14. (可选)展开 Common properties (通用属性) 部分,然后指定所有 Automation 操作的通用操作属性。例如,超时秒,您可以提供一个值以指定步骤在停止之前可以运行多长时间(以秒为单位)。

    有关更多信息,请参阅所有操作共享的属性

    注意

    要添加更多步骤,请选择添加步骤,然后重复创建步骤的过程。要删除步骤,请选择删除步骤.

  15. 选择创建文档以保存运行簿。