首页 > 其他分享 >如何使用 Amazon Systems Manager 集中管理 Amazon IoT Greengrass 设备

如何使用 Amazon Systems Manager 集中管理 Amazon IoT Greengrass 设备

时间:2023-07-17 22:47:37浏览次数:48  
标签:IoT Manager Greengrass Amazon Systems 节点 设备

对于边缘设备管理员来说,远程管理大量不同的系统和应用程序会是一项富有挑战性的任务。Amazon IoT Greengrass 可帮助这些系统管理员管理其边缘设备应用程序堆栈。不过,这些设备上的系统软件必须通过与其大型 IT 企业的运营策略一致的运营策略来单独更新和维护。此外,客户必须构建或集成自定义工具,以确保边缘设备可以与 Amazon Elastic Compute Cloud(Amazon EC2)和本地实例一起通过一组一致的策略来管理。

亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏,看到这里请一定不要匆匆划过,点这里让它成为你的技术宝库!

 

我们在 re:Invent 2021 上发布了 Amazon Systems Manager 与 Amazon IOT Greengrass 之间的集成。此版本简化了对边缘设备的系统软件的管理和维护。与 Amazon IoT Greengrass 客户端软件结合使用时,Amazon Systems Manager 可让边缘设备管理员远程访问和安全地管理他们拥有的许多设备 – 从操作系统修补到部署应用程序。管理员几乎可以利用 Systems Manager 服务的所有操作和节点管理功能

本博文介绍如何设置以将 Amazon IoT Greengrass 设备与 Systems Manager 集成。其中,我们将演示如何使用会话管理器打开边缘设备的远程登录、使用 Patch Manager 修补它们以及通过 Run Command 运行自动化脚本。

安装 Amazon IoT Greengrass Core 软件

首先,我们必须在边缘设备上安装 Greengrass Core 软件。提供了多种选项来安装 Amazon IoT 软件,包括:

  • 自动预置
  • 手动预置
  • 实例集预置
  • 自定义预置

参阅 Amazon IoT Greengrass 文档,了解这些预置方法之间的差异。

在本博文中,我们使用自动预置方法在边缘设备上安装 Greengrass Core 软件。在此方法中,安装程序将预置所需的外围设备,例如,注册 Amazon IoT 事物并创建 Amazon IoT 事物组、Amazon Identity and Access Management(IAM)角色以及 Amazon IoT 角色别名。这样便能更快地完成设置。自动预置适用于 Linux 和 Windows 设备。在以下步骤中,我们使用的是 Ubuntu Linux 设备。可在 Amazon IoT Greengrass 文档中找到有关运行 Amazon IoT Greengrass Core 软件的设备要求。

成功安装 Greengrass Core 软件后,您应在 Amazon IoT Greengrass 控制台中看到状态为 Healthy(正常)的 Core 设备。如果安装失败或设备未处于 Healthy(正常)状态,请参阅故障排除指南

image.png

图 1:处于 Healthy(正常)状态的边缘设备在 Amazon IoT Greengrass 控制台的 Greengrass Core 设备下可见。

部署 Systems Manager 代理

现在,边缘设备正在与 Amazon IoT Greengrass 进行通信,我们可以将软件组件部署到该设备。您还可以使用 Amazon IoT Greengrass 将组件部署到一组设备。部署将定义要应用于设备的现有软件的组件及其配置,并且部署是连续的。在创建部署时,Amazon IoT Greengrass 会将部署推出到联机目标设备。如果目标设备未联机,它将在下次连接到 Amazon IoT Greengrass 时接收部署。

Systems Manager 代理(SSM 代理)将通过 Greengrass 作为组件部署,从而使 Systems Manager 服务能够更新、管理和配置 Greengrass Core 设备。该代理在 Amazon Cloud 中处理和运行来自 Systems Manager 服务的请求。之后,该代理将状态和运行时信息发送回 Systems Manager 服务。

