Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Sicheres Tunneln
Mit der aws.greengrass.SecureTunneling Komponente können Sie eine sichere bidirektionale Kommunikation mit einem Greengrass-Core-Gerät herstellen, das sich hinter eingeschränkten Firewalls befindet.
Stellen Sie sich beispielsweise vor, Sie haben ein Greengrass-Core-Gerät hinter einer Firewall, die alle eingehenden Verbindungen verhindert. Secure Tunneling verwendet MQTT, um ein Zugriffstoken auf das Gerät zu übertragen, und stellt dann über die WebSockets Firewall eine SSH-Verbindung zum Gerät her. Mit diesem AWS IoT verwalteten Tunnel können Sie die für Ihr Gerät benötigte SSH-Verbindung herstellen. Weitere Informationen zur Verwendung von AWS IoT Secure Tunneling für die Verbindung zu Remote-Geräten finden Sie unter AWS IoT Sicheres Tunneling im Entwicklerhandbuch. AWS IoT
Diese Komponente abonniert den AWS IoT Core MQTT-Nachrichtenbroker zum $aws/things/greengrass-core-device/tunnels/notify Thema, um sichere Tunneling-Benachrichtigungen zu erhalten.
Versionen
Diese Komponente hat die folgenden Versionen:
Typ
Diese Komponente ist eine generische Komponente (aws.greengrass.generic). Der Greengrass-Kern führt die Lifecycle-Skripte der Komponente aus.
Weitere Informationen finden Sie unter Komponententypen.
Betriebssystem
Diese Komponente kann nur auf Linux-Core-Geräten installiert werden.
Architekturen:
-
Armv71
-
Armv8 (AArch64)
-
x86_64
Voraussetzungen
Für diese Komponente gelten die folgenden Anforderungen:
- 2.0.x
-
-
Für die Secure Tunneling-Komponente sind mindestens 4 MB Festplattenspeicher verfügbar. Diese Anforderung umfasst nicht die Greengrass-Core-Software oder andere Komponenten, die auf demselben Gerät ausgeführt werden.
-
Für die sichere Tunneling-Komponente sind mindestens 3 MB RAM verfügbar. Diese Anforderung umfasst nicht die Greengrass-Core-Software oder andere Komponenten, die auf demselben Gerät ausgeführt werden.
-
GNU C Library (Glibc) Version 2.35 oder höher. Versionen des Betriebssystems und der Bibliotheken, deren Langzeitunterstützung abgelaufen ist, werden nicht unterstützt. Sie sollten ein Betriebssystem und Bibliotheken mit langfristiger Unterstützung verwenden.
-
Die folgenden Laufzeitbibliotheken sind auf dem Greengrass-Core-Gerät installiert:
-
libstdc++Version 3.4.29 oder höher
-
libgcc_sVersion 3.0 oder höher
-
OpenSSL Version 3.0.0 oder höher
-
Öffnen Sie den ausgehenden Verkehr auf Port 443 auf dem Greengrass-Core-Gerät.
-
Schalten Sie die Unterstützung für den Kommunikationsdienst ein, den Sie für die Kommunikation mit dem Greengrass-Core-Gerät verwenden möchten. Um beispielsweise eine SSH-Verbindung zum Gerät herzustellen, müssen Sie SSH auf diesem Gerät aktivieren.
- 1.0.x - 1.1.x
-
-
Für die sichere Tunneling-Komponente stehen mindestens 32 MB Festplattenspeicher zur Verfügung. Diese Anforderung umfasst nicht die Greengrass-Core-Software oder andere Komponenten, die auf demselben Gerät ausgeführt werden.
-
Für die sichere Tunneling-Komponente sind mindestens 16 MB RAM verfügbar. Diese Anforderung umfasst nicht die Greengrass-Core-Software oder andere Komponenten, die auf demselben Gerät ausgeführt werden. Weitere Informationen finden Sie unter Steuern Sie die Speicherzuweisung mit JVM-Optionen.
-
Die GNU C Library (Glibc) Version 2.25 oder höher mit einem Linux-Kernel von 3.2 oder höher ist für die Secure Tunneling-Komponente Version 1.0.12 und höher erforderlich. Versionen des Betriebssystems und der Bibliotheken, deren Langzeitunterstützung abgelaufen ist, werden nicht unterstützt. Sie sollten ein Betriebssystem und Bibliotheken mit langfristiger Unterstützung verwenden.
-
Sowohl das Betriebssystem als auch die Java-Runtime müssen als 64-Bit-Version installiert sein.
-
Python 3.5 oder höher ist auf dem Greengrass-Core-Gerät installiert und der PATH-Umgebungsvariablen hinzugefügt.
-
libcrypto.so.1.1auf dem Greengrass-Core-Gerät installiert und der PATH-Umgebungsvariablen hinzugefügt.
-
Öffnen Sie den ausgehenden Verkehr auf Port 443 auf dem Greengrass-Core-Gerät.
-
Schalten Sie die Unterstützung für den Kommunikationsdienst ein, den Sie für die Kommunikation mit dem Greengrass-Core-Gerät verwenden möchten. Um beispielsweise eine SSH-Verbindung zum Gerät herzustellen, müssen Sie SSH auf diesem Gerät aktivieren.
Endpunkte und Ports
Diese Komponente muss in der Lage sein, ausgehende Anfragen an die folgenden Endpunkte und Ports auszuführen, zusätzlich zu den Endpunkten und Ports, die für den Basisbetrieb erforderlich sind. Weitere Informationen finden Sie unter Geräteverkehr über einen Proxy oder eine Firewall zulassen.
| Endpoint |
Port |
Erforderlich |
Description |
|
data.tunneling.iot.region.amazonaws.com
|
443 |
Ja |
Richten Sie sichere Tunnel ein.
|
Abhängigkeiten
Wenn Sie eine Komponente bereitstellen, werden AWS IoT Greengrass auch kompatible Versionen ihrer Abhängigkeiten bereitgestellt. Das bedeutet, dass Sie die Anforderungen für die Komponente und alle ihre Abhängigkeiten erfüllen müssen, um die Komponente erfolgreich bereitzustellen. In diesem Abschnitt werden die Abhängigkeiten für die veröffentlichten Versionen dieser Komponente sowie die semantischen Versionseinschränkungen aufgeführt, die die Komponentenversionen für jede Abhängigkeit definieren. Sie können die Abhängigkeiten für jede Version der Komponente auch in der AWS IoT Greengrass Konsole anzeigen. Suchen Sie auf der Seite mit den Komponentendetails nach der Liste der Abhängigkeiten.
- 2.0.0
-
Version 2.0.0 dieser Komponente unterstützt sowohl Greengrass Nucleus als auch Greengrass Nucleus Lite. In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.0 dieser Komponente aufgeführt.
- 1.0.19 – 1.1.3
-
In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 1.0.19 bis 1.1.3 dieser Komponente aufgeführt.
- 1.0.18
-
In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.18 dieser Komponente aufgeführt.
- 1.0.16 – 1.0.17
-
In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 1.0.16 bis 1.0.17 dieser Komponente aufgeführt.
- 1.0.14 – 1.0.15
-
In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 1.0.14 bis 1.0.15 dieser Komponente aufgeführt.
- 1.0.11 – 1.0.13
-
In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 1.0.11 — 1.0.13 dieser Komponente aufgeführt.
- 1.0.10
-
In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.10 dieser Komponente aufgeführt.
- 1.0.9
-
In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.9 dieser Komponente aufgeführt.
- 1.0.8
-
In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.8 dieser Komponente aufgeführt.
- 1.0.5 - 1.0.7
-
In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 1.0.5 bis 1.0.7 dieser Komponente aufgeführt.
- 1.0.4
-
In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.4 dieser Komponente aufgeführt.
- 1.0.3
-
In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.3 dieser Komponente aufgeführt.
- 1.0.2
-
In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.2 dieser Komponente aufgeführt.
- 1.0.1
-
In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.1 dieser Komponente aufgeführt.
- 1.0.0
-
In der folgenden Tabelle sind die Abhängigkeiten für Version 1.0.0 dieser Komponente aufgeführt.
Weitere Informationen zu Komponentenabhängigkeiten finden Sie in der Komponentenrezeptreferenz.
Konfiguration
Diese Komponente stellt die folgenden Konfigurationsparameter bereit, die Sie bei der Bereitstellung der Komponente anpassen können.
- 2.0.x
-
maxConcurrentTunnels
-
(Optional) Zulässige maximale Anzahl gleichzeitiger Tunnel.
Der Wert darf nicht mehr als 20 betragen.
Standard: 20
tunnelTimeoutSeconds
-
(Optional) Dauer des Tunnel-Timeouts in Sekunden.
Standard: 43200 (12 Stunden)
accessControl
-
(Optional) Das Objekt, das die Autorisierungsrichtlinie enthält, die es der Komponente ermöglicht, das Thema „Benachrichtigungen über sicheres Tunneling“ zu abonnieren.
Ändern Sie diesen Konfigurationsparameter nicht, wenn Ihre Bereitstellung auf eine Dinggruppe abzielt. Wenn Ihre Bereitstellung auf ein einzelnes Kerngerät abzielt und Sie dessen Abonnement auf das Thema des Geräts beschränken möchten, geben Sie den Ding-Namen des Kerngeräts an. Ersetzen Sie im resources Wert in der Autorisierungsrichtlinie des Geräts den Platzhalter für das MQTT-Thema durch den Ding-Namen des Geräts.
{
"aws.greengrass.ipc.mqttproxy": {
"aws.greengrass.SecureTunneling:mqttproxy:1": {
"policyDescription": "Access to tunnel notification pubsub topic",
"operations": [
"aws.greengrass#SubscribeToIoTCore"
],
"resources": [
"$aws/things/+/tunnels/notify"
]
}
}
}
Beispiel Beispiel: Aktualisierung der Konfiguration zum Zusammenführen
Die folgende Beispielkonfiguration legt die maximale Anzahl gleichzeitiger Tunnel und die Timeout-Einstellungen fest.
{
"maxConcurrentTunnels": 20,
"tunnelTimeoutSeconds": 43200,
"accessControl": {
"aws.greengrass.ipc.mqttproxy": {
"aws.greengrass.SecureTunneling:mqttproxy:1": {
"policyDescription": "Access to tunnel notification pubsub topic",
"operations": [
"aws.greengrass#SubscribeToIoTCore"
],
"resources": [
"$aws/things/MyGreengrassCore/tunnels/notify"
]
}
}
}
}
- 1.0.x - 1.1.x
-
OS_DIST_INFO
-
(Optional) Das Betriebssystem Ihres Hauptgeräts. Standardmäßig versucht die Komponente, das auf Ihrem Hauptgerät ausgeführte Betriebssystem automatisch zu identifizieren. Wenn die Komponente nicht mit dem Standardwert startet, verwenden Sie diesen Wert, um das Betriebssystem anzugeben. Eine Liste der unterstützten Betriebssysteme für diese Komponente finden Sie unterAnforderungen an Speichergeräte.
Dieser Wert kann einer der folgenden sein: autoubuntu,amzn2,raspberrypi.
Standard: auto
accessControl
-
(Optional) Das Objekt, das die Autorisierungsrichtlinie enthält, die es der Komponente ermöglicht, das Thema „Benachrichtigungen über sicheres Tunneling“ zu abonnieren.
Ändern Sie diesen Konfigurationsparameter nicht, wenn Ihre Bereitstellung auf eine Dinggruppe abzielt. Wenn Ihre Bereitstellung auf ein einzelnes Kerngerät abzielt und Sie dessen Abonnement auf das Thema des Geräts beschränken möchten, geben Sie den Ding-Namen des Kerngeräts an. Ersetzen Sie im resources Wert in der Autorisierungsrichtlinie des Geräts den Platzhalter für das MQTT-Thema durch den Ding-Namen des Geräts.
{
"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"
]
}
}
}
Beispiel Beispiel: Aktualisierung der Konfiguration zum Zusammenführen
Die folgende Beispielkonfiguration gibt an, MyGreengrassCore dass diese Komponente sichere Tunnel auf einem Kerngerät mit dem Namen Ubuntu öffnen kann.
{
"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"
]
}
}
}
}
Lokale Protokolldatei
- Greengrass nucleus
-
Diese Komponente verwendet die folgende Protokolldatei.
/greengrass/v2/logs/aws.greengrass.SecureTunneling.log
Um die Protokolle dieser Komponente einzusehen
-
Führen Sie den folgenden Befehl auf dem Kerngerät aus, um die Protokolldatei dieser Komponente in Echtzeit anzuzeigen. /greengrass/v2Ersetzen Sie es durch den Pfad zum AWS IoT Greengrass Stammordner.
sudo tail -f /greengrass/v2/logs/aws.greengrass.SecureTunneling.log
- Greengrass nucleus lite
-
Führen Sie den folgenden Befehl auf dem Kerngerät aus, um die Protokolle dieser Komponente anzuzeigen.
journalctl -xeau ggl.aws.greengrass.SecureTunneling.service
Führen Sie den folgenden Befehl auf dem Kerngerät aus, um die Protokolle dieser Komponente in Echtzeit anzuzeigen.
journalctl -fau ggl.aws.greengrass.SecureTunneling.service
Lizenzen
Diese Komponente umfasst die folgenden Drittanbieter software/licensing:
- 2.0.x
-
- 1.0.x - 1.1.x
-
Usage
Gehen Sie wie folgt vor, um die sichere Tunneling-Komponente auf Ihrem Gerät zu verwenden:
-
Stellen Sie die Secure Tunneling-Komponente auf Ihrem Gerät bereit.
-
Öffnen Sie die AWS IoT -Konsole. Wählen Sie im linken Menü Remote-Aktionen und dann Secure Tunnels aus.
-
Erstellen Sie einen Tunnel zu Ihrem Greengrass-Gerät.
-
Laden Sie das Quellzugriffstoken herunter.
-
Verwenden Sie den lokalen Proxy mit dem Quellzugriffstoken, um eine Verbindung zu Ihrem Ziel herzustellen. Weitere Informationen finden Sie im AWS IoT Entwicklerhandbuch unter So verwenden Sie den lokalen Proxy.
Weitere Informationen finden Sie auch unter
Änderungsprotokoll
In der folgenden Tabelle werden die Änderungen in den einzelnen Versionen der Komponente beschrieben.
|
Version
|
Änderungen
|
|
2.0.1
|
- Fehlerbehebungen und Verbesserungen
-
-
Aktualisiert die mitgelieferte lokale Proxy-Binärdatei auf Version 3.3.0.
-
Behebt Fehler in Bezug auf Parallelität und Objektlebensdauer, die die Integrität der Tunneldaten beeinträchtigen könnten.
-
Erfordert TLS 1.2 oder höher und erlaubt SSLv2, SSLv3, TLS 1.0 oder TLS 1.1 nicht mehr.
|
|
2.0.0
|
- Neue Features
-
-
Ersetzt den Java-Wrapper durch einen C-Wrapper.
-
Ersetzt den AWS IoT Device Client durch AWS IoT Securetunneling Localproxy.
-
Reduziert die Binärgröße von ca. 36 MB auf ca. 4 MB.
-
Reduziert den Speicherbedarf von ca. 100 MB auf ca. 2 MB.
|
|
1.1.3
|
- Fehlerbehebungen und Verbesserungen
-
-
Aktualisiert den zugrunde liegenden AWS IoT Device Client, der von der Komponente aufgerufen wird, von Version 1.10.0 auf Version 1.10.1.
-
Behebt die Kompatibilitätsprobleme der GNU C Library (Glibc) in der Version 1.1.2 der Secure Tunneling-Komponente.
|
|
1.1.2
|
Diese Version ist nicht mehr verfügbar. Die Verbesserungen in dieser Version sind in späteren Versionen dieser Komponente verfügbar.
- Fehlerbehebungen und Verbesserungen
-
-
Aktualisiert den zugrunde liegenden AWS IoT Device Client, der von der Komponente aufgerufen wird, von Version 1.9.0 auf Version 1.10.0.
-
Behebt das Problem mit der Übertragung von Nutzdaten, das Benutzer daran hindert, große Dateien von Greengrass V2-Core-Geräten über den sicheren Tunnel an das Quellgerät weiterzuleiten.
|
|
1.1.1
|
- Fehlerbehebungen und Verbesserungen
-
|
|
1.1.0
|
|
|
1.0.19
|
- Fehlerbehebungen und Verbesserungen
-
-
Aktualisiert den zugrunde liegenden AWS IoT Device Client, der von der Komponente aufgerufen wird, von Version 1.8.0 auf Version 1.9.0.
-
Erhöht das Limit für gleichzeitige Tunnel auf 20 Tunnel auf Komponentenebene.
-
Erhöht das AWS IoT Greengrass Standard-Core-IPC-Timeout von 3 Sekunden auf 10 Sekunden.
Wenn Sie den lokalen Proxy für sicheres Tunneling als Tunnelquellclient verwenden, aktualisieren Sie Ihre Komponente erst auf diese Version, wenn Sie auch den lokalen Proxy auf Version 3.1.1 oder höher aktualisiert haben.
|
|
1.0.18
|
Version für Greengrass Nucleus Version 2.12.0 aktualisiert. |
|
1.0.17
|
- Fehlerbehebungen und Verbesserungen
-
-
Behebt das Problem mit der Thread-Bereinigung, das Benutzer daran hinderte, Tunnel zu erstellen. Diese Komponente bereinigt nun einen Thread entweder, sobald sie das CloseTunnel Signal empfängt oder wenn der Tunnel nach 12 Stunden abgelaufen ist.
|
|
1.0.16
|
Version für Greengrass Nucleus Version 2.11.0 aktualisiert. |
|
1.0.15
|
- Fehlerbehebungen und Verbesserungen
-
-
Behebt ein Startproblem für Benutzer, die kein Home-Verzeichnis auf dem Gerät haben. Die Secure Tunneling-Komponente wird jetzt gestartet, ohne dass ein Verzeichnis für Shadow-Dokumente erstellt wird.
|
|
1.0.14
|
Die Version wurde für die Veröffentlichung von Greengrass Nucleus Version 2.10.0 aktualisiert. |
|
1.0.13
|
- Fehlerbehebungen und Verbesserungen
-
|
|
1.0.12
|
- Fehlerbehebungen und Verbesserungen
-
|
|
1.0.11
|
Version für die Veröffentlichung von Greengrass Nucleus Version 2.9.0 aktualisiert. |
|
1.0.10
|
Version für die Veröffentlichung von Greengrass Nucleus Version 2.8.0 aktualisiert. |
|
1.0.9
|
Version für die Greengrass Nucleus-Version 2.7.0 aktualisiert.
|
|
1.0.8
|
Die Version wurde für die Greengrass Nucleus-Version 2.6.0 aktualisiert.
|
|
1.0.7
|
- Fehlerbehebungen und Verbesserungen
-
|
|
1.0.6
|
Diese Version enthält Fehlerkorrekturen.
|
|
1.0.5
|
Die Version wurde für die Greengrass Nucleus-Version 2.5.0 aktualisiert.
|
|
1.0.4
|
Die Version wurde für die Greengrass Nucleus-Version 2.4.0 aktualisiert.
|
|
1.0.3
|
Die Version wurde für die Greengrass Nucleus-Version 2.3.0 aktualisiert.
|
|
1.0.2
|
Die Version wurde für die Greengrass Nucleus-Version 2.2.0 aktualisiert.
|
|
1.0.1
|
Die Version wurde für die Greengrass Nucleus-Version 2.1.0 aktualisiert.
|
|
1.0.0
|
Erste Version
|