安装或更新软件包 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

安装或更新软件包

您可以将软件包部署到Amazon Systems Manager托管实例通过使用Distributor,功能为Amazon Systems Manager. 要部署软件包,请使用Amazon Web Services Management Console或者Amazon Command Line Interface(Amazon CLI)。每条命令只能部署一个软件包的一个版本。您可以安装新软件包或就地更新现有的安装。您可以选择部署软件包的特定版本,也可以选择始终部署软件包的最新版本。我们建议使用State Manager,功能为Amazon Systems Manager,以安装软件包。使用State Manager有助于确保您的实例始终运行最新版本的软件包。

Preference Amazon Systems Manager 操作 更多信息

立即安装或更新软件包。

Run Command

按计划安装或更新软件包,以便安装始终包含默认版本。

State Manager

在具有特定标签或标签集的新实例上自动安装软件包。例如,在新实例上安装 Amazon CloudWatch 代理。

State Manager

执行此操作的一种方法是向新实例应用标签,然后在 State Manager 关联中将此标签指定为目标。State Manager 自动将关联中的软件包安装到具有匹配标签的实例上。请参阅 关于 State Manager 关联中的目标和速率控制

一次性安装或更新软件包(控制台)

您可以使用 Amazon Systems Manager 控制台一次性安装或更新软件包。在配置一次性安装时,Distributor使用Amazon Systems Manager Run Command,功能为Amazon Systems Manager执行安装。

一次性安装或更新软件包(控制台)

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

  2. 在导航窗格中,选择。Distributor

  3. 在 Distributor 主页上,选择要安装的软件包。

  4. 选择 Install one time (一次性安装)

    此命令将打开Run Command使用命令文档AWS-ConfigureAWSPackage和您的Distributor软件包已选择。

  5. 对于 Document version (文档版本),请选择要运行的 AWS-ConfigureAWSPackage 文档版本。

  6. 对于操作,选择安装

  7. 对于 Installation type (安装类型),请选择以下选项之一:

    • 卸载并重新安装:该软件包完全卸载,然后重新安装。在重新安装完成之前,应用程序不可用。

    • 就地更新:根据您在安装中提供的指令,仅将新文件或更改的文件添加到现有的安装中。update脚本。应用程序在整个更新过程中保持可用。此选项不支持Amazon已发布的软件包除AWSEC2Launch-Agent软件包。

  8. 对于 Name (名称),请确认输入了选定的软件包的名称。

  9. (可选)对于 Version (版本),请输入软件包的版本名称值。如果将此字段留空,Run Command 将安装在 Distributor 中选择的默认版本。

  10. 目标部分中,通过指定标签、手动选择实例或指定资源组来确定要在其中运行此操作的实例。

    注意

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

  11. 对于其他参数

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

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

  12. 适用于速率控制

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

      注意

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

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

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

    注意

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

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

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

  15. 做好安装软件包的准备后,请选择运行.

  16. Command status (命令状态) 区域报告执行进度。如果命令仍在执行,请选择控制台左上角的刷新图标,直到 Overall status (总体状态)Detailed status (详细状态) 列显示 Success (成功)Failed (失败)

  17. Targets and outputs (目标和输出) 区域中,选择实例名称旁边的按钮,然后选择 View output (查看输出)

    命令输出页面将显示命令执行的结果。

  18. (可选)如果您选择将命令输出写入到 Amazon S3 存储桶,请选择Amazon S3查看输出日志数据。

计划安装或更新软件包(控制台)

您可以使用 Amazon Systems Manager 控制台计划安装或更新软件包。在计划安装或更新软件包时,Distributor 使用 Amazon Systems Manager State Manager 进行安装或更新。

计划软件包安装(控制台)

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

  2. 在导航窗格中,选择。Distributor

  3. 在 Distributor 主页上,选择要安装或更新的软件包。

  4. 对于 Package (软件包),请选择 Install on a schedule (按计划安装)

    此命令将打开State Manager添加到为您创建的新关联。

  5. 对于 Name (名称),请输入名称(例如,Deploy-test-agent-package)。您可以自由选择,但我们建议您这样做。名称不得包含空格。

  6. Document (文档) 列表中,已选定文档名称 AWS-ConfigureAWSPackage

  7. 对于 Action (操作),请确认选择了 Install (安装)

  8. 对于 Installation type (安装类型),请选择以下选项之一:

    • 卸载并重新安装:该软件包完全卸载,然后重新安装。在重新安装完成之前,应用程序不可用。

    • 就地更新:根据您在安装中提供的指令,仅将新文件或更改的文件添加到现有的安装中。update脚本。应用程序在整个更新过程中保持可用。

  9. 对于 Name (名称),请确认输入了软件包的名称。

  10. 对于 Version (版本),如果要安装最新发布的版本以外的软件包版本,请输入版本标识符。

  11. 对于 Targets (目标),选择 Selecting all managed instances in this account (选择此账户中的所有托管实例)Specifying tags (指定标签)Manually Selecting Instance (手动选择实例)。如果使用标签将资源设置为目标,请在提供的字段中输入标签键和标签值。

  12. 对于 Specify schedule (指定计划),选择 On Schedule (按计划) 定期运行此关联,或选择 No Schedule (无计划) 只运行此关联一次。有关这些选项的详细信息,请参阅 创建关联。使用控件为关联创建 cron 或频率计划。

  13. 选择创建关联

  14. Association (关联) 页面上,选择您创建的关联旁边的按钮,然后选择 Apply association now (立即应用关联)

    State Manager 在指定的实例或目标中创建并立即运行关联。有关运行关联的结果的更多信息,请参阅本指南中的创建关联