按照安装 Systems Manager 代理文档中的步骤操作,完成 Systems Manager 设置步骤并部署 Systems Manager 代理组件。此过程包含四个阶段,总结如下:

  1. 完成一般 Systems Manager 设置步骤。
  2. 为 Systems Manager 创建 IAM 服务角色。
  3. 向令牌交换角色添加权限。
  4. 部署 Systems Manager 代理组件。

部署过程可能需要几分钟才能完成。

部署 Systems Manager 组件后,导航到 Amazon IoT Greengrass 控制台,选择 Core 设备,然后选择您的设备。在 Core 设备的详细信息页面上,找到链接到 SSM 控制台的 Systems Manager 实例属性。

image.png

图 2:边缘设备现在是托管式节点,它显示在 Systems Manager 控制台中的实例集管理器下方。

通过 Greengrass 注册到 Systems Manager 的边缘设备将具有以“mi-”开头的节点 ID。要使用 Systems Manager 及其功能管理设备,给定节点的 SSM Agent ping status(SSM 代理 ping 状态)必须为 Online(联机)。您可以通过选择 Node ID(节点 ID)来验证节点的“SSM Agent ping status”(SSM 代理 ping 状态)。

image.png

图 3:显示托管式节点详细信息的 Node overview(节点概览)页面。

Systems Manager 将边缘设备视为托管式节点。现在,您可以访问托管式节点、执行修补和收集监视数据,并执行其他任务。

1.在边缘设备上打开终端

在 Node overview(节点概览)页面上选择** Node actions**(节点操作)下拉菜单,然后选择 Start terminal session(启动终端会话)。此操作将通过 Systems Manager 会话管理器在边缘设备上启动终端会话。

注意:会话管理器需要通过高级实例套餐以交互方式访问边缘设备,因为它们已作为混合实例注册到 Systems Manager。此外,它还有其他定价,可以在 Systems Manager 定价中进行查看。按照 Systems Manager 文档中的步骤操作,从控制台启用高级实例套餐。

image.png

图 4:浏览器中为托管式节点打开的交互式会话窗口。

会话在客户端(您)和远程托管式节点之间使用安全的双向通信通道,从而流式传输命令的输入和输出。客户端和托管式节点之间的流量使用 TLS 1.2 进行加密,连接创建请求使用 Sigv4 进行签名。这种双向通信允许交互式 bash 和 PowerShell 访问托管式节点。

此外,使用 Amazon Key Management Service(Amazon KMS)在默认 TLS 加密的基础上对数据进行深度加密。此外,通过与众多 Amazon 服务(例如 Amazon Simple Storage Service(Amazon S3)Amazon CloudTrail 和 Amazon CloudWatch Logs)集成,我们为在 Amazon 账户中记录和审核会话历史记录提供了多种选择。一种选择是,在会话中配置首选项,这些首选项是可自定义的,允许在会话启动时定义 shell 首选项、环境变量、工作目录、运行的多个命令等。

2. 修补边缘设备

Patch Manager 是 Systems Manager 的一项功能,它为每个受支持的操作系统提供预定义的补丁基准,这些基准通常批准与安全性相关的补丁。使用当前配置的这些基准(我们无法对它们进行自定义)或创建自定义补丁基准。利用自定义补丁基准,可以更好地控制为环境批准或拒绝的补丁。在本博文中,我们将使用预定义的补丁基准。有关更多信息,请参阅预定义和自定义补丁基准文档

要修补边缘设备,请执行以下操作:

  1. 打开托管式节点的 Node overview(节点概览)页面。
  2. 从 Node actions(节点操作)下拉菜单中,选择 Patch node(补丁节点)。我们将看到用于修补边缘设备的 Amazon Systems Manager Patch Manager 页面。通读页面上提供的选项,该页面显示了修补的基本配置。默认情况下,修补操作为 Scan(扫描),它仅扫描缺失的补丁,而不会安装它们。
  3. 保留所有默认设置,滚动到页面的底部,然后选择 Patch now(立即修补)。

image.png

