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

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

从控制台运行命令

您可以使用 “运行命令”(Amazon Systems Manager,无需登录到每个实例就可以配置实例。此主题包括演示如何更新 SSM 代理在实例上使用 “运行命令”。

开始前的准备工作

在使用 Run Command 发送命令之前,请验证实例是否符合 Systems Manager要求

使用 Run Command 发送命令

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

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

    -或者-

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

  3. 选择运行命令

  4. 命令文档列表中,选择 Systems Manager 文档。

  5. 命令参数部分中,为必需的参数指定值。

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

    注意

    如果您希望看到的 Amazon EC2 实例未列出,请参阅Amazon EC2 托管实例可用性疑难解答了解故障排除提示。

  7. 对于其他参数

    • 适用于注释下,输入有关此命令的信息。

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

  8. 适用于速率控制

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

      注意

      如果您通过指定应用于托管实例的标签或指定Amazon资源组,但不确定目标实例的数量,则可以通过指定百分比限制可同时运行此文档的实例数量。

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

  9. (可选)对于 Output options (输出选项),要将命令输出保存到文件,请选中 Write command output to an S3 bucket (将命令输出写入 S3 存储桶) 框。在框中键入存储桶和前缀(文件夹)名称。

    注意

    授予将数据写入 S3 存储桶的能力的 S3 权限是分配给实例的实例配置文件的权限,而不是执行此任务的 IAM 用户的权限。有关更多信息,请参阅 。为 Systems Manager 创建 IAM 实例配置文件。此外,如果指定 S3 存储桶位于不同的 Amazon Web Services 账户 ,请确保与该实例关联的实例配置文件具有写入该存储桶的必要权限。

  10. SNS 通知部分中,如果需要发送有关命令执行状态的通知,请选中启用 SNS 通知”复选框。

    有关为 Run Command 配置 Amazon SNS 通知的更多信息,请参阅使用 Amazon SNS 通知监控 Systems Manager 状态更改

  11. 选择运行

有关取消命令的信息,请参阅 取消命令

重新运行命令

Systems Manager 包括两个选项,可帮助您从Run Command页面 Systems Manager 的。

  • 重新运行:利用此按钮,您无需对其进行更改就可以运行同一个命令。

  • 复制到新:此按钮将一个命令的设置复制到一个新命令,并为您提供在运行该命令之前编辑这些设置的选项。

重新运行命令

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

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

    -或者-

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

  3. 选择要重新运行的命令。从命令详细信息页面执行命令后,可以立即重新运行此命令。或者,您可以选择先前从命令历史记录选项卡。

  4. 选择 Rerun (重新运行) 以在不进行更改的情况下运行相同的命令,或者选择复制到新项目以在运行命令之前编辑命令设置。

使用 Run Command 更新 SSM 代理

以下过程将介绍如何更新在Windows Server和 Linux 实例。您可以更新到最新版本或降级到较旧版本。当您运行该命令时,系统会从Amazon,安装它,然后卸载运行命令前存在的版本。如果此过程中出现错误,系统将回滚到命令运行之前服务器上的版本,并且命令状态将显示命令失败。

注意

以下是有关自动更新 SSM 代理的一些详细信息:

  • 自 2020 年 9 月 21 日起,自动更新将安装 SSM 代理版本 3.0。有关更多信息,请参阅 SSM 代理版本 3.0

  • 要获得有关 SSM 代理更新的通知,请在SSM 代理发布说明页面 GitHub。

使用运行命令更新 SSM 代理

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

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

    -或者-

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

  3. 选择运行命令

  4. Command document (命令文档) 列表中,选择 AWS-UpdateSSMAgent

  5. 命令参数部分中,根据需要为以下参数指定值:

    1. (可选)版本中,输入要安装的 SSM 代理版本。您可以安装代理的较旧版本。如果您不指定版本,则服务将安装最新版本。

    2. (可选)允许降级中,选择true以安装早期版本的 SSM 代理。如果选择此选项,则指定早期版本版本号。选择 false 以仅安装此服务的最新版本。

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

    注意

    如果您希望看到的 Amazon EC2 实例未列出,请参阅Amazon EC2 托管实例可用性疑难解答了解故障排除提示。

  7. 对于其他参数

    • 适用于注释下,输入有关此命令的信息。

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

  8. 适用于速率控制

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

      注意

      如果您通过指定应用于托管实例的标签或指定Amazon资源组,但不确定目标实例的数量,则可以通过指定百分比限制可同时运行此文档的实例数量。

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

  9. (可选)对于 Output options (输出选项),要将命令输出保存到文件,请选中 Write command output to an S3 bucket (将命令输出写入 S3 存储桶) 框。在框中键入存储桶和前缀(文件夹)名称。

    注意

    授予将数据写入 S3 存储桶的能力的 S3 权限是分配给实例的实例配置文件的权限,而不是执行此任务的 IAM 用户的权限。有关更多信息,请参阅 。为 Systems Manager 创建 IAM 实例配置文件。此外,如果指定 S3 存储桶位于不同的 Amazon Web Services 账户 ,请确保与该实例关联的实例配置文件具有写入该存储桶的必要权限。

  10. SNS 通知部分中,如果需要发送有关命令执行状态的通知,请选中启用 SNS 通知”复选框。

    有关为 Run Command 配置 Amazon SNS 通知的更多信息,请参阅使用 Amazon SNS 通知监控 Systems Manager 状态更改

  11. 选择运行

使用运行命令更新 PowerShell

以下过程将介绍如何将 PowerShell 更新到版本 5.1Windows Server2012 和 2012 R2 实例。此过程中提供的脚本下载 Windows 管理框架 (WMF) 5.1 版更新,并开始安装此更新。实例在此过程中重新启动,因为安装 WMF 5.1 时需要这样做。更新的下载和安装需要大约五分钟才能完成。

使用 “运行命令” 更新 PowerShell

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

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

    -或者-

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

  3. 选择运行命令

  4. Command document (命令文档) 列表中,选择 AWS-RunPowerShellScript

  5. 命令部分中,为您的操作系统粘贴以下命令。

    Windows Server 2012 R2
    Set-Location -Path "C:\Windows\Temp" Invoke-WebRequest "https://go.microsoft.com/fwlink/?linkid=839516" -OutFile "Win8.1AndW2K12R2-KB3191564-x64.msu" Start-Process -FilePath "$env:systemroot\system32\wusa.exe" -Verb RunAs -ArgumentList ('Win8.1AndW2K12R2-KB3191564-x64.msu', '/quiet')
    Windows Server 2012
    Set-Location -Path "C:\Windows\Temp" Invoke-WebRequest "https://go.microsoft.com/fwlink/?linkid=839513" -OutFile "W2K12-KB3191565-x64.msu" Start-Process -FilePath "$env:systemroot\system32\wusa.exe" -Verb RunAs -ArgumentList ('W2K12-KB3191565-x64.msu', '/quiet')
  6. 目标部分,指定标签、手动选择实例或指定资源组以确定要在其中运行该操作的实例。

    注意

    如果您希望看到的 Amazon EC2 实例未列出,请参阅Amazon EC2 托管实例可用性疑难解答了解故障排除提示。

  7. 对于其他参数

    • 适用于注释下,输入有关此命令的信息。

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

  8. 适用于速率控制

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

      注意

      如果您通过指定应用于托管实例的标签或指定Amazon资源组,但不确定目标实例的数量,则可以通过指定百分比限制可同时运行此文档的实例数量。

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

  9. (可选)对于 Output options (输出选项),要将命令输出保存到文件,请选中 Write command output to an S3 bucket (将命令输出写入 S3 存储桶) 框。在框中键入存储桶和前缀(文件夹)名称。

    注意

    授予将数据写入 S3 存储桶的能力的 S3 权限是分配给实例的实例配置文件的权限,而不是执行此任务的 IAM 用户的权限。有关更多信息,请参阅 。为 Systems Manager 创建 IAM 实例配置文件。此外,如果指定 S3 存储桶位于不同的 Amazon Web Services 账户 ,请确保与该实例关联的实例配置文件具有写入该存储桶的必要权限。

  10. SNS 通知部分中,如果需要发送有关命令执行状态的通知,请选中启用 SNS 通知”复选框。

    有关为 Run Command 配置 Amazon SNS 通知的更多信息,请参阅使用 Amazon SNS 通知监控 Systems Manager 状态更改

  11. 选择运行

实例重新启动且更新安装完成后,请连接到您的实例以确认 PowerShell 已成功升级到版本 5.1。要检查实例上的 PowerShell 版本,请打开 PowerShell 并输入$PSVersionTable。这些区域有:PSVersion值会显示 5.1(如果升级成功)。

如果PSVersion值与 5.1 不同,例如 3.0 或 4.0,请查看设置日志中的事件查看器Windows 日志。这些日志指明更新安装失败的原因。