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

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

创建运行脚本的 Automation 文档(控制台)

创建运行脚本的 Automation 文档

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

  1. 通过以下网址打开 AWS Systems Manager 控制台:https://console.amazonaws.cn/systems-manager/

  2. 在导航窗格中,选择文档

    -或者-

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

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

  4. 对于 Name (名称),请为文档键入描述性名称。

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

    提示

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

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

    重要

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

  7. (可选)对于 Outputs (输出),请输入执行该文档的任何输出以供其他进程使用。

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

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

    1. 对于 Parameter name (参数名称),请输入要创建的文档参数的描述性名称。

    2. 对于 Type (类型),为参数选择类型,例如 String 或者 StringList.

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

      • 如果必须在运行时提供该文档参数的值,请选择 Yes (是)

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

    4. 对于 Description (描述),请输入文档参数的描述。

    注意

    要添加更多文档参数,请选择 Add a parameter (添加参数)。要删除文档参数,请选择 X(删除)按钮。

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

    注意

    如果指定“/”值,则可以对所有类型的资源运行文档。有关有效资源类型的列表,请参阅 https://docs.amazonaws.cn/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html 中的 AWS 资源类型参考AWS CloudFormation 用户指南。

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

    • 对于 Step name (步骤名称),请输入自动化工作流程的第一步的描述性名称。

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

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

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

    • 对于 Runtime (运行时),请选择要添加的脚本类型。目前,Automation 支持 Python 3.6、Python 3.7 和 PowerShell Core 6.0。

    • 对于 Handler (处理程序),请输入脚本执行条目,通常是脚本中的函数名称。(对于 PowerShell.) 不是必需的)

      重要

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

      def launch_instance(events, context): import boto3 ec2 = boto3.client('ec2') [...truncated...]
    • 对于 Script (脚本),请选择一种为 Automation 文档提供脚本的方法。

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

        -或者-

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

        如果您选择 Stored on my machine (存储在我的计算机上):对于 Amazon S3 URL,输入要将上传附件存储到的账户中的 S3 存储桶的位置,然后选择 Upload (上传) 以浏览到并选择该文件。

        如果选择 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 (类型)。可以在 Automation 文档的后续步骤中使用步骤输出。以下是几个说明示例。

    名称myInstance | Selector (选择器)$.InstanceInformationList[0].InstanceId | 类型String

    名称platform | Selector (选择器)$.Reservations[0].Instances[0].Platform | 类型String

    名称message | Selector (选择器):$.Payload.message | Type (类型)String

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

    提示

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

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

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

    注意

    要添加更多文档步骤,请选择 Add step (添加步骤),然后重复创建步骤的过程。要删除文档步骤,请选择 Remove step (删除步骤)

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