有关使用 Advanced options (高级选项)Rate control (速率控制)Output options (输出选项) 中的选项的更多信息,请参阅创建关联

一次性安装软件包 (Amazon CLI)

您可以在 Amazon CLI 中运行 send-command 一次性安装 Distributor 软件包。如果已安装软件包,在卸载软件包并在其位置安装新版本时,应用程序将脱机。

一次性安装软件包 (Amazon CLI)

  • 在 Amazon CLI 中运行以下命令。

    aws ssm send-command \ --document-name "AWS-ConfigureAWSPackage" \ --instance-ids "instance-IDs" \ --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["package-name (in same account) or package-ARN (shared from different account)"]}'
    注意

    installationType 的默认行为是 Uninstall and reinstall。您可以省略"installationType":["Uninstall and reinstall"]在安装完整软件包时,从该命令中获取。

    以下是示例。

    aws ssm send-command \ --document-name "AWS-ConfigureAWSPackage" \ --instance-ids "i-00000000000000" \ --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["ExamplePackage"]}'

有关可以与send-command命令,请参阅send-command中的Amazon Systems Manager的 部分Amazon CLI命令参考.

一次性更新软件包 (Amazon CLI)

您可以在 Amazon CLI 中运行 send-command 以更新 Distributor 软件包,而无需将关联的应用程序脱机。仅替换软件包中的新文件或更新的文件。

一次性更新软件包 (Amazon CLI)

  • 在 Amazon CLI 中运行以下命令。

    aws ssm send-command \ --document-name "AWS-ConfigureAWSPackage" \ --instance-ids "instance-IDs" \ --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["package-name (in same account) or package-ARN (shared from different account)"]}'
    注意

    在添加新文件或更改的文件时,您必须在命令中包含 "installationType":["In-place update"]

    以下是示例。

    aws ssm send-command \ --document-name "AWS-ConfigureAWSPackage" \ --instance-ids "i-02573cafcfEXAMPLE" \ --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["ExamplePackage"]}'

有关可以与send-command命令,请参阅send-command中的Amazon Systems Manager的 部分Amazon CLI命令参考.

计划安装软件包 (Amazon CLI)

您可以在 Amazon CLI 中运行 create-association 按计划安装 Distributor 软件包。--name的值(文档名称)始终为 AWS-ConfigureAWSPackage。以下命令使用键 InstanceIds 指定目标实例。如果已安装软件包,在卸载软件包并在其位置安装新版本时,应用程序将脱机。

aws ssm create-association \ --name "AWS-ConfigureAWSPackage" \ --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["package-name (in same account) or package-ARN (shared from different account)"]}' \ --targets [{\"Key\":\"InstanceIds\",\"Values\":[\"instance-ID1\",\"instance-ID2\"]}]
注意

installationType 的默认行为是 Uninstall and reinstall。您可以省略"installationType":["Uninstall and reinstall"]在安装完整软件包时,从该命令中获取。

以下是示例。

aws ssm create-association \ --name "AWS-ConfigureAWSPackage" \ --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["Test-ConfigureAWSPackage"]}' \ --targets [{\"Key\":\"InstanceIds\",\"Values\":[\"i-02573cafcfEXAMPLE\",\"i-0471e04240EXAMPLE\"]}]

有关可以与create-association命令,请参阅create-association中的Amazon Systems Manager的 部分Amazon CLI命令参考.

计划更新软件包 (Amazon CLI)

您可以在 Amazon CLI 中运行 create-association 以按计划更新 Distributor 软件包,而无需将关联的应用程序脱机。仅替换软件包中的新文件或更新的文件。--name的值(文档名称)始终为 AWS-ConfigureAWSPackage。以下命令使用键 InstanceIds 指定目标实例。

aws ssm create-association \ --name "AWS-ConfigureAWSPackage" \ --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["package-name (in same account) or package-ARN (shared from different account)"]}' \ --targets [{\"Key\":\"InstanceIds\",\"Values\":[\"instance-ID1\",\"instance-ID2\"]}]
注意

在添加新文件或更改的文件时,您必须在命令中包含 "installationType":["In-place update"]

以下是示例。

aws ssm create-association \ --name "AWS-ConfigureAWSPackage" \ --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["Test-ConfigureAWSPackage"]}' \ --targets [{\"Key\":\"InstanceIds\",\"Values\":[\"i-02573cafcfEXAMPLE\",\"i-0471e04240EXAMPLE\"]}]

有关可以与create-association命令,请参阅create-association中的Amazon Systems Manager的 部分Amazon CLI命令参考.