AWS Systems Manager
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

从远程位置运行文档

您可以使用 AWS-RunDocument 预定义的 SSM 文档从远程位置运行 SSM 文档。此文档目前支持以下远程位置:

  • GitHub 存储库 (公有和私有)

  • Amazon S3

  • 保存在 Systems Manager 中的文档

以下过程介绍如何使用控制台运行远程 SSM 文档。此过程说明如何使用 Run Command 运行远程文档,不过您也可以使用 状态管理器 或 Automation 运行远程文档。

开始前的准备工作

必须先完成以下任务才能运行远程文档。

  • 创建 SSM 文档并在远程位置保存该文档。有关更多信息,请参阅 创建 Systems Manager 文档

  • 如果打算运行存储在私有 GitHub 存储库中的远程文档,则必须为 GitHub 安全访问令牌创建 Systems Manager SecureString 参数。通过 SSH 手动传递令牌无法访问私有 GitHub 存储库中的远程文档。访问令牌必须作为 Systems Manager SecureString 参数传递。有关创建 SecureString 参数的更多信息,请参阅创建 Systems Manager 参数

运行远程文档 (控制台)

运行远程文档 (AWS Systems Manager)

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

  2. 在导航窗格中,选择Run Command

    -或者-

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

  3. 选择运行命令

  4. Document 列表中,选择 AWS-RunDocument

  5. 目标部分中,指定标签或手动选择实例以指定要在其中运行该操作的实例。

    注意

    如果选择手动选择实例,而列表中不包含您预期看到的实例,请参阅我的实例在哪里?中的故障排除提示。

  6. (可选)对于速率控制

    • 对于并发,请指定要同时运行该命令的实例数或百分比。

      注意

      如果通过选择 Amazon EC2 标签选择了目标,但不确定有多少个实例使用所选标签,则可以通过指定百分比来限制可同时运行此文档的实例的数量。

    • 对于错误阈值,请指定在一定数量或百分比的实例上失败后何时在其他实例上停止运行该命令。例如,如果您指定三个错误,Systems Manager 将在收到第四个错误时停止发送该命令。仍在处理命令的实例也可能发送错误。

  7. Source Type 列表中,选择一个选项。

    • 如果选择 GitHub,则采用以下格式指定源信息信息:

      {"owner":"owner_name", "repository": "repository_name", "path": "path_to_document", "tokenInfo":"{{ssm-secure:SecureString_parameter_name}}" }

      例如:

      {"owner":"TestUser1", "repository": "SSMTestDocsRepo", "path": "SSMDocs/mySSMdoc.yml", "tokenInfo":"{{ssm-secure:myAccessTokenParam}}" }
    • 如果选择 S3,则采用以下格式指定源信息信息:

      {"path":"URL_to_document_in_S3"}

      例如:

      {"path":"https://s3.amazonaws.com/aws-executecommand-test/scripts/ruby/mySSMdoc.json"}
    • 如果选择 SSMDocument,则采用以下格式指定源信息信息:

      {"name": "document_name"}

      例如:

      {"name": "mySSMdoc"}
  8. Document Parameters (文档参数) 字段中,键入远程 SSM 文档的参数。例如,如果运行 AWS-RunPowerShell 文档,则可指定:

    {"commands": ["date", "echo \"Hello World\""]}

    如果运行 AWS-ConfigureAWSPack 文档,则可指定:

    { "action":"Install", "name":"AWSPVDriver" }
  9. 对于其他参数

    • 对于注释,请键入有关该命令的信息。

    • 对于超时 (秒),请指定在整个命令执行失败之前系统等待的秒数。

  10. (可选)对于速率控制

    • 对于并发,请指定要同时运行该命令的实例数或百分比。

      注意

      如果通过选择 Amazon EC2 标签选择了目标,但不确定有多少个实例使用所选标签,则可以通过指定百分比来限制可同时运行此文档的实例的数量。

    • 对于错误阈值,请指定在一定数量或百分比的实例上失败后何时在其他实例上停止运行该命令。例如,如果您指定三个错误,Systems Manager 将在收到第四个错误时停止发送该命令。仍在处理命令的实例也可能发送错误。

  11. 输出选项部分中,如果您要将命令输出保存到文件,请选择将命令输出写入 Amazon S3 存储桶。在框中键入存储桶和前缀 (文件夹) 名称。

    注意

    授予将数据写入 S3 存储桶的能力的 S3 权限是分配给实例的实例配置文件的权限,而不是执行此任务的 IAM 用户的权限。有关更多信息,请参阅 为 Systems Manager 创建 IAM 实例配置文件

  12. SNS 通知部分中,如果您希望发送有关命令执行状态的通知,请选中启用 SNS 通知复选框。

    有关为 Run Command 配置 Amazon SNS 通知的更多信息,请参阅为 AWS Systems Manager 配置 Amazon SNS 通知

  13. 选择 Run

注意

有关在使用 Run Command 调用脚本时重启服务器和实例的信息,请参阅通过脚本重启托管实例