Systems Manager Agent - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Systems Manager Agent

Amazon Systems Manager Agent 组件 (aws.greengrass.SystemsManagerAgent) 会安装 Systems Manager Agent,因此您可以使用 Systems Manager 管理核心设备。Systems Manager 是一项 Amazon 服务,您可以用来查看和控制您的 Amazon 基础设施,包括 Amazon EC2 实例、本地服务器和虚拟机(VM)以及边缘设备。Systems Manager 允许您查看操作数据、自动执行操作任务以及维护安全与合规性。有关更多信息,请参阅《Amazon Systems Manager 用户指南》中的什么是 Amazon Systems Manager?以及关于 Systems Manager Agent

Systems Manager 的工具和功能称为功能。Greengrass 核心设备支持 Systems Manager 的所有功能。有关这些功能以及如何使用 Systems Manager 管理核心设备的更多信息,请参阅《Amazon Systems Manager 用户指南》中的 Systems Manager 功能

版本

此组件具有以下版本:

  • 1.1.x

  • 1.0.x

类型

组件是一个通用组件 (aws.greengrass.generic)。Greengrass Nucleus 运行组件的生命周期脚本。

有关更多信息,请参阅 组件类型

操作系统

此组件只能安装在 Linux 核心设备上。

要求

此组件具有以下要求:

  • 在 64 位 Linux 平台上运行的 Greengrass 核心设备:Armv8(AArch64)或 x86_64。

  • 您必须具有 Systems Manager 可以担任的 Amazon Identity and Access Management(IAM)服务角色。此角色必须包含 AmazonSSMManagedInstanceCore 托管策略或定义等效权限的自定义策略。有关更多信息,请参阅《Amazon Systems Manager 用户指南》https://docs.amazonaws.cn/systems-manager/latest/userguide/systems-manager-setting-up-edge-devices.html#systems-manager-setting-up-edge-devices-service-role中的为边缘设备创建 IAM 服务角色

    部署此组件时,您必须为 SSMRegistrationRole 配置参数指定此角色的名称。

  • Greengrass 设备角色必须允许 ssm:AddTagsToResourcessm:RegisterManagedInstance 操作。设备角色还必须允许针对满足先前要求的 IAM 服务角色的 iam:PassRole 操作。以下示例 IAM 策略授予这些权限。

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": [ "arn:aws:iam::account-id:role/SSMServiceRole" ] }, { "Action": [ "ssm:AddTagsToResource", "ssm:RegisterManagedInstance" ], "Effect": "Allow", "Resource": "*" } ] }

端点和端口

除基本操作所需的端点和端口外,此组件还必须能够对以下端点和端口执行出站请求。有关更多信息,请参阅 允许设备流量通过代理或防火墙

Endpoint 端口 必需 描述

ec2messages.region.amazonaws.com

443

在 Amazon Web Services 云 中与 Systems Manager 服务通信。

ssm.region.amazonaws.com

443

将核心设备注册为 Systems Manager 托管节点。

ssmmessages.region.amazonaws.com

443

在 Amazon Web Services 云 中与 Systems Manager 的一项功能 Session Manager 通信。

有关更多信息,请参阅《Amazon Systems Manager 用户指南》中的参考:ec2messages、ssmmessages 和其它 API 调用

依赖项

在您部署组件时,Amazon IoT Greengrass 也会部署其依赖关系的兼容版本。这意味着您必须满足组件及其所有依赖关系的要求,才能成功部署组件。本部分列出了此组件的已发布版本的依赖关系,以及定义每个依赖关系的组件版本的语义版本约束。您还可以在 Amazon IoT Greengrass 控制台中查看每个组件版本的依赖关系。在组件详细信息页面上,查找依赖关系列表。

下表列出了此组件版本 1.0.0 至 1.2.4 的依赖关系。

依赖关系 兼容版本 依赖关系类型
令牌交换服务 ^2.0.0 软性

有关组件依赖关系的更多信息,请参阅组件配方参考

配置

此组件提供您可以在部署组件时自定义的以下配置参数。

SSMRegistrationRole

Systems Manager 可以担任的 IAM 服务角色,包括 AmazonSSMManagedInstanceCore 托管策略或定义等效权限的自定义策略。有关更多信息,请参阅《Amazon Systems Manager 用户指南》https://docs.amazonaws.cn/systems-manager/latest/userguide/systems-manager-setting-up-edge-devices-service-role.html中的为边缘设备创建 IAM 服务角色

SSMOverrideExistingRegistration

(可选)如果核心设备已经运行通过混合激活注册的 Systems Manager Agent,您可以覆盖该设备的现有 Systems Manager Agent 注册。将此选项设置为 true,使用此组件提供的 Systems Manager Agent 将核心设备注册为托管节点。

注意

此选项仅适用于通过混合激活注册的设备。如果核心设备在安装了 Systems Manager Agent 并配置了实例配置文件角色的 Amazon EC2 实例上运行,则 Amazon EC2 实例的现有托管节点 ID 以 i- 开头。当您安装 Systems Manager Agent 组件时,Systems Manager Agent 会注册一个新的托管节点,该节点的 ID 以 mi-(而不是 i-)开头。然后,您可以使用 ID 以 mi- 开头的托管节点通过 Systems Manager 管理核心设备。

默认:false

SSMResourceTags

(可选)要添加到此组件为核心设备创建的 Systems Manager 托管节点的标签。您可以使用这些标签通过 Systems Manager 管理核心设备组。例如,您可以在所有带您指定的标签的设备上运行命令。

指定一个列表,其中每个标签都是带 KeyValue 的对象。例如,SSMResourceTags 的以下值指示此组件在核心设备的托管节点上将 Owner 标签设置为 richard-roe

[ { "Key": "Owner", "Value": "richard-roe" } ]

如果托管节点已经存在并且 SSMOverrideExistingRegistrationfalse,则此组件将忽略这些标签。

例 示例:配置合并更新

以下示例配置指定使用名为 SSMServiceRole 的服务角色,以允许核心设备注册 Systems Manager 并与其通信。

{ "SSMRegistrationRole": "SSMServiceRole", "SSMOverrideExistingRegistration": false, "SSMResourceTags": [ { "Key": "Owner", "Value": "richard-roe" }, { "Key": "Team", "Value": "solar" } ] }

本地日志文件

Systems Manager Agent 软件将日志写入 Greengrass 根文件夹之外的文件夹。有关更多信息,请参阅《Amazon Systems Manager 用户指南》中的查看 Systems Manager Agent 日志

Systems Manager Agent 组件使用 Shell 脚本安装、启动和停止 Systems Manager Agent。您可以在以下日志文件中找到这些脚本的输出。

/greengrass/v2/logs/aws.greengrass.SystemsManagerAgent.log
查看此组件的日志
  • 在核心设备上运行以下命令以实时查看此组件的日志文件。将 /greengrass/v2 替换为 Amazon IoT Greengrass 根文件夹路径。

    sudo tail -f /greengrass/v2/logs/aws.greengrass.SystemsManagerAgent.log

另请参阅

更改日志

下表介绍每个组件版本的更改。

版本

更改

1.2.4

错误修复和改进

更新此组件以获取 Agent 版本 3.2.2303.0。

1.2.3

错误修复和改进
  • 在 Greengrass 上使用 snap 添加 Agent 组件安装的重试次数。

  • 更新 Agent 组件的配置,使其仅使用 Greengrass 中的 Onprem 身份。

  • 仅当安装的 Agent 版本与 Greengrass SSM Agent 组件的版本不匹配时,才更新此组件以更新 Agent。

1.1.0

此版本包含错误修复和改进。

1.0.0

初始版本。