本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置网关
网关充当您的服务器和之间的中介Amazon IoT SiteWise。您可以在任何可以运行的平台上部署Amazon IoT SiteWise网关软件Amazon IoT Greengrass。有关更多信息,请参阅选择网关平台:
要配置在 Amazon EC2 上运行的网关,您可以通过Amazon CloudFormation模板创建所需的依赖关系。有关更多信息,请参阅在 Amazon Elastic Computpute:
建议您与对您的本地和公司网络具有 IT 管理访问权限的人员完成以下步骤。这些步骤可能需要了解您的服务器并有权配置防火墙设置的人员。
主题
设置网关环境
在此过程中,您将安装 Amazon IoT Greengrass 并配置要用于 Amazon IoT SiteWise 的网关。
此节包括使用 apt
命令安装软件包的说明。适用于运行 Ubuntu 或类似工具的系统。如果您使用的不是类似的系统,请参阅供您分发的文档并使用推荐的软件包安装程序。
设置网关
-
根据需要,如下修改网关的 BIOS
设置。 -
确保网关在潜在的电源故障后自动重启(如果适用)。
-
确保网关不会休眠或睡眠(如果适用)。
-
-
确保网关连接到 Internet。
-
(可选)要在没有鼠标、键盘和监视器的情况下使用网关,请按照以下步骤在网关
ssh
上进行设置:-
如果您尚未安装 SSH 软件包,请运行以下命令。
sudo apt install ssh
-
运行以下命令。
service ssh status
-
在输出中搜索
Active: active (running)
以确认 SSH 服务器处于运行状态。 -
按 Q 退出。
运行以下命令以使用 SSH 从另一台计算机连接到网关。将
username
替换为用户登录名,并将IP
替换为网关的 IP 地址。ssh
username
@IP
您可以使用
-p
参数连接到默认端口 22 以外的端口。port-number
-
-
下载并安装Amazon IoT Greengrass Core 软件 v1.10.2 或更高版本,然后为您的网关创建Amazon IoT Greengrass群组。为此,请按照《Amazon IoT Greengrass开发者指南》中入门Amazon IoT Greengrass中的说明进行操作。
建议您运行 Amazon IoT Greengrass 设备设置脚本以快速开始。如果您希望更仔细地查看 Amazon IoT Greengrass 要求和流程,可以逐步完成模块 1 和模块 2 中的步骤来设置 Amazon IoT Greengrass。
重要 查看支持AmazonAmazon IoT SiteWise的地区。为区域选择 Amazon IoT Greengrass 时,请确保该区域同样支持 Amazon IoT SiteWise。否则,您无法将网关连接到 Amazon IoT SiteWise。
您应该先在网关上安装 Amazon IoT Greengrass Core 软件,然后再继续执行下一步。
-
运行以下命令安装 Java 8:
sudo apt update sudo apt install openjdk-8-jre
本指南下文中安装的 Amazon IoT SiteWise 网关软件使用 Java 8 运行时。
-
运行以下命令验证是否已成功安装 Java。
java -version
-
Amazon IoT Greengrass 核心软件假定一个
java8
目录。运行以下命令将 Java 安装链接到该java8
目录。sudo ln -s /usr/bin/java /usr/bin/java8
-
运行以下命令创建一个
/var/sitewise
数据目录并提供该目录的ggc_user
权限。Amazon IoT SiteWise 在此目录中存储数据。在此过程中之前设置 Amazon IoT Greengrass 时,您创建了ggc_user
。sudo mkdir /var/sitewise sudo chown ggc_user /var/sitewise sudo chmod 700 /var/sitewise
/var/sitewise
是 Amazon IoT SiteWise 使用的默认目录。您可以自定义目录路径(例如,将/var/sitewise
替换为/var/
),但这样做需要在创建 Amazon IoT SiteWise 网关后执行额外的步骤。有关更多信息,请参阅配置 Amazon IoT SiteWise 连接器中的步骤 6。custom
/path
/ -
如果需要,请求您的 IT 管理员将以下终端节点和端口添加到本地网络的允许列表:
-
端口 443、8443 和 8883
重要 您可以将 Amazon IoT Greengrass Core 配置为仅使用端口 443 进行所有网络通信。有关更多信息,请参阅《Amazon IoT Greengrass开发者指南》中的通过端口 443 或通过网络代理进行Connec t。
-
您的网关的 IP 地址(端口 443)。要获取 IP 地址,请运行
ip address
或ifconfig
命令,并记下inet
值(例如,203.0.113.0
)。 -
Amazon IoT SiteWise 数据终端节点:
data.iotsitewise.
(端口 443)。region
.amazonaws.com -
网关使用的以下 Amazon 终端节点。您可以在
/
文件中找到这些内容。将greengrass-root
/config/config.jsongreengrass-root
替换为 Amazon IoT Greengrass 安装的根目录。-
ggHost:
greengrass-ats.iot.
(端口 443、8443 和 8883)。region
.amazonaws.com -
iotHost:
(端口 443、8443 和 8883)。prefix
-ats.iot.region
.amazonaws.com
有关更多信息,请参阅 Amazon IoT Greengrass 终端节点和配额。
-
-
-
如果 Amazon IoT Greengrass Core 软件尚未运行,请运行以下命令启动 Amazon IoT Greengrass Core 软件。将
greengrass-root
替换为 Amazon IoT Greengrass 安装的根目录。默认的greengrass-root
为/greengrass
。cd /
greengrass-root
/ggc/core sudo ./greengrassd start您应该会看到以下消息:
Greengrass successfully started with PID:
some-PID-number
-
将 Amazon IoT Greengrass 核心软件配置为在网关打开时自动启动。请参阅网关操作系统的相关文档。
创建 IAM policy 和角色
您必须创建Amazon Identity and Access Management (IAM) 策略和角色以允许网关Amazon IoT SiteWise代表您进行访问。
创建 IAM policy 和角色
-
导航到 IAM 控制台
。 -
在导航窗格中,选择 Policies (策略),然后选择 Create policy (创建策略)。
-
在 JSON 选项卡上,删除策略字段的当前内容,然后将以下策略粘贴到该字段中。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*" } ] }
注意 为了提高安全性,您可以在
Condition
属性中指定 Amazon IoT SiteWise 资产层次结构路径。以下示例是指定资产层次结构路径的信任策略。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*", "Condition": { "StringLike": { "iotsitewise:assetHierarchyPath": [ "/
root node asset ID
", "/root node asset ID
/*" ] } } } ] } -
选择Review policy(查看策略)。
-
输入策略的名称和描述,然后选择 Create policy (创建角色)。
-
在导航窗格中,选择 Roles (角色),然后选择 Create role (创建角色)。
-
在 Select type of trusted entity (选择受信任实体的类型)下,选择 Amazon service (Amazon 服务)。在 Choose the service that will use the role (选择将使用此角色的服务) 下面,选择 Greengrass 作为将使用该角色的服务,然后选择 Next: Permissions (下一步:权限)。
-
搜索您创建的策略,选中复选框,然后选择 “下一步:标签”。
-
(可选)将标签添加到您的角色,然后选择 Next: Review (下一步:审核)。
-
输入角色的名称和描述,然后选择创建角色。
-
在绿色横幅中,选择指向新角色的链接。您还可以使用搜索字段查找该角色。
-
选择 Trust relationships (信任关系) 选项卡,然后选择 Edit trust relationship (编辑信任关系)。
-
将策略字段的当前内容替换为以下内容,然后选择 Update Trust Policy (更新信任策略)。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "greengrass.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
配置 Amazon IoT Greengrass 组
将 IAM 角色附加到群组并启用流管理器
-
在左侧导航窗格中的 Greengrass 下,选择 Groups (组),然后选择您在 设置网关环境 中创建的组。
-
在左侧导航窗格中,选择 Settings (设置)。在 Group Role (组角色) 部分中,选择 Add Role (添加角色)。
-
选择在 创建 IAM policy 和角色 中创建的角色,然后选择 Save (保存)。
-
在 Settings (设置) 页面上的 Stream manager (流管理器) 部分中,选择 Edit (编辑)。
流管理器是 Amazon IoT Greengrass 的一项功能,可让您的 Amazon IoT Greengrass Core 将数据流式传输到 Amazon 云。Amazon IoT SiteWise 网关要求启用流管理器。有关更多信息,请参阅《Amazon IoT Greengrass Version 1开发者指南》中的 “管理内Amazon IoT Greengrass核上的数据流”。
-
选择 Enable (启用),然后选择 Save (保存)。
-
在左上角,选择 Services (服务) 为下一过程做好准备。
配置 Amazon IoT SiteWise 连接器
在此过程中,您可以在 Greengrass 组上配置Amazon IoT SiteWise连接器。连接器是预先构建的模块,可以加快针对常见边缘场景的开发生命周期。有关更多信息,请参阅《Amazon IoT Greengrass Version 1开发者指南》中的Amazon IoT Greengrass连接器。
配置 Amazon IoT SiteWise 连接器
-
在左侧导航窗格中的 Greengrass 下,选择 Groups (组),然后选择您在 设置网关环境 中创建的组。
-
在左侧导航页面中,选择 Connectors (连接器)。在连接器页面上,选择 Add a connector (添加连接器)。
-
SiteWise从列表中选择 IoT,然后选择 “下一步”。
-
如果您的服务器需要身份验证,则可以使用服务器的用户名和密码创建Amazon Secrets Manager密钥。然后,您可以将每个密钥附加到您的 Greengrass 群组,然后在 ARN 列表下为用户名/密码密钥选择它们。有关如何创建和配置密钥的更多信息,请参阅配置源身份验证。也可以稍后将密钥添加到连接器。
-
如果您使用与
/var/sitewise
不同的路径设置的网关,请在 Local storage path (本地存储路径) 中输入该路径。 -
(可选)输入连接器的最大磁盘缓冲区大小。如果 Amazon IoT Greengrass Core 丢失与 Amazon 云的连接,连接器将缓存数据,直到它能够成功连接。如果缓存大小超过最大磁盘缓冲区大小,则连接器会丢弃队列中最旧的数据。
-
选择 Add(添加)。
-
在右上角的 Actions (操作) 菜单中,选择 Deploy (部署)。
-
选择 Automatic detection (自动检测) 启动部署。
如果部署失败,请再次选择 Deploy (部署)。如果部署仍然失败,请参阅 Amazon IoT Greengrass 部署故障排除。
将网关添加到 Amazon IoT SiteWise
在此过程中,您将网关的 Greengrass 组添加到Amazon IoT SiteWise。在向 Amazon IoT SiteWise 注册网关后,服务会将数据源配置部署到网关。
将网关添加到 Amazon IoT SiteWise
-
选择 Add gateway (添加网关)。
-
在添加 SiteWise 网关页面上,执行以下操作:
-
输入网关的Name (名称)。请考虑在名称中包含网关的位置,以便您可以轻松识别网关。
-
对于 Greengrass 群组 ID,请选择您之前创建的 Greengrass 群组。
-
选择 Add gateway (添加网关)。
-
-
如果您将数据处理包添加到网关,请在Amazon IoT Greengrass群组上配置和部署Amazon IoT SiteWise数据处理器连接器。按照中的配置 Amazon IoT SiteWise 连接器步骤配置Amazon IoT SiteWise数据处理器连接器:
-
在 “在Amazon IoT Greengrass控制台中选择连接器” 中,选择 “Amazon IoT SiteWise数据处理器”。
-
对于本地存储路径,输入网关的路径。
-
选择 Add(添加)。
-
在右上角的 “操作” 菜单中,选择 “部署”,然后选择 “自动检测” 以开始部署。
-
网关部署后,您可以为希望网关从中提取数据的每台服务器添加一个源。有关更多信息,请参阅配置数据源:
您可以查看亚马逊 CloudWatch 指标以验证您的网关是否连接到Amazon IoT SiteWise。有关更多信息,请参阅网关指标: