Az Azure IoT Edge-futtatókörnyezet és architektúrájának ismertetése

A következőkre vonatkozik:IoT Edge 1.4 checkmark IoT Edge 1.4

Fontos

IoT Edge 1.4 is the supported release. If you are on an earlier release, see Update IoT Edge.

Az IoT Edge-futtatókörnyezet olyan programok gyűjteménye, amelyek az eszközt IoT Edge-eszközzé alakítják. Az IoT Edge-futtatókörnyezet összetevői együttesen lehetővé teszik, hogy az IoT Edge-eszközök a peremhálózaton futtatandó kódokat fogadjanak, és kommunikálhassák az eredményeket.

Az IoT Edge-futtatókörnyezet az alábbi funkciókért felelős az IoT Edge-eszközökön:

  • Telepítse és frissítse a számítási feladatokat az eszközön.

  • Az Azure IoT Edge biztonsági szabványainak fenntartása az eszközön.

  • Győződjön meg arról, hogy az IoT Edge-modulok mindig futnak.

  • Jelentésmodul állapota a felhőben távoli monitorozás céljából.

  • A következők közötti kommunikáció kezelése:

    • Alsóbb rétegbeli eszközök és IoT Edge-eszközök
    • Modulok IoT Edge-eszközön
    • IoT Edge-eszköz és a felhő
    • IoT Edge-eszközök

Screenshot of how runtime communicates insights and module health to I o T Hub.

Az IoT Edge-futtatókörnyezet feladatai két kategóriába sorolhatók: kommunikáció és modulkezelés. Ezt a két szerepkört két összetevő látja el, amelyek az IoT Edge-futtatókörnyezet részét képezik. Az IoT Edge-ügynök telepíti és figyeli a modulokat, míg az IoT Edge-központ felelős a kommunikációért.

Az IoT Edge-ügynök és az IoT Edge Hub is modul, ugyanúgy, mint bármely más, IoT Edge-eszközön futó modul. Ezeket futtatókörnyezeti moduloknak is nevezik.

IoT Edge-ügynök

Az IoT Edge-ügynök egyike az Azure IoT Edge-futtatókörnyezetet alkotó két modulnak. Feladata a modulok példányosítása, a folyamatos futtatásuk biztosítása, valamint a modulok állapotának jelentése az IoT Hubnak. Ezek a konfigurációs adatok az IoT Edge-ügynök modul ikerpéldányának tulajdonságaként lesznek megírva.

Az IoT Edge biztonsági démon elindítja az IoT Edge-ügynököt az eszköz indításakor. Az ügynök lekéri a modul ikerpéldányát az IoT Hubról, és vizsgálja meg az üzembehelyezési jegyzékfájlt. Az üzembe helyezési jegyzék egy JSON-fájl, amely deklarálja azokat a modulokat, amelyeket el kell indítani.

Az üzembehelyezési jegyzék minden eleme konkrét információkat tartalmaz egy modulról, és az IoT Edge-ügynök használja a modul életciklusának szabályozására. Az IoT Edge-ügynök által a modulok vezérléséhez használt összes tulajdonságról az IoT Edge-ügynök és az IoT Edge hub-modul ikerpéldányainak tulajdonságairól olvashat.

Az IoT Edge-ügynök futtatókörnyezeti választ küld az IoT Hubnak. Íme a lehetséges válaszok listája:

  • 200 – OK
  • 400 – Az üzembehelyezési konfiguráció hibás vagy érvénytelen.
  • 417 – Az eszköz nem rendelkezik üzembehelyezési konfigurációs készlettel.
  • 412 – Az üzembehelyezési konfiguráció sémaverziója érvénytelen.
  • 406 – Az IoT Edge-eszköz offline állapotjelentéseket küld vagy nem küld.
  • 500 – Hiba történt az IoT Edge-futtatókörnyezetben.

Az üzembehelyezési jegyzékek létrehozásával kapcsolatos további információkért lásd : Modulok üzembe helyezése és útvonalak létrehozása az IoT Edge-ben.

Biztonság

Az IoT Edge-ügynök kritikus szerepet játszik az IoT Edge-eszközök biztonságában. Például olyan műveleteket hajt végre, mint például egy modul rendszerképének ellenőrzése a kezdés előtt.

Az Azure IoT Edge biztonsági keretrendszerével kapcsolatos további információkért olvassa el az IoT Edge biztonsági kezelőjét.

IoT Edge Hub

Az IoT Edge hub az Azure IoT Edge-futtatókörnyezetet alkotó másik modul. Az IoT Hub helyi proxyjaként működik, mivel ugyanazokat a protokollvégpontokat teszi ki, mint az IoT Hub. Ez a konzisztencia azt jelenti, hogy az ügyfelek ugyanúgy csatlakozhatnak az IoT Edge-futtatókörnyezethez, mint az IoT Hubhoz.