图 5:已选中默认选项的 Patch now(立即修补)窗口。

  1. 在下一页中,我们将看到修补执行摘要。选择 Execution ID(执行 ID)超链接,后跟页面上的 Output(输出),之后,查看扫描操作的详细信息和结果。

输出页面包含三个步骤。在步骤名称中选择与边缘设备上运行的操作系统对应的步骤。例如,如果它运行的是 Linux,请展开步骤 PatchLinux 的输出和错误。请注意,边缘设备必须能够访问其各自的存储库才能提取补丁。

image.png

图 6:Association Execution Summary(关联执行摘要)窗口,其中显示扫描模式下的修补操作的详细信息。

image.png

图 7:扫描操作的输出显示了托管式节点的可用补丁的摘要。

有关更多信息,请访问 Patch Manager 工作原理文档

由于这些边缘设备具有间歇性连接且技术规格有限,因此,完成安装的时间可能会有所不同。Patch Manager 使用 Run Command(我们将在下一节中介绍的 Systems Manager 的另一项功能)在托管式节点上执行修补操作。

3. 远程将命令发送到边缘设备

使用 Run Command(Systems Manager 的一项功能)大规模配置托管式节点,而无需登录它们。我们通过本博文中的 Run Command 收集边缘设备上运行的进程。返回 Node overview(节点概览)页面,从 Node actions(节点操作)下拉菜单中选择 Execute run command(执行运行命令)。利用此方法,用户可以进入 Systems Manager Run Command 页面。您会看到可用的预配置命令文档的列表。搜索 Amazon-RunShellScript,并选择该文档。我们的边缘设备在 Ubuntu 上运行,因此,我们将发送 ps aux 命令来运行进程。在 Command parameters(命令参数)下的 Commands(命令)文本框中,键入 ps aux。

image.png

图 8:Run a Command(运行命令)窗口,其中选定了 Amazon-RunShellScript 文档并提供了 Shell 命令。

向下滚动到目标。我们应看到我们的节点已选中。在 Output options(输出选项)下,取消选中 Enable an S3 bucket(启用 S3 存储桶)。对于生产用途,建议将所有命令输出写入 Amazon S3 存储桶以进行审计。在本博文中,我们只进行测试以查看 Run(运行)命令是否成功。我们还建议在生产使用中“启用 Cloudwatch Logs”以进行其他审计。

选择 Run(运行)。这会将您转至一个显示 Run(运行)命令结果的页面。选择 Instance ID(实例 ID)旁边的单选按钮,然后选择 View output(查看输出)以查看该命令在目标 IoT 设备上的输出。此操作会将我们转至其他页面。选定输出将向我们显示发送到边缘设备的“ps aux”命令的结果。

image.png

图 9:通过 Run Command 运行的 shell 命令的输出。

在托管式节点上收集正在运行的进程的另一种方法是使用 Systems Manager 实例集管理器。在 re:Invent 2021 上发布了一项新功能,该功能为客户提供了基于控制台的轻松体验,以查看和管理其实例上的进程。客户可以查看深入的详细信息,例如每个活动进程的进程名称、进程详细信息和利用率指标。他们可以按名称查询进程,并根据任何进程参数快速对列进行排序。此外,您可以在控制台中终止不需要的进程或启动新进程。

实例集管理器利用会话管理器功能来管理托管式节点上的进程。此外,它要求在会话管理器首选项中启用 Amazon KMS 加密。有关更新会话首选项的步骤,请访问该文档。记下我们在上一步中选择的 Amazon KMS 密钥,然后在 Amazon KMS 控制台中打开此密钥。

在本博文的前面部分中,您已创建并部署本应创建 IAM 服务角色的 SSM 代理组件。假设已遵循 Amazon IoT Greengrass 文档来部署 SSM 代理。在这种情况下,IAM 服务角色的名称应为 SSMServiceRole。您需要按照 Amazon KMS 文档中的步骤操作来更新加密密钥,以将 SSMServiceRole 添加为密钥用户之一。

如上面的第 2 节所述,在 Systems Manager 控制台中打开我们的托管式节点以了解其工作原理。在左侧列的 Node overview(节点概览)下,选择 Processes(进程)。

