Principy modulu runtime Azure IoT Edge a jeho architektury

Platí pro:IoT Edge 1.4 checkmark IoT Edge 1.4

Důležité

IoT Edge 1.4 je podporovaná verze. Pokud používáte starší verzi, podívejte se na článek Aktualizace IoT Edge.

Modul runtime IoT Edge je kolekce programů, které ze zařízení udělají zařízení IoT Edge. Komponenty modulu runtime IoT Edge společně umožňují zařízením IoT Edge přijímat kód ke spuštění na hraničních zařízeních a sdělovat výsledky.

Modul runtime IoT Edge zodpovídá za následující funkce na zařízeních IoT Edge:

  • Nainstalujte a aktualizujte úlohy na zařízení.

  • Udržujte na zařízení standardy zabezpečení Azure IoT Edge.

  • Ujistěte se, že moduly IoT Edge jsou vždy spuštěné .

  • Ohlaste stav modulu do cloudu pro vzdálené monitorování.

  • Správa komunikace mezi:

    • Podřízená zařízení a zařízení IoT Edge
    • Moduly na zařízení IoT Edge
    • Zařízení IoT Edge a cloud
    • Zařízení IoT Edge

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

Odpovědnosti modulu runtime IoT Edge spadají do dvou kategorií: správa komunikace a modulů. Tyto dvě role se provádějí dvěma komponentami, které jsou součástí modulu runtime IoT Edge. Agent IoT Edge nasazuje a monitoruje moduly, zatímco centrum IoT Edge zodpovídá za komunikaci.

Agent IoT Edge i centrum IoT Edge jsou moduly stejně jako jakýkoli jiný modul spuštěný na zařízení IoT Edge. Někdy se označují jako moduly runtime.

Agent IoT Edge

Agent IoT Edge je jedním ze dvou modulů, které tvoří modul runtime Azure IoT Edge. Zodpovídá za vytváření instancí modulů, za zajištění jejich spuštění a hlášení stavu modulů zpět do IoT Hubu. Tato konfigurační data se zapisuje jako vlastnost dvojčete modulu agenta IoT Edge.

Proces démon zabezpečení IoT Edge spustí agenta IoT Edge při spuštění zařízení. Agent načte své dvojče modulu ze služby IoT Hub a zkontroluje manifest nasazení. Manifest nasazení je soubor JSON, který deklaruje moduly, které je potřeba spustit.

Každá položka v manifestu nasazení obsahuje konkrétní informace o modulu a používá ho agent IoT Edge k řízení životního cyklu modulu. Další informace o všech vlastnostech používaných agentem IoT Edge k řízení modulů najdete v tématu Vlastnosti agenta IoT Edge a dvojčata modulů centra IoT Edge.

Agent IoT Edge odesílá do IoT Hubu odpověď za běhu. Tady je seznam možných odpovědí:

  • 200 - OK
  • 400 – Konfigurace nasazení je poškozená nebo neplatná.
  • 417 – Zařízení nemá nastavenou konfiguraci nasazení.
  • 412 – Verze schématu v konfiguraci nasazení je neplatná.
  • 406 – Zařízení IoT Edge je offline nebo neodesílá zprávy o stavu.
  • 500 – V modulu runtime IoT Edge došlo k chybě.

Další informace o vytváření manifestů nasazení najdete v tématu Informace o nasazení modulů a vytváření tras v IoT Edge.

Zabezpečení

Agent IoT Edge hraje důležitou roli v zabezpečení zařízení IoT Edge. Například provádí akce, jako je ověření image modulu před jeho spuštěním.

Další informace o rozhraní zabezpečení Azure IoT Edge najdete v tématu o správci zabezpečení IoT Edge.

Centrum IoT Edge

Centrum IoT Edge je druhý modul, který tvoří modul runtime Azure IoT Edge. Funguje jako místní proxy server pro IoT Hub zveřejněním stejných koncových bodů protokolu jako IoT Hub. Tato konzistence znamená, že se klienti můžou připojit k modulu runtime IoT Edge stejně jako ke službě IoT Hub.

