Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения:
IoT Edge 1.5
Это важно
IoT Edge 1.5 LTS является поддерживаемым выпуском. IoT Edge 1.4 LTS прекращает поддержку с 12 ноября 2024 года. Если вы используете более раннюю версию, см. Update IoT Edge.
Среда выполнения IoT Edge — это набор программ, которые превращают устройство в устройство IoT Edge. Компоненты среды выполнения позволяют устройствам IoT Edge получать код для запуска на периферии и обмениваться результатами.
Среда выполнения IoT Edge отвечает за следующие функции на устройствах IoT Edge:
Установка и обновление рабочих нагрузок.
Обслуживание стандартов безопасности Azure IoT Edge.
Убедитесь, что модули IoT Edge продолжают работать.
Передавайте данные о состоянии модуля в облако для удаленного мониторинга.
Управление обменом данными между:
- Вторичные устройства и устройства IoT Edge
- Модули на устройстве IoT Edge
- Устройство IoT Edge и облако
- Устройства IoT Edge
Обязанности среды выполнения IoT Edge делятся на две категории: взаимодействие и управление модулями. Эти две роли выполняются двумя компонентами, которые являются частью среды выполнения IoT Edge. Агент IoT Edge развертывает и отслеживает модули, а центр IoT Edge отвечает за обмен данными.
Агент IoT Edge и Центр IoT Edge являются модулями, как и любой другой модуль, работающий на устройстве IoT Edge. Иногда они называются модулями среды выполнения.
Агент IoT Edge
Агент IoT Edge является одним из двух модулей в среде выполнения Azure IoT Edge. Он создает экземпляры модулей, гарантирует, что они работают и сообщает о своем состоянии в Центр Интернета вещей. Эти данные конфигурации записываются как свойство двойника модуля агента IoT Edge.
Управляющая программа безопасности IoT Edge запускает агент IoT Edge при запуске устройства. Агент извлекает двойник модуля из Центра Интернета вещей и проверяет манифест развертывания. Манифест развертывания — это JSON-файл, который объявляет модули, которые необходимо запустить.
Каждый элемент в манифесте развертывания содержит определенные сведения о модуле и используется агентом IoT Edge для управления жизненным циклом модуля. Дополнительные сведения обо всех свойствах, используемых агентом IoT Edge для управления модулями, см. в разделе "Свойства агента IoT Edge" и двойников модулей Центра IoT Edge.
Агент IoT Edge отправляет ответ рантайма в IoT Hub. Ниже приведен список возможных ответов:
- 200 – OK
- 400 — конфигурация развертывания имеет неверный формат или недействительна.
- 417 — у устройства нет заданной конфигурации развертывания.
- 412 — версия схемы в конфигурации развертывания недопустима.
- 406 — устройство IoT Edge работает в автономном режиме или не отправляет отчеты о состоянии.
- 500 — в среде выполнения IoT Edge произошла ошибка.
Дополнительные сведения о создании манифестов развертывания см. в статье о развертывании модулей и установке маршрутов в IoT Edge.
Безопасность
Агент IoT Edge играет важную роль в безопасности устройства IoT Edge. Например, он выполняет такие действия, как проверка образа модуля перед запуском.
Дополнительные сведения о платформе безопасности Azure IoT Edge см. в статье о диспетчере безопасности IoT Edge.
Центр IoT Edge
Центр IoT Edge — это другой модуль, составляющий среду выполнения Azure IoT Edge. Он действует в качестве локального прокси-сервера для Центра Интернета вещей, предоставляя те же конечные точки протокола, что и Центр Интернета вещей. Эта согласованность означает, что клиенты могут подключаться к среде выполнения IoT Edge так же, как и к Центру Интернета вещей.
Центр IoT Edge не является полной локальной версией Центра Интернета вещей. Он делегирует некоторые задачи Центру Интернета вещей. Например, Центр IoT Edge автоматически скачивает сведения о авторизации из Центра Интернета вещей на первом подключении, чтобы включить подключение устройства. После установки первого подключения данные авторизации кэшируются локально центром IoT Edge. Будущие подключения с этого устройства разрешены без необходимости скачивать данные авторизации из облака снова.
Облачное взаимодействие
Чтобы уменьшить пропускную способность, используемую решением IoT Edge, центр IoT Edge оптимизирует количество фактических подключений к облаку. Центр IoT Edge принимает логические подключения из модулей или подчиненных устройств и объединяет их для одного физического подключения к облаку. Сведения об этом процессе прозрачны для остальной части решения. Клиенты считают, что у них есть собственное подключение к облаку, хотя все они отправляются через одно и то же подключение. Центр IoT Edge может использовать протокол AMQP или MQTT для обмена данными с облаком независимо от протоколов, используемых подчиненными устройствами. Однако центр IoT Edge в настоящее время поддерживает объединение логических подключений в одно физическое соединение с помощью AMQP в качестве вышестоящего протокола и его мультиплексирования. AMQP — это протокол вышестоящей передачи по умолчанию.
Центр IoT Edge может определить, подключен ли он к Центру Интернета вещей. Если подключение потеряно, центр IoT Edge сохраняет сообщения или обновления двойников локально. После восстановления подключения он синхронизирует все данные. Расположение временного кэша определяется характеристикой модуля двойника концентратора IoT Edge. Размер кэша не ограничивается и увеличивается до тех пор, пока устройство имеет емкость хранилища. Дополнительные сведения см. в статье Возможности автономной работы.
Локальная связь
Центр IoT Edge упрощает локальную связь. Он обеспечивает обмен данными между устройствами и модулями, осуществляя брокерскую передачу сообщений, чтобы устройства и модули оставались независимыми друг от друга. Центр IoT Edge поддерживает функции маршрутизации сообщений, поддерживаемые Центром Интернета вещей.
Использование маршрутизации
Механизм брокерирования использует те же функции маршрутизации, что и Центр Интернета вещей, чтобы указать, как сообщения передаются между устройствами или модулями. Первые устройства или модули указывают входные данные, в которых они принимают сообщения и выходные данные, в которые они записывают сообщения. Затем разработчик решения может направлять сообщения между источником (например, выходными данными) и назначением (например, входными данными) с потенциальными фильтрами.
Маршрутизация может использоваться устройствами или модулями, созданными с помощью пакетов SDK для устройств Интернета вещей Azure, с помощью протокола AMQP. Все основные компоненты обмена сообщениями Центра Интернета вещей (например, телеметрия), прямые методы, C2D, близнецы поддерживаются, но взаимодействие через темы, определенные пользователем, не поддерживается.
Дополнительные сведения о маршрутах см. в статье о развертывании модулей и установке маршрутов в IoT Edge.
Доступные функции механизма брокера:
| Функции | Маршрутизация |
|---|---|
| Телеметрия D2C | ✔ |
| Локальная телеметрия | ✔ |
| DirectMethods | ✔ |
| Близнец | ✔ |
| C2D для устройств | ✔ |
| Заказ | ✔ |
| Фильтрация | ✔ |
| Определяемые пользователем разделы | |
| Межустройственное взаимодействие | |
| Локальное вещание |
Подключение к центру IoT Edge
Центр IoT Edge принимает подключения от клиентов устройств или модулей через протокол MQTT или протокол AMQP.
Замечание
Центр IoT Edge поддерживает клиенты, которые подключаются с помощью MQTT или AMQP. Он не поддерживает клиентов, использующих ПРОТОКОЛ HTTP.
Когда клиент подключается к центру IoT Edge, происходит следующее:
- Если используется протокол TLS (рекомендуется), канал TLS создается для установления зашифрованной связи между клиентом и центром IoT Edge.
- Сведения об аутентификации отправляются от клиента на IoT Edge Hub для идентификации.
- Центр IoT Edge авторизует или отклоняет подключение на основе политики авторизации.
Безопасные подключения (TLS)
По умолчанию центр IoT Edge принимает только подключения, защищенные с помощью TLS, например зашифрованные подключения, которые сторонние разработчики не могут расшифровать.
Когда клиент подключается к порту 8883 (MQTTS) или 5671 (AMQPS) к центру IoT Edge, он устанавливает канал TLS. Во время рукопожатия TLS центр IoT Edge отправляет цепочку сертификатов, которую клиент должен подтвердить. Чтобы проверить цепочку сертификатов, корневой сертификат центра IoT Edge должен быть установлен в качестве доверенного сертификата на клиенте. Если корневой сертификат не является доверенным, клиентская библиотека отклоняется центром IoT Edge с ошибкой проверки сертификата.
Шаги, которые необходимо выполнить для установки корневого сертификата брокера на клиентские устройства, описаны в документации прозрачного шлюза и подготовки нижестоящего устройства. Модули могут использовать тот же корневой сертификат, что и центр IoT Edge, с помощью API управляющей программы IoT Edge.
Аутентификация
Центр IoT Edge принимает подключения только с устройств или модулей, имеющих удостоверение Центра Интернета вещей. Например, те, которые зарегистрированы в Центре Интернета вещей и имеют один из трех методов проверки подлинности клиента, поддерживаемых Центром Интернета вещей, чтобы подтвердить свое удостоверение: аутентификация с симметричными ключами, аутентификация с самоподписанным сертификатом X.509, аутентификация с сертификатом, подписанным CA X.509. Эти удостоверения Центра Интернета вещей могут быть проверены локально центром IoT Edge, чтобы подключения по-прежнему можно было выполнять в автономном режиме.
Модули IoT Edge в настоящее время поддерживают только проверку подлинности симметричного ключа.
Авторизация
Убедившись, что клиент принадлежит своему набору доверенных клиентов, определенных в Центре Интернета вещей. Набор доверенных клиентов определяется путем настройки родительско-дочерних отношений или связей устройства-модуля в IoT Hub. При создании модуля в IoT Edge связь доверия устанавливается автоматически между этим модулем и устройством IoT Edge. Это единственная модель авторизации, поддерживаемая механизмом брокера маршрутизации.
Удаленная конфигурация
Центр IoT Edge полностью управляется облаком. Он получает свою конфигурацию из Центра Интернета вещей через двойник модуля. Двойник содержит требуемое свойство, называемое маршрутами, которое определяет, каким образом сообщения передаются в ходе развертывания. Дополнительные сведения о маршрутах см. в разделе "Объявление маршрутов".
Кроме того, можно выполнить несколько конфигураций, настроив переменные среды в Центре IoT Edge.
Данные телеметрии качества исполнения
IoT Edge собирает анонимные данные телеметрии из среды выполнения узла и системных модулей для повышения качества продукта. Эта информация называется телеметрией качества среды выполнения. Собранные данные телеметрии периодически отправляются в виде сообщений устройство-облако в IoT Hub агентом IoT Edge. Эти сообщения не отображаются в обычной телеметрии клиента и не используют квоту сообщений.
Агент IoT Edge и центр создают метрики, которые можно собирать для понимания производительности устройства. Подмножество этих метрик собирается агентом IoT Edge в рамках телеметрии качества среды выполнения. Метрики, собранные для телеметрии качества среды выполнения, помечены тегом ms_telemetry. Сведения обо всех доступных метриках см. в разделе " Встроенные метрики Access".
Все личные или организационные данные, такие как имена устройств и модулей, удаляются перед отправкой, чтобы обеспечить анонимный характер телеметрии качества среды выполнения.
Агент IoT Edge собирает данные телеметрии качества среды выполнения ежечасно и отправляет одно сообщение в IoT Hub каждые 24 часа.
Если вы хотите отказаться от отправки данных телеметрии качества среды выполнения с устройств, это можно сделать двумя способами.
- Установите переменную среды
SendRuntimeQualityTelemetryвfalseдля edgeAgent - Снимите флажок на портале Azure во время развертывания.