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

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

配置网关

网关充当服务器和服务器之间的中介Amazon IoT SiteWise。你可以部署Amazon IoT SiteWise任何可以运行的平台上的网关软件Amazon IoT Greengrass。有关更多信息,请参阅选择网关平台

注意

建议您与对您的本地和公司网络具有 IT 管理访问权限的人员完成以下步骤。这些步骤可能需要了解您的服务器并有权配置防火墙设置的人员。

设置网关环境

在此过程中,您将安装 Amazon IoT Greengrass 并配置要用于 Amazon IoT SiteWise 的网关。

注意

此节包括使用 apt 命令安装软件包的说明。适用于运行 Ubuntu 或类似工具的系统。如果您使用的不是类似的系统,请参阅供您分发的文档并使用推荐的软件包安装程序。

设置网关
  1. 根据需要,如下修改网关的 BIOS 设置。

    1. 确保网关在潜在的电源故障后自动重启(如果适用)。

    2. 确保网关不会休眠或睡眠(如果适用)。

  2. 确保网关连接到 Internet。

  3. (可选)要在没有鼠标、键盘和监视器的情况下使用网关,请按照以下步骤在网关 ssh 上进行设置:

    1. 如果您尚未安装 SSH 软件包,请运行以下命令。

      sudo apt install ssh
    2. 运行以下命令。

      service ssh status
    3. 在输出中搜索 Active: active (running) 以确认 SSH 服务器处于运行状态。

    4. Q 退出。

    运行以下命令以使用 SSH 从另一台计算机连接到网关。将 username 替换为用户登录名,并将 IP 替换为网关的 IP 地址。

    ssh username@IP

    您可以使用 -p port-number 参数连接到默认端口 22 以外的端口。

  4. 下载并安装Amazon IoT Greengrass核心软件 v1.10.2 或更高版本,然后创建Amazon IoT Greengrass您的网关的群组。为此,请按照中的说明进行操作入门Amazon IoT GreengrassAmazon IoT Greengrass开发者指南

    建议您运行 Amazon IoT Greengrass 设备设置脚本以快速开始。如果您希望更仔细地查看 Amazon IoT Greengrass 要求和流程,可以逐步完成模块 1模块 2 中的步骤来设置 Amazon IoT Greengrass。

    重要

    查看Amazon区域哪里Amazon IoT SiteWise受支持。为区域选择 Amazon IoT Greengrass 时,请确保该区域同样支持 Amazon IoT SiteWise。否则,您无法将网关连接到 Amazon IoT SiteWise。

    您应该先在网关上安装 Amazon IoT Greengrass Core 软件,然后再继续执行下一步。

  5. 运行以下命令安装 Java 8:

    sudo apt update sudo apt install openjdk-8-jre

    本指南下文中安装的 Amazon IoT SiteWise 网关软件使用 Java 8 运行时。

  6. 运行以下命令验证是否已成功安装 Java。

    java -version
  7. Amazon IoT Greengrass 核心软件假定一个 java8 目录。运行以下命令将 Java 安装链接到该 java8 目录。

    sudo ln -s /usr/bin/java /usr/bin/java8
  8. 运行以下命令创建一个 /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/custom/path/),但这样做需要在创建 Amazon IoT SiteWise 网关后执行额外的步骤。有关更多信息,请参阅配置 Amazon IoT SiteWise 连接器中的步骤 6。

  9. 如果需要,请求您的 IT 管理员将以下终端节点和端口添加到本地网络的允许列表:

    • 端口 443、8443 和 8883

      重要

      您可以将 Amazon IoT Greengrass Core 配置为仅使用端口 443 进行所有网络通信。有关更多信息,请参阅通过端口 443 或通过网络代理进行连接Amazon IoT Greengrass开发者指南

    • 您的网关的 IP 地址(端口 443)。要获取 IP 地址,请运行 ip addressifconfig 命令,并记下 inet 值(例如,203.0.113.0)。

    • Amazon IoT SiteWise 数据终端节点:data.iotsitewise.region.amazonaws.com(端口 443)。

    • 网关使用的以下 Amazon 终端节点。您可以在 /greengrass-root/config/config.json 文件中找到这些内容。将 greengrass-root 替换为 Amazon IoT Greengrass 安装的根目录。

      • ggHostgreengrass-ats.iot.region.amazonaws.com(端口 443、8443 和 8883)。

      • iotHostprefix-ats.iot.region.amazonaws.com(端口 443、8443 和 8883)。

      有关更多信息,请参阅 Amazon IoT Greengrass 终端节点和配额

  10. 如果 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

  11. 将 Amazon IoT Greengrass 核心软件配置为在网关打开时自动启动。请参阅网关操作系统的相关文档。