IoT Edge Hub není úplná verze IoT Hubu spuštěná místně. Centrum IoT Edge bezobslužně deleguje některé úlohy do IoT Hubu. Centrum IoT Edge například automaticky stáhne autorizační informace ze služby IoT Hub na prvním připojení, aby se zařízení mohl připojit. Po vytvoření prvního připojení se informace o autorizaci ukládají místně do mezipaměti službou IoT Edge Hub. Budoucí připojení z daného zařízení jsou autorizovaná bez nutnosti stahovat informace o autorizaci z cloudu znovu.

Cloudová komunikace

Aby se snížila šířka pásma, kterou vaše řešení IoT Edge používá, centrum IoT Edge optimalizuje počet skutečných připojení ke cloudu. Centrum IoT Edge přijímá logická připojení z modulů nebo podřízených zařízení a kombinuje je pro jedno fyzické připojení ke cloudu. Podrobnosti tohoto procesu jsou pro zbytek řešení transparentní. Klienti si myslí, že mají vlastní připojení ke cloudu, i když se všichni odesílají přes stejné připojení. Centrum IoT Edge může ke komunikaci upstreamu s cloudem použít protokol AMQP nebo MQTT nezávisle na protokolech používaných podřízenými zařízeními. Centrum IoT Edge ale v současné době podporuje pouze kombinování logických připojení do jednoho fyzického připojení pomocí AMQP jako upstreamového protokolu a jeho funkcí multiplexingu. AMQP je výchozí upstreamový protokol.

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

Centrum IoT Edge může určit, jestli je připojené ke službě IoT Hub. Pokud dojde ke ztrátě připojení, centrum IoT Edge ukládá zprávy nebo aktualizace dvojčete místně. Po opětovném publikování připojení se synchronizují všechna data. Umístění použité pro tuto dočasnou mezipaměť je určeno vlastností dvojčete modulu centra IoT Edge. Velikost mezipaměti není omezena a bude růst tak dlouho, dokud má zařízení kapacitu úložiště. Další informace najdete v tématu Možnosti offline.

Místní komunikace

Centrum IoT Edge usnadňuje místní komunikaci. Umožňuje komunikaci typu zařízení-to-modul a modul-modul tím, že zprostředkuje zprávy, aby byla zařízení a moduly nezávislé na sobě. Centrum IoT Edge podporuje funkce směrování zpráv podporované službou IoT Hub.

Použití směrování

Zprostředkující mechanismus používá stejné funkce směrování jako IoT Hub k určení způsobu předávání zpráv mezi zařízeními nebo moduly. První zařízení nebo moduly určují vstupy, na kterých přijímají zprávy, a výstupy, do kterých zapisují zprávy. Vývojář řešení pak může směrovat zprávy mezi zdrojem (například výstupy) a cílem (například vstupy) s potenciálními filtry.

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

Směrování můžou používat zařízení nebo moduly vytvořené pomocí sad SDK pro zařízení Azure IoT pomocí protokolu AMQP. Podporují se všechny primitivy IoT Hubu pro zasílání zpráv (například telemetrie), přímé metody, C2D, dvojčata, ale komunikace přes uživatelsky definovaná témata se nepodporuje.

Další informace o trasách najdete v tématu O nasazení modulů a vytváření tras v IoT Edge.

Dostupné funkce zprostředkujícího mechanismu:

Funkce Směrování
Telemetrie D2C
Místní telemetrie
DirectMethods
Twin
C2D pro zařízení
Řazení
Filtrování
Uživatelsky definovaná témata
Zařízení na zařízení
Místní vysílání

Připojení do centra IoT Edge

Centrum IoT Edge přijímá připojení z klientů zařízení nebo modulů, a to buď přes protokol MQTT, nebo protokol AMQP.

Poznámka:

Centrum IoT Edge podporuje klienty, kteří se připojují pomocí MQTT nebo AMQP. Nepodporuje klienty, kteří používají protokol HTTP.

Když se klient připojí k centru IoT Edge, stane se toto:

  1. Pokud se použije protokol TLS (Transport Layer Security), vytvoří se kanál TLS, který vytvoří šifrovanou komunikaci mezi klientem a centrem IoT Edge.
  2. Ověřovací informace se odesílají z klienta do centra IoT Edge, aby se identifikovaly.
  3. Centrum IoT Edge autorizuje nebo odmítne připojení na základě zásad autorizace.

Zabezpečená připojení (TLS)

