演练:自动更新 SSM 代理 (CLI) - Amazon Web Services Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

演练:自动更新 SSM 代理 (CLI)

以下过程将指导您完成使用Amazon命令行界面。关联会根据您指定的计划自动更新 SSM Agent。有关 SSM 代理的详细信息,请参阅使用 SSM 代理

注意

请注意以下有关自动更新 SSM 代理的详细信息:

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

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

开始前的准备工作

在完成以下过程之前,请确认您至少有一个适用于 Linux 的 Amazon Elastic Compute Cloud (Amazon EC2) 实例正在运行。macOS,或者Windows Server配置为 Systems Manager。有关更多信息,请参阅 Systems Manager 的先决条件

注意

如果您使用AmazonCLI 或AmazonWindows PowerShell(适用于 Windows PowerShell 的工具),请使用--Targets参数设置为目标实例,如以下示例中所示。不要使用 --InstanceID 参数。--InstanceID 参数是一个旧参数。

创建关联以实现 SSM 代理的自动更新

  1. 安装和配置Amazon命令行界面 (AmazonCLI)(如果尚未执行该操作)。

    想要了解有关信息,请参阅安装或升级Amazon命令行工具

  2. 运行以下命令,通过使用 Amazon Elastic Compute Cloud (Amazon EC2) 标签将实例设为目标来创建关联。Schedule 参数可以设置一个计划,以在每周日凌晨 2:00 (UTC) 运行 关联。

    Linux & macOS
    aws ssm create-association \ --targets Key=tag:tag_key,Values=tag_value \ --name AWS-UpdateSSMAgent \ --schedule-expression "cron(0 2 ? * SUN *)"
    Windows
    aws ssm create-association ^ --targets Key=tag:tag_key,Values=tag_value ^ --name AWS-UpdateSSMAgent ^ --schedule-expression "cron(0 2 ? * SUN *)"
    注意

    状态管理器关联不支持所有的 cron 和 rate 表达式。有关为关联创建 cron 和 rate 表达式的更多信息,请参阅参考:适用于 Systems Manager 的 Cron 和 Rate 表达式

    如果需要,您也可以通过在以逗号分隔的列表中指定实例 ID 来将多个实例设为目标。

    Linux & macOS
    aws ssm create-association \ --targets Key=instanceids,Values=instance_ID,instance_ID,instance_ID \ --name document_name \ --schedule-expression "cron(0 2 ? * SUN *)"
    Windows
    aws ssm create-association ^ --targets Key=instanceids,Values=instance_ID,instance_ID,instance_ID ^ --name document_name ^ --schedule-expression "cron(0 2 ? * SUN *)"

    系统将返回类似于以下内容的信息。

    {
        "AssociationDescription": {
            "ScheduleExpression": "cron(0 2 ? * SUN *)",
            "Name": "AWS-UpdateSSMAgent",
            "Overview": {
                "Status": "Pending",
                "DetailedStatus": "Creating"
            },
            "AssociationId": "123..............",
            "DocumentVersion": "$DEFAULT",
            "LastUpdateAssociationDate": 1504034257.98,
            "Date": 1504034257.98,
            "AssociationVersion": "1",
            "Targets": [
                {
                    "Values": [
                        "TagValue"
                    ],
                    "Key": "tag:TagKey"
                }
            ]
        }
    }

    系统将尝试在实例上创建关联并应用创建后的状态。关联状态显示 Pending

  3. 运行以下命令查看您创建的关联的更新状态。

    aws ssm list-associations
    注意

    如果您的实例不是运行 SSM 代理的最新版本时,状态将显示Failed。此行为是预期的。发布 SSM Agent 的新版本时,关联将自动安装新代理,而且状态将显示Success