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

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

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

要查看有关不同版本 SSM 代理的详细信息,请参阅发行说明

开始前的准备工作

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

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

  1. 在您的本地计算机上,下载最新版本的 AWS CLI。

  2. 打开 AWS CLI 并运行以下命令指定您的凭证和区域。您必须在 Amazon EC2 中具有管理员权限,或者您必须在 AWS Identity and Access Management (IAM) 中被授予相应权限。

    aws configure

    系统将提示您指定以下内容。

    AWS Access Key ID [None]: key_name AWS Secret Access Key [None]: key_name Default region name [None]: region Default output format [None]: ENTER
  3. 执行以下命令,通过使用 Amazon EC2 标签将实例设为目标来创建关联。Schedule 参数可以设置一个计划,以在每周日凌晨 2:00 (UTC) 运行关联。

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

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

    { "AssociationDescription": { "ScheduleExpression": "cron(0 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

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

    aws ssm list-associations

    注意

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