本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Systems Manager 代理
AWS Systems Manager 代理组件 (aws.greengrass.SystemsManagerAgent
) 会安装 Systems Manager 代理,因此您可以使用 Systems Manager 管理核心设备。Systems Manager 是一项可用于查看和控制基础设施的 AWS 服务 AWS,包括 Amazon EC2 实例、本地服务器和虚拟机 (VM) 以及边缘设备。Systems Manager 使您能够查看操作数据、自动执行操作任务以及维护安全性和合规性。有关更多信息,请参阅什么是 AWS Systems Manager? 以及《AWS Systems Manager 用户指南》中的 “关于 Systems Manager 代理”。
Systems Manager 的工具和功能称为功能。Greengrass 核心设备支持 Systems Manager 的所有功能。有关这些功能以及如何使用 Systems Manager 管理核心设备的更多信息,请参阅《AWS Systems Manager 用户指南》中的 Systems Manager 功能。
版本
此组件有以下版本:
-
1.1.x
-
1.0.x
类型
此组件是一个通用组件 (aws.greengrass.generic
)。Greengrass 核心运行组件的生命周期脚本。
有关更多信息,请参阅 组件类型。
操作系统
此组件只能安装在 Linux 核心设备上。
要求
此组件具有以下要求:
-
一款在 64 位 Linux 平台上运行的 Greengrass 核心设备:Armv8 (aarch64) 或 x86_64。
-
您必须拥有 Systems Manager 可以担任的 AWS Identity and Access Management (IAM) 服务角色。此角色必须包含 AmazonSSM ManagedInstanceCore
托管策略或定义等效权限的自定义策略。有关更多信息,请参阅AWS Systems Manager 用户指南中的为边缘设备创建 IAM 服务角色。 部署此组件时,必须为
SSMRegistrationRole
配置参数指定此角色的名称。 -
Greengrass 设备角色必须允许和操作。
ssm:AddTagsToResource
ssm: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 | 端口 | 必需 | 描述 |
---|---|---|---|
|
443 | 支持 |
与中的 Systems Manager 服务进行通信 AWS Cloud。 |
|
443 | 支持 |
将核心设备注册为 Systems Manager 托管节点。 |
|
443 | 支持 |
在中与会话管理器(Systems Manager 的一项功能)进行通信 AWS Cloud。 |
有关更多信息,请参阅《用户指南》中的 “参考:ec2messages、ssmessages 和其他 API 调用”。AWS Systems Manager
依赖项
部署组件时, AWS IoT Greengrass 还会部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖项的要求才能成功部署该组件。本节列出了此组件已发布版本的依赖关系以及定义每个依赖项的组件版本的语义版本限制。您还可以在AWS IoT Greengrass 控制台
下表列出了此组件的 1.0.0 到 1.2.4 版本的依赖关系。
依赖关系 | 兼容版本 | 依赖关系类型 |
---|---|---|
代币兑换服务 | ^2.0.0 | 软性 |
有关组件依赖关系的更多信息,请参阅组件配方参考。
配置
此组件提供以下配置参数,您可以在部署该组件时对其进行自定义。
SSMRegistrationRole
-
Systems Manager 可以担任的 IAM 服务角色,其中包括 AmazonSSM ManagedInstanceCore
托管策略或定义等效权限的自定义策略。有关更多信息,请参阅AWS Systems Manager 用户指南中的为边缘设备创建 IAM 服务角色。 SSMOverrideExistingRegistration
-
(可选)如果核心设备已经运行通过混合激活注册的 Systems Manager 代理,则可以覆盖该设备的现有 Systems Manager 代理注册。将此选项设置为,
true
使用此组件提供的 Systems Manager 代理将核心设备注册为托管节点。注意
此选项仅适用于通过混合激活注册的设备。如果核心设备在安装了 Systems Manager 代理并配置了实例配置文件角色的 Amazon EC2 实例上运行,则 Amazon EC2 实例的现有托管节点 ID 以开头
i-
。安装 Systems Manager 代理组件时,Systems Manager 代理会注册一个新的托管节点,该节点的 ID 以mi-
而不是开头i-
。然后,您可以使用 IDmi-
以开头的托管节点通过 Systems Manager 管理核心设备。默认:
false
SSMResourceTags
-
(可选)要添加到此组件为核心设备创建的 Systems Manager 托管节点的标签。您可以使用这些标签通过 Systems Manager 管理一组核心设备。例如,您可以在所有带有您指定标签的设备上运行命令。
指定一个列表,其中每个标签都是一个带有
Key
和的对象Value
。例如,以下值SSMResourceTags
指示此组件在核心设备的托管节点richard-roe
上将Owner
标签设置为。[ { "Key": "Owner", "Value": "richard-roe" } ]
如果托管节点已经存在并且存在,
SSMOverrideExistingRegistration
则false
此组件将忽略这些标签。
例 示例:配置合并更新
以下示例配置指定使用名为的服务角色SSMServiceRole
以允许核心设备注册并与 Systems Manager 通信。
{ "SSMRegistrationRole": "SSMServiceRole", "SSMOverrideExistingRegistration": false, "SSMResourceTags": [ { "Key": "Owner", "Value": "richard-roe" }, { "Key": "Team", "Value": "solar" } ] }
本地日志文件
Systems Manager 代理软件将日志写入 Greengrass 根文件夹之外的文件夹。有关更多信息,请参阅《AWS Systems Manager 用户指南》中的 “查看 Systems Manager 代理日志”。
Systems Manager 代理组件使用 shell 脚本安装、启动和停止 Systems Manager 代理。您可以在以下日志文件中找到这些脚本的输出。
/logs/aws.greengrass.SystemsManagerAgent.log
/greengrass/v2
查看此组件的日志
-
在核心设备上运行以下命令以实时查看此组件的日志文件。
替换为 AWS IoT Greengrass 根文件夹的路径。/greengrass/v2
sudo tail -f
/logs/aws.greengrass.SystemsManagerAgent.log/greengrass/v2
另请参阅
更改日志
下表描述了该组件的每个版本中的更改。
版本 |
更改 |
---|---|
1.2.4 |
|
1.2.3 |
|
1.1.0 |
此版本包含错误修复和改进。 |
1.0.0 |
初始版本。 |