Az IoT Edge Hub nem az IoT Hub helyileg futó teljes verziója. Az IoT Edge Hub csendesen delegál néhány feladatot az IoT Hubnak. Az IoT Edge Hub például automatikusan letölti az engedélyezési adatokat az IoT Hubról az első kapcsolaton, hogy lehetővé tegye az eszköz csatlakozását. Az első kapcsolat létrejötte után az engedélyezési adatokat helyileg gyorsítótárazza az IoT Edge Hub. Az eszköz jövőbeli kapcsolatai anélkül lesznek engedélyezve, hogy újra le kellene töltenie az engedélyezési adatokat a felhőből.

Felhőbeli kommunikáció

Az IoT Edge-megoldás által használt sávszélesség csökkentése érdekében az IoT Edge hub optimalizálja, hogy hány tényleges kapcsolat jön létre a felhőben. Az IoT Edge Hub logikai kapcsolatokat használ a modulokból vagy az alsóbb rétegbeli eszközökből, és egyesíti őket egyetlen fizikai kapcsolathoz a felhővel. Ennek a folyamatnak a részletei transzparensek a megoldás többi része számára. Az ügyfelek úgy vélik, hogy saját kapcsolattal rendelkeznek a felhőhöz, annak ellenére, hogy mindet ugyanazon a kapcsolaton keresztül küldik el. Az IoT Edge hub az AMQP vagy az MQTT protokoll használatával kommunikálhat a felhővel, függetlenül az alsóbb rétegbeli eszközök által használt protokolloktól. Az IoT Edge Hub azonban jelenleg csak a logikai kapcsolatok egyetlen fizikai kapcsolatba való kombinálását támogatja az AMQP felsőbb rétegbeli protokollként és multiplexálási képességeinek használatával. Az AMQP az alapértelmezett felsőbb rétegbeli protokoll.

Screenshot showing relationships to I o T Edge hub as a gateway between physical devices and I o T Hub.

Az IoT Edge Hub meg tudja állapítani, hogy csatlakoztatva van-e az IoT Hubhoz. Ha a kapcsolat megszakad, az IoT Edge Hub helyileg menti az üzeneteket vagy az ikerfrissítéseket. A kapcsolat újbóli létrehozása után az összes adatot szinkronizálja. Az ideiglenes gyorsítótár helyét az IoT Edge-központ ikermoduljának tulajdonsága határozza meg. A gyorsítótár mérete nincs leképezve, és mindaddig nő, amíg az eszköz tárolókapacitással rendelkezik. További információ: Kapcsolat nélküli képességek.

Helyi kommunikáció

Az IoT Edge Hub megkönnyíti a helyi kommunikációt. Lehetővé teszi az eszközök közötti és modulközi kommunikációt az üzenetek közvetítésével, hogy az eszközök és modulok egymástól függetlenek maradjanak. Az IoT Edge Hub támogatja az IoT Hub által támogatott üzenet-útválasztási funkciókat.

Útválasztás használata

A közvetítő mechanizmus ugyanazokat az útválasztási funkciókat használja, mint az IoT Hub az üzenetek eszközök vagy modulok közötti továbbításának megadásához. Az első eszközök vagy modulok határozzák meg azokat a bemeneteket, amelyeken üzeneteket fogadnak, valamint azokat a kimeneteket, amelyekre üzeneteket írnak. Ezután a megoldásfejlesztők átirányíthatják az üzeneteket egy forrás (például kimenetek) és egy cél (például bemenetek) között a lehetséges szűrőkkel.

Screenshot showing how routes between modules go through I o T Edge hub.

Az útválasztást az AMQP protokoll használatával az Azure IoT Device SDK-kkal létrehozott eszközök vagy modulok használhatják. Minden üzenetkezelési IoT Hub-primitív (például telemetriai), közvetlen metódusok, C2D, ikerpéldányok támogatottak, de a felhasználó által megadott témakörök közötti kommunikáció nem támogatott.

Az útvonalakról további információt a modulok üzembe helyezéséről és az útvonalak IoT Edge-ben való létrehozásáról szóló cikkben talál.

A közvetítő mechanizmus elérhető funkciói:

Funkciók Routing
D2C-telemetria
Helyi telemetria
DirectMethods
Twin
C2D eszközökhöz
Rendezés
Szűrés
Felhasználó által definiált témakörök
Eszközről eszközre
Helyi műsorszórás

Csatlakozás az IoT Edge hubra

Az IoT Edge hub fogadja az eszköz- vagy modul-ügyfelek kapcsolatait az MQTT protokollon vagy az AMQP protokollon keresztül.

Megjegyzés:

Az IoT Edge Hub támogatja az MQTT vagy AMQP használatával csatlakozó ügyfeleket. Nem támogatja a HTTP-t használó ügyfeleket.

Amikor egy ügyfél csatlakozik az IoT Edge-központhoz, a következő történik:

  1. Ha a Transport Layer Security (TLS) használata (ajánlott), egy TLS-csatorna jön létre az ügyfél és az IoT Edge-központ közötti titkosított kommunikáció létrehozásához.
  2. A rendszer hitelesítési adatokat küld az ügyféltől az IoT Edge-központnak, hogy azonosítsa magát.
  3. Az IoT Edge Hub az engedélyezési szabályzata alapján engedélyezi vagy elutasítja a kapcsolatot.

