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

自动更新 SSM 代理 (CLI)

以下过程将指导您完成使用 AWS Command Line Interface (AWS CLI) 创建 状态管理器 关联的过程。关联会根据您指定的计划自动更新 SSM 代理。有关 SSM 代理 的更多信息,请参阅使用 SSM 代理

注意

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

开始前的准备工作

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

注意

如果您使用 AWS CLI 或 AWS Tools for Windows PowerShell 创建关联,请使用 --Targets 参数将实例指定为目标,如以下示例所示。不要使用 --InstanceID 参数。--InstanceID 参数是一个旧参数。

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

  1. 安装并配置 AWS CLI(如果尚未执行该操作)。

    有关信息,请参阅安装或升级 AWS CLI

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

    aws ssm create-association --targets Key=tag:TagKey,Values=TagValue --name AWS-UpdateSSMAgent --schedule-expression "cron(0 2 ? * SUN *)"

    注意

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

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

    aws ssm create-association --targets Key=instanceids,Values=InstanceID,InstanceID,InstanceID --name your 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 代理的新版本时,关联将自动安装新代理,而且状态将显示 Success