image.png

图 10:节点详细信息页面,其中显示托管式节点的进程和资源使用信息。

由于 IoT Greengrass Core 软件和 Systems Manager 代理可以控制数千台远程设备,因此遵循 Amazon Well-Architected 的最低权限安全最佳实践是至关重要的。最低权限是仅授予完成任务所需的权限的原则。使用自动预置设置的 Amazon 托管式策略是查看通常与特定的服务或工作职能关联的操作的良好起点。不过,它们可能不符合公司的合规性标准或特定的使用案例。

有关编写最低权限 IAM 策略的帮助,请参阅本博文

清理

如果您不再想使用 Systems Manager 管理您的边缘设备,请注销该设备并从中卸载 Systems Manager 代理。按照卸载 Systems Manager 代理文档中的步骤操作。同样,您可以卸载 Greengrass Core 软件以将其从边缘设备中删除。在卸载 Amazon IoT Greengrass Core 软件文档中查找有关停止、禁用和删除 Greengrass 服务的说明。

结论

本博文演示了如何在边缘设备上安装 Systems Manager 代理作为 Amazon IoT Greengrass 组件,以及如何利用各种 Systems Manager 功能集中管理边缘设备以及 Amazon EC2 和本地节点。首先,我们说明了如何在边缘设备上安装 Amazon IoT Greengrass Core 软件,以及如何部署 SSM 代理组件,然后演练了三个设备管理使用案例。

这些使用案例包括:

  • 获得对边缘设备的交互式 Shell 访问权限,同时改善安全和审计状况、集中访问控制和限制入站访问。使用 Amazon 管理控制台、Amazon 命令行界面(Amazon CLI)或某个受支持的 Amazon 开发工具包来启动会话。有关更多信息,请参阅控制台、CLI 和开发工具包对会话管理器功能的访问
  • 通过精细控制能力,对可安装补丁的边缘设备的操作系统进行修补。可使用明确定义的维护时段跨设备实例集进行自动修补,在此期间,发生中断操作是可以接受的。有关更多信息,请访问使用维护时段修补计划
  • 以可控方式在边缘设备上执行远程脚本,从而实现大规模安全管理。使用 Run Command 安装或引导应用程序、跟踪清单、应用软件更新或修改系统设置。此外,可以使用托管式节点上的标记在单个 Run Command 中定位数千台边缘设备。有关 Run Command 的更多信息,请参阅 Amazon Systems Manager Run Command 文档

作者:

image.png

Pal Patel

Pal Patel 是一名云基础设施架构师,在与 Amazon 客户合作并为他们提供支持方面拥有 5 年以上的经验。她是 SSM 爱好者,对 SSM 自动化充满热情。工作之余,她乐于学习素描人脸,爱好阅读(她目前最喜欢的是《The Codebreaker》),也是 KPOP 音乐(A.R.M.Y)的狂热听众。

image.png

Bryan Henderson

Bryan Henderson 是伊利诺斯州芝加哥的 Amazon 高级解决方案架构师。他热衷于帮助客户在 Amazon 上构建解决方案来解决他们的问题。工作之余,他喜欢跑步、去瑞格利球场运动,以及与妻子和两个女儿共度时光。

文章来源:

https://dev.amazoncloud.cn/column/article/630a3da48a1013112795045e?sc_medium=regulartraffic&sc_campaign=crossplatform&sc_channel=bokey

标签:IoT,Manager,Greengrass,Amazon,Systems,节点,设备
From: https://www.cnblogs.com/AmazonwebService/p/17561488.html