Centrum IoT Edge ve výchozím nastavení přijímá pouze připojení zabezpečená protokolem TLS (Transport Layer Security), například šifrovaná připojení, která třetí strana nemůže dešifrovat.

Pokud se klient připojí na portu 8883 (MQTTS) nebo 5671 (AMQPS) k centru IoT Edge, je potřeba vytvořit kanál TLS. Během metody handshake protokolu TLS odešle centrum IoT Edge svůj řetěz certifikátů, který klient potřebuje ověřit. Aby bylo možné ověřit řetěz certifikátů, musí být kořenový certifikát centra IoT Edge nainstalován jako důvěryhodný certifikát v klientovi. Pokud kořenový certifikát není důvěryhodný, služba IoT Edge Hub ji odmítne s chybou ověření certifikátu.

Postup instalace tohoto kořenového certifikátu zprostředkovatele na klienty zařízení je popsaný v transparentní bráně a v dokumentaci k přípravě podřízeného zařízení . Moduly můžou používat stejný kořenový certifikát jako centrum IoT Edge pomocí rozhraní API démona IoT Edge.

Authentication

IoT Edge Hub přijímá připojení jenom ze zařízení nebo modulů, které mají identitu ioT Hubu. Například ty, které jsou zaregistrované ve službě IoT Hub a mají jednu ze tří metod ověřování klientů podporovanou službou IoT Hub, aby prokázala svou identitu: ověřování symetrických klíčů, ověřování podepsané svým držitelem X.509, ověřování podepsané certifikační autoritou X.509. Tyto identity ioT Hubu je možné ověřit místně centrem IoT Edge, aby se připojení stále daly provádět v režimu offline.

Moduly IoT Edge v současné době podporují pouze ověřování symetrických klíčů.

Autorizace

Ověřením, že klient patří do sady důvěryhodných klientů definovaných ve službě IoT Hub. Sada důvěryhodných klientů je určena nastavením vztahů nadřazenosti, podřízenosti nebo zařízení/modulu ve službě IoT Hub. Při vytvoření modulu v IoT Edge se mezi tímto modulem a jeho zařízením IoT Edge automaticky vytvoří vztah důvěryhodnosti. Toto je jediný autorizační model podporovaný mechanismem zprostředkování směrování.

Vzdálená konfigurace

Centrum IoT Edge je plně řízeno cloudem. Získá konfiguraci ze služby IoT Hub prostřednictvím dvojčete modulu. Dvojče obsahuje požadovanou vlastnost s názvem trasy, která deklaruje, jak se zprávy předávají v rámci nasazení. Další informace o trasách najdete v tématu deklarování tras.

Kromě toho je možné provést několik konfigurací nastavením proměnných prostředí v centru IoT Edge.

Telemetrie kvality modulu runtime

IoT Edge shromažďuje anonymní telemetrii z modulu runtime hostitele a systémových modulů za účelem zlepšení kvality produktu. Tyto informace se nazývají telemetrie kvality modulu runtime. Shromážděná telemetrie se pravidelně odesílá jako zprávy typu zařízení-cloud do IoT Hubu z agenta IoT Edge. Tyto zprávy se nezobrazují v běžné telemetrii zákazníka a nevyužívají žádnou kvótu zpráv.

Agent IoT Edge a centrum generují metriky, které můžete shromažďovat, abyste porozuměli výkonu zařízení. Podmnožinu těchto metrik shromažďuje agent IoT Edge jako součást telemetrie kvality modulu runtime. Metriky shromážděné pro telemetrii kvality modulu runtime jsou označené značkou ms_telemetry. Informace ovšechch

Všechny osobní nebo organizační identifikovatelné informace, jako jsou názvy zařízení a modulů, se před nahráním odeberou, aby se zajistila anonymní povaha telemetrie kvality modulu runtime.

Agent IoT Edge shromažďuje telemetrii každou hodinu a každých 24 hodin odesílá jednu zprávu do IoT Hubu.

Pokud se chcete z vašich zařízení odhlásit od odesílání telemetrických dat za běhu, můžete to udělat dvěma způsoby:

  • Nastavte proměnnou SendRuntimeQualityTelemetry prostředí pro false edgeAgent nebo
  • Během nasazování zrušte zaškrtnutí možnosti na webu Azure Portal.

Další kroky