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

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

Secure tunneling

安全隧道组件 (aws.greengrass.SecureTunneling) 使您能够使用Amazon IoT安全隧道与受限防火墙后的 Greengrass 核心设备建立安全的双向通信。

例如,Greengrass 核心设备位于防火墙后面,该防火墙禁止所有传入连接,从而阻止与该设备的 SSH 连接。安全隧道使用 MQTT over WebSockets 来建立这些连接,这样您就可以使用由管理的隧道打开与设备的 SSH 连接Amazon IoT。有关使用Amazon IoT安全隧道连接到远程设备的更多信息,请参阅《Amazon IoT开发人员指南》中的Amazon IoT安全隧道

此组件订阅有关该$aws/things/greengrass-core-device/tunnels/notify主题的Amazon IoT Core MQTT 消息代理以接收安全隧道通知。

版本

此组件有以下版本:

  • 1.0.x

类型

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

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

操作系统

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

要求

此组件有以下要求:

  • Python 3.5 或更高版本安装在 Greengrass 核心设备上,并添加到 PATH 环境变量中。

  • libcrypto.so.1.1安装在 Greengrass 核心设备上并添加到 PATH 环境变量中。

  • Greengrass。

  • Greengrass 核心设备必须启用了您要用来与设备通信的服务。例如,要打开与设备的 SSH 连接,设备必须启用 SSH。

端点和端口

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

Endpoint 端口 必填 描述

data.tunneling.iot.region.amazonaws.com

443

建立安全隧道。

附属物

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

1.0.10

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

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 软性
1.0.9

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

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 软性
1.0.8

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

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 软性
1.0.5 - 1.0.7

下表列出了此组件版本 1.0.5 到 1.0.7 的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 软性
1.0.4

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

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 软性
1.0.3

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

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 软性
1.0.2

1.0.2。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 软性
1.0.1

1.0.1。

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.0 软性
1.0.0

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

依赖关系 兼容版本 依赖关系类型
Greengrass 核 >=2.0.3 软性

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

配置

此组件提供以下配置参数,您可以在部署组件时对其进行自定义。

OS_DIST_INFO

(可选)核心设备的操作系统。默认情况下,该组件会尝试自动识别您的核心设备上运行的操作系统。如果组件无法以默认值启动,则使用此值指定操作系统。,设备要求

此值可以是以下值之一:autoubuntuamzn2raspberrypi

默认值:auto

accessControl

(可选)包含授权策略的对象,该策略允许组件订阅安全隧道通知主题。

注意

如果您的部署以事物组为目标,请勿修改此配置参数。如果您的部署以单个核心设备为目标,并且您想要限制此组件对该设备主题的订阅,则在授权策略的resources值中,将 MQTT 主题通配符 (+) 替换为该核心设备的事物名称。

默认值:

{ "aws.greengrass.ipc.mqttproxy": { "aws.iot.SecureTunneling:mqttproxy:1": { "policyDescription": "Access to tunnel notification pubsub topic", "operations": [ "aws.greengrass#SubscribeToIoTCore" ], "resources": [ "$aws/things/+/tunnels/notify" ] } } }

例 示例:配置合并更新

以下示例配置指定允许此组件在运行 Ubuntu 的名为MyGreengrassCore的核心设备上打开安全隧道。

{ "OS_DIST_INFO": "ubuntu", "accessControl": { "aws.greengrass.ipc.mqttproxy": { "aws.iot.SecureTunneling:mqttproxy:1": { "policyDescription": "Access to tunnel notification pubsub topic", "operations": [ "aws.greengrass#SubscribeToIoTCore" ], "resources": [ "$aws/things/MyGreengrassCore/tunnels/notify" ] } } } }

Logs

此组件使用以下日志文件。

/greengrass/v2/logs/aws.greengrass.SecureTunneling.log

查看此组件的日志

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

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

许可证

此组件包括以下第三方软件/许可:

另请参阅

  • Amazon IoT《Amazon IoT开发者指南》中的@@ 安全隧道

更改日志

Passenger。

Version

变更

2016-09-01

Greengrass nucleus 2.8.0。

1.0.9

Greengrass nucleus 2.7.0。

1.0.8

Greengrass nucleus 2.6.0。

1.0.7

  • 修复了通过 SCP 传输大文件时组件断开连接的问题。

1.0.6

1.0.5

Greengrass nucleus 2.5.0。

1.0.4

Greengrass nucleus 2.4.0。

1.0.3

Greengrass nucleus 2.3.0。

1.0.2

Greengrass nucleus 2.2.0。

1.0.1

Greengrass nucleus 2.1.0。

1.0.0

初始版本。