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

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

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

创建运行脚本的 Runbook

以下过程介绍了如何在 Systems Manager agement 控制台中使用文档生成器以及创建运行您提供的脚本的自定义 Runbook。

  1. 通过以下网址打开 AWS Systems Manager:https://console.aws.amazon.com/systems-manager/

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

    -或者-

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

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

  4. 适用于名称下,为 Runbook 键入描述性名称。

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

    提示

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

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

    重要

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

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

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

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

    1. 适用于参数名称中,输入要创建的运行手册参数的描述性名称。

    2. 适用于类型下,选择参数的类型,例如 String 或者 StringList.

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

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

      • 如果该参数不是必需的,请选择 No (否),然后(可选)在 Default value (默认值) 中输入默认参数值。

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

    注意

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

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

    注意

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

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

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

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

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

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

    • 对于 Runtime (运行时),请选择要添加的脚本类型。目前,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 (其他输入),然后执行以下操作。

    • 适用于Input Name,选择 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 操作的通用操作属性。例如,对于 Timeout seconds (超时秒数),您可以提供一个值以指定步骤在停止之前可以运行多长时间(以秒为单位)。

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

    注意

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

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