Biztonságos kapcsolatok (TLS)

Alapértelmezés szerint az IoT Edge-központ csak a Transport Layer Security (TLS) által védett kapcsolatokat fogadja el, például olyan titkosított kapcsolatokat, amelyeket egy harmadik fél nem tud visszafejteni.

Ha egy ügyfél a 8883-as (MQTTS) vagy az 5671-es (AMQPS) porton csatlakozik az IoT Edge-központhoz, TLS-csatornát kell építeni. A TLS-kézfogás során az IoT Edge hub elküldi a tanúsítványláncát, amelyet az ügyfélnek ellenőriznie kell. A tanúsítványlánc érvényesítéséhez az IoT Edge Hub főtanúsítványát megbízható tanúsítványként kell telepíteni az ügyfélen. Ha a főtanúsítvány nem megbízható, az IoT Edge hub elutasítja az ügyfélkódtárat egy tanúsítvány-ellenőrzési hibával.

A közvetítő főtanúsítványának eszköz-ügyfelekre való telepítéséhez követendő lépéseket az átlátszó átjáró ismerteti, és egy alsóbb rétegbeli eszközdokumentációt készít. A modulok ugyanazt a főtanúsítványt használhatják, mint az IoT Edge-központ az IoT Edge démoni API-val.

Authentication

Az IoT Edge Hub csak IoT Hub-identitással rendelkező eszközökről vagy modulokról fogad kapcsolatokat. Az IoT Hubban regisztrált és az IoT Hub által támogatott három ügyfél-hitelesítési módszer egyikével rendelkeznek például identitásuk igazolásához: szimmetrikus kulcsok hitelesítése, X.509 önaláírt hitelesítés, X.509 hitelesítésszolgáltató által aláírt hitelesítés. Ezek az IoT Hub-identitások helyileg ellenőrizhetők az IoT Edge-központtal, így offline állapotban is lehet kapcsolatokat létesíteni.

Az IoT Edge-modulok jelenleg csak a szimmetrikus kulcsú hitelesítést támogatják.

Authorization

Annak ellenőrzésével, hogy egy ügyfél az IoT Hubban definiált megbízható ügyfelek csoportjához tartozik-e. A megbízható ügyfelek halmazát a szülő-/gyermek- vagy eszköz-/modulkapcsolatok beállításával adhatja meg az IoT Hubban. Amikor egy modul létrejön az IoT Edge-ben, a modul és az IoT Edge-eszköz között automatikusan létrejön egy megbízhatósági kapcsolat. Ez az útválasztás-közvetítő mechanizmus által támogatott egyetlen engedélyezési modell.

Távoli konfiguráció

Az IoT Edge-központot teljes mértékben a felhő vezérli. A konfigurációját az IoT Hubról szerzi be a modul ikerpéldányán keresztül. Az ikerpéldány tartalmaz egy útvonalnak nevezett kívánt tulajdonságot, amely deklarálja, hogyan továbbítják az üzeneteket az üzemelő példányon belül. Az útvonalakról további információt az útvonalak deklarálása című témakörben talál.

Emellett több konfiguráció is elvégezhető az IoT Edge hub környezeti változóinak beállításával.

Futásidejű minőségi telemetriai adatok

Az IoT Edge névtelen telemetriát gyűjt a gazdagép futtatókörnyezetéből és a rendszermodulokból a termékminőség javítása érdekében. Ezt az információt futtatókörnyezeti minőségi telemetriának nevezzük. Az összegyűjtött telemetria rendszeres időközönként eszközről felhőbe irányuló üzenetként érkezik az IoT Hubra az IoT Edge-ügynöktől. Ezek az üzenetek nem jelennek meg az ügyfél szokásos telemetriáiban, és nem használnak fel üzenetkvótát.

Az IoT Edge-ügynök és a központ olyan metrikákat hoz létre, amelyeket összegyűjthet az eszköz teljesítményének megértéséhez. Ezeknek a metrikáknak egy részét az IoT Edge-ügynök gyűjti össze a futásidejű minőségi telemetriai adatok részeként. A futásidejű minőségi telemetriához gyűjtött metrikák címkéje a címkével ms_telemetryvan ellátva. Az összes elérhető metrikáról további információt az Access beépített metrikáiban talál.

A feltöltés előtt a rendszer eltávolít minden személyes vagy szervezetileg azonosítható információt, például az eszköz- és modulneveket, hogy biztosítsa a futásidejű minőségi telemetria névtelen jellegét.

Az IoT Edge-ügynök óránként gyűjti a telemetriát, és 24 óránként egy üzenetet küld az IoT Hubnak.

Ha le szeretné tiltani a futtatókörnyezeti telemetriai adatok küldését az eszközeiről, kétféleképpen teheti meg:

  • SendRuntimeQualityTelemetry A környezeti változó false beállítása edgeAgent értékre, vagy
  • Törölje a jelölést az Azure Portalon az üzembe helyezés során.

Következő lépések