相关文章

  • API接口技术开发分享,获得亚马逊AMAZON国际站商品详情案例,可以多语言请求,支持高并发演
    ​ 响应参数数据展示名称类型必须示例值描述detail_urlString0https://www.amazon.cn/dp/B014QN8RG0?th=1&psc=1商品链接crumbsMix0{"162371071":"徒步鞋、登山鞋","2029189051":"鞋靴","2112046051":"男鞋","......
  • 调用 ArcGIS Server(GeoScene Server Manager)REST 接口,获取目录
    #创建tokentoken=$(curl-ks-XPOST'https://gis.geoscene.cn:6443/geoscene/tokens/generateToken'-d'username=geoscene&password=KFzonghe2023&expiration=2&f=json'|jq'.token')token=${token:1:-1}#获取服务列表,从服务列表获取目......
  • redis desktop manager使用教程
    RedisDesktopManager使用教程RedisDesktopManager(RDM)是一个用于管理和监控Redis数据库的可视化工具。它提供了一个直观的用户界面,使用户可以轻松地执行各种操作,如查看和编辑键值、执行命令、监控性能等。本教程将向您展示如何使用RDM来管理和操作Redis数据库。RDM的安装和配......
  • IoTOS-v1.5.3 新增 智能诊断&会话记录导出
    IoTOS v1.5.3     一、新增智能诊断       智能诊断功能:    智能诊断会根据不同上游接口能力开放提供接近官方甚至比官方更加完善的智能诊断功能。    目前还原OneLink官方智能诊断功能包括动效、诊断建议等可供诊断的接口基本全部覆盖;(卡状态、......
  • 华普物联RS485/RS232双串口服务器 转以太网串口 RJ45 河南华普 HPIOT
    一款工业级串口服务器,实现了RJ45网口与RS485或RS232之间的数据透明传输;支持Modbus网关功能;支持多种保活机制;支持注册包+双向心跳包、虚拟串口、自动重连等功能。公司介绍华普物联科技产品包括物联网网关、工业无线路由器、LoRa基站、DTU、RTU、远程IO等产品,以及支持边缘计算......
  • 华普物联 RS485转以太网IO控制器 河南华普 HPIOT
    支持8路继电器输出、8路输入,支持50CKET连接远程服务器;支持WEB网页设置设备参数,支持主动上报功能,支持两种工作模式:主机模式、从机模式,主机模式支持RS485级联多个MODBUSRTU设备,支持MODBUSTCP/RTU协议自适应,支持连接华普华普云支持8个条件控制指令控制更加便捷,支持硬件看门狗。......
  • 华普物联 CAT 1/4G网络IO控制器 河南华普 HPIOT
    支持8路继电器输出、8路输入;支持50CKET支持两种工作模式:主机模式、从机模式,主机模式,支持RS485级联多个MODBUSRTU设备,支持连接华普云;支持硬件看门狗,电源具有良好的过流、过压、防反接保护等功能。公司介绍华普物联科技产品包括物联网网关、工业无线路由器、LoRa基站、......
  • 华普物联两路IO串口继电器 MODBUS IO 河南华普 HPIOT
    采用标准Modbus-RTU协议的继电器设备支持RS485。支持宽电压供电,支持2路DI输入、2路DO输出、2路模拟量输入,可广泛应用于工业生产、农业、智慧城市、写字楼等各类应用场景。公司介绍华普物联科技产品包括物联网网关、工业无线路由器、LoRa基站、DTU、RTU、远程IO等产品,以......
  • 华普物联16路IO串口继电器 MODBUS IO 河南华普 HPIOT
    是采用标准Modbus-RTU协议的继电器设备,支持RS485。支持宽电压供电,16路输出控制支持硬件和软件设置从机地址,可广泛应用于工业生产、农业、智慧城市、写字楼等各类应用场景。公司介绍华普物联科技产品包括物联网网关、工业无线路由器、LoRa基站、DTU、RTU、远程IO等产品......
  • 华普物联4G DTU RS232/RS485转4G串口服务器 河南华普 HPIOT
    采用工业级设计标准,内置独立硬件看门狗,RS485完全独立电器隔离,支持多路SOCKET,同时可连接四个服务器,支持自定义心跳包/SN心跳包/1CCID心跳包/ME心跳包,支持自定义注册包/SN注册包/ICCID注册包/IMEI注册包。公司介绍华普物联科技产品包括物联网网关、工业无线路由器、LoRa基站......