创建 IAM 策略和角色

你必须创建一个Amazon Identity and Access Management(IAM) 策略和角色允许网关访问Amazon IoT SiteWise代表你。

创建 IAM 策略和角色
  1. 导航到 IAM 控制台

  2. 在导航窗格中,选择 Policies (策略),然后选择 Create policy (创建策略)

    
                        IAM “政策” 页面屏幕截图。
  3. 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/*" ] } } } ] }
  4. 选择Review policy(查看策略)

  5. 输入策略的名称和描述,然后选择 Create policy (创建角色)

  6. 在导航窗格中,选择 Roles (角色),然后选择 Create role (创建角色)

    
                        IAM “角色” 页面屏幕截图。
  7. Select type of trusted entity (选择受信任实体的类型)下,选择 Amazon service (Amazon 服务)。在 Choose the service that will use the role (选择将使用此角色的服务) 下面,选择 Greengrass 作为将使用该角色的服务,然后选择 Next: Permissions (下一步:权限)

    
                        IAM “选择可信实体类型” 页面屏幕截图。
  8. 搜索您创建的策略,选中该复选框,然后选择下一页:标签

    
                        IAM “附加权限策略” 页面屏幕截图。
  9. (可选)将标签添加到您的角色,然后选择 Next: Review (下一步:审核)

  10. 输入角色的名称和描述,然后选择创建角色

    
                        IAM “查看” 页面屏幕截图。
  11. 在绿色横幅中,选择指向新角色的链接。您还可以使用搜索字段查找该角色。

    
                        IAM “角色 SiteWiseDemo 已创建” 页面屏幕截图。
  12. 选择 Trust relationships (信任关系) 选项卡,然后选择 Edit trust relationship (编辑信任关系)

    
                        IAM “摘要” 页面 “信任关系” 选项卡的屏幕截图。
  13. 将策略字段的当前内容替换为以下内容,然后选择 Update Trust Policy (更新信任策略)

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "greengrass.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

配置 Amazon IoT Greengrass 组

将 IAM 角色附加到群组并启用直播管理器
  1. 导航到 Amazon IoT Greengrass 控制台

  2. 在左侧导航窗格中的 Greengrass 下,选择 Groups (组),然后选择您在 设置网关环境 中创建的组。

    
                        Amazon IoT Greengrass“Greengrass Groups” 页面屏幕截图。
  3. 在左侧导航窗格中,选择 Settings (设置)。在 Group Role (组角色) 部分中,选择 Add Role (添加角色)

    
                        Amazon IoT Greengrass“添加角色” 页面屏幕截图。
  4. 选择在 创建 IAM 策略和角色 中创建的角色,然后选择 Save (保存)

    
                        Amazon IoT Greengrass“您的群组的 IAM 角色” 页面屏幕截图。
  5. Settings (设置) 页面上的 Stream manager (流管理器) 部分中,选择 Edit (编辑)

    流管理器是 Amazon IoT Greengrass 的一项功能,可让您的 Amazon IoT Greengrass Core 将数据流式传输到 Amazon 云。Amazon IoT SiteWise 网关要求启用流管理器。有关更多信息,请参阅管理上的数据流Amazon IoT Greengrass核心Amazon IoT Greengrass Version 1开发者指南

    
                        Amazon IoT Greengrass“直播管理器” 部分的屏幕截图。
  6. 选择 Enable (启用),然后选择 Save (保存)

  7. 在左上角,选择 Services (服务) 为下一过程做好准备。

配置 Amazon IoT SiteWise 连接器

在此过程中,您将配置Amazon IoT SiteWise你的 Greengrass 群组上的连接器。连接器是预先构建的模块,可以加快针对常见边缘场景的开发生命周期。有关更多信息,请参阅Amazon IoT Greengrass连接器Amazon IoT Greengrass Version 1开发者指南

配置 Amazon IoT SiteWise 连接器
  1. 导航到 Amazon IoT Greengrass 控制台

  2. 在左侧导航窗格中的 Greengrass 下,选择 Groups (组),然后选择您在 设置网关环境 中创建的组。

    
                        Amazon IoT Greengrass“Greengrass Groups” 页面屏幕截图。
  3. 在左侧导航页面中,选择 Connectors (连接器)。在连接器页面上,选择 Add a connector (添加连接器)

    
                        Amazon IoT Greengrass“连接器” 页面屏幕截图。
  4. 选择物联网 SiteWise从列表中选择下一步

    
                        Amazon IoT Greengrass“选择连接器” 页面屏幕截图。
  5. 如果您的服务器需要身份验证,则可以创建Amazon Secrets Manager带有服务器用户名和密码的机密。然后,你可以将每个秘密附加到你的 Greengrass 群组并在下方选择它们用户名/密码密钥的 ARN 列表。有关如何创建和配置密钥的更多信息,请参阅配置源身份验证。也可以稍后将密钥添加到连接器。

    
                        Amazon IoT Greengrass“配置连接器” 页面屏幕截图。
  6. 如果您使用与 /var/sitewise 不同的路径设置的网关,请在 Local storage path (本地存储路径) 中输入该路径。

  7. (可选)输入连接器的最大磁盘缓冲区大小。如果 Amazon IoT Greengrass Core 丢失与 Amazon 云的连接,连接器将缓存数据,直到它能够成功连接。如果缓存大小超过最大磁盘缓冲区大小,则连接器会丢弃队列中最旧的数据。

  8. 选择 Add(添加)。

  9. 在右上角的 Actions (操作) 菜单中,选择 Deploy (部署)

  10. 选择 Automatic detection (自动检测) 启动部署。

    如果部署失败,请再次选择 Deploy (部署)。如果部署仍然失败,请参阅 Amazon IoT Greengrass 部署故障排除

将网关添加到 Amazon IoT SiteWise

在此过程中,您将网关的 Greengrass 组添加到Amazon IoT SiteWise。在向 Amazon IoT SiteWise 注册网关后,服务会将数据源配置部署到网关。

将网关添加到 Amazon IoT SiteWise
  1. 导航到 Amazon IoT SiteWise 控制台

  2. 选择 Add gateway (添加网关)

  3. 添加 SiteWise 网关页面上,执行以下操作:

    1. 输入网关的Name (名称)。请考虑在名称中包含网关的位置,以便您可以轻松识别网关。

    2. 对于Greengrass 群组 ID,选择你之前创建的 Greengrass 群组。

      
                              Amazon IoT SiteWise“添加网关” 页面屏幕截图。
    3. 选择 Add gateway (添加网关)

  4. 如果您将数据处理包添加到网关,请配置和部署Amazon IoT SiteWise您的设备上的数据处理器连接器Amazon IoT Greengrass组。按照中的步骤操作配置 Amazon IoT SiteWise 连接器配置Amazon IoT SiteWise数据处理器连接器:

    1. 对于选择连接器在Amazon IoT Greengrass控制台,选择Amazon IoT SiteWise数据处理器

    2. 对于本地存储路径,输入网关的路径。

    3. 选择 Add(添加)。

    4. 在右上角,在行动菜单,选择部署,然后选择自动检测开始部署。

网关部署后,您可以为希望网关从中提取数据的每台服务器添加一个源。有关更多信息,请参阅配置数据源

你可以查看亚马逊 CloudWatch 用于验证您的网关是否连接的指标Amazon IoT SiteWise。有关更多信息,请参阅Amazon IoT Greengrass Version 1网关指标 Amazon IoT Greengrass Version 2网关指标