Создание и подготовка устройства IoT Edge в Windows с помощью симметричного ключа
Область применения: IoT Edge 1.1
Внимание
Дата окончания поддержки IoT Edge 1.1 была 13 декабря 2022 г. Чтобы получить сведения о поддержке определенного продукта, службы, технологии или API, перейдите на страницу Политика жизненного цикла поддержки Майкрософт. Дополнительные сведения об обновлении до последней версии IoT Edge см. в разделе "Обновление IoT Edge".
В этой статье приведены комплексные инструкции по регистрации и подготовке устройства Windows IoT Edge.
Примечание.
Поддержка Azure IoT Edge с контейнерами Windows будет прекращена начиная с Azure IoT Edge версии 1.2.
Рекомендуется использовать новый метод для запуска IoT Edge на устройствах Windows, Azure IoT Edge для Linux в Windows.
Если вы хотите использовать Azure IoT Edge для Linux в Windows, выполните действия, описанные в аналогичном руководстве.
Каждое устройство, которое подключается к Центру Интернета вещей, имеет идентификатор устройства, который используется для отслеживания передачи данных из облака на устройство и с устройства в облако. Вы настраиваете устройство, используя сведения о его подключении, включая имя узла Центра Интернета вещей, идентификатор устройства и сведения, используемые устройством для проверки подлинности в Центре Интернета вещей.
Действия, описанные в этой статье, посвящены процессу, который называется подготовкой вручную, в ходе которого вы подключаете одно устройство к Центру Интернета вещей. Для подготовки вручную можно использовать два варианта проверки подлинности устройств IoT Edge:
Симметричные ключи. При создании удостоверения устройства в Центр Интернета вещей служба создает два ключа. Вы помещаете один ключ на устройство и предоставляете ключ Центру Интернета вещей при проверке подлинности.
Этот метод проверки подлинности быстрее настроить, но он не такой безопасный.
Самозаверяющий сертификат X.509. Вы создаете два сертификата удостоверения X.509 и размещаете их на устройстве. При создании нового удостоверения устройства в Центре Интернета вещей вы предоставляете отпечатки обоих сертификатов. Когда устройство проходит проверку подлинности в Центре Интернета вещей, оно предоставляет один сертификат, и Центр Интернета вещей проверяет, соответствует ли сертификат своему отпечатку.
Этот метод проверки подлинности является более безопасным и рекомендуется для рабочих сценариев.
В этой статье рассматриваются использование симметричные ключи в качестве метода проверки подлинности. Если вы хотите использовать сертификаты X.509, см. статью "Создание и подготовка устройства IoT Edge в Windows с помощью сертификатов X.509".
Примечание.
Если у вас есть много устройств для настройки и не требуется вручную подготовить каждую из них, используйте одну из следующих статей, чтобы узнать, как IoT Edge работает с службой подготовки устройств Центр Интернета вещей:
Необходимые компоненты
В этой статье описывается регистрация устройства IoT Edge и установка IoT Edge на нем. Эти задачи имеют различные предварительные требования и служебные программы, используемые для их выполнения. Перед продолжением убедитесь, что у вас есть все предварительные требования.
Средства управления устройствами
Для регистрации устройства можно использовать портал Azure, Visual Studio Code или Azure CLI. Каждая программа имеет собственные предварительные требования:
Центр Интернета вещей (бесплатно или уровня "Стандартный") в подписке Azure.
Требования к устройствам
Устройство с Windows.
Для использования IoT Edge с контейнерами Windows нужна ОС Windows версии 1809 (сборка 17763), которая является последней сборкой Windows с долгосрочной поддержкой. Не забудьте просмотреть перечень поддерживаемых номеров SKU в списке поддерживаемых систем.
Обратите внимание, что версии Windows в контейнере и узле должны соответствовать. Дополнительные сведения см. в разделе "Не удалось запустить модуль из-за несоответствия ОС".
Зарегистрировать устройство
Вы можете использовать портал Azure, Visual Studio Code или Azure CLI для регистрации устройства в зависимости от вашего предпочтения.
В Центре Интернета вещей на портале Azure устройства IoT Edge создаются и администрируются независимо от других устройств Интернета вещей, не поддерживающих IoT Edge.
Войдите на портал Azure и перейдите к своему Центру Интернета вещей.
В левой области выберите "Устройства " в меню, а затем выберите " Добавить устройство".
На странице Создание устройства введите приведенные ниже сведения:
- Создайте описательный идентификатор устройства. Запишите этот идентификатор устройства, так как вы будете использовать его позже.
- Установите флажок устройства IoT Edge.
- В качестве типа проверки подлинности выберите Ключ содержимого.
- Для автоматического создания ключей проверки подлинности и подключения нового устройства к центру используйте параметры по умолчанию.
Выберите Сохранить.
Теперь, когда устройство зарегистрировано в Центр Интернета вещей, получите сведения, используемые для завершения установки и подготовки среды выполнения IoT Edge.
Просмотр зарегистрированных устройств и получение сведений о подготовке
Устройствам, использующим проверку подлинности с симметричным ключом, требуются строки подключения для завершения установки и подготовки среды выполнения IoT Edge.
На странице "Устройства", подключенные к центру Интернета вещей, отображаются устройства с поддержкой пограничных устройств . Список можно отфильтровать по типу Iot Edge Device.
Когда все будет готово к настройке устройства, вам понадобится строка подключения, которая связывает физическое устройство с его идентификатором в Центре Интернета вещей.
Для устройств, которые проходят проверку подлинности с симметричными ключами, строки подключения доступны для копирования на портале.
- На странице "Устройства" на портале выберите идентификатор устройства IoT Edge из списка.
- Скопируйте значение в поле Основная строка подключения или Дополнительная строка подключения.
Установка Edge Интернета вещей
В этом разделе описана подготовка виртуальной машины Windows или физического устройства для IoT Edge. Затем установите IoT Edge.
Служба Azure IoT Edge использует среду выполнения контейнера, совместимую с OCI. Модуль на основе Moby включается в скрипт установки, что означает, что для установки двигателя нет дополнительных действий.
Чтобы установить среду выполнения IoT Edge, выполните следующие действия.
Запустите PowerShell с правами администратора.
Используйте сеанс PowerShell для AMD64, а не PowerShell (x86). Чтобы узнать, какой тип сеанса используется, выполните следующую команду:
(Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
Выполните команду Deploy-IoTEdge, которая выполняет следующие задачи:
- Проверяет, находится ли компьютер с Windows в поддерживаемой версии
- Включение функции контейнеров
- Скачивает подсистему moby и среду выполнения IoT Edge
. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; ` Deploy-IoTEdge
Перезапустите устройство, если отобразится соответствующий запрос.
Когда вы устанавливаете IoT Edge на устройство, можно указать дополнительные параметры для изменения установки, том числе сделать следующее.
- Направить трафик через прокси-сервер.
- Указание установщика локальному каталогу для автономной установки
Подробные сведения об этих дополнительных параметрах см. в статье Скрипты PowerShell для IoT Edge с контейнерами Windows.
Предоставление облачного удостоверения устройству
После установки на устройство обработчика контейнеров и среды выполнения IoT Edge все готово к следующему этапу, который заключается в настройке облачного удостоверения устройства и сведений о проверке подлинности.
На устройстве IoT Edge запустите PowerShell от имени администратора.
Выполните команду Initialize-IoTEdge, которая настраивает среду выполнения IoT Edge на вашем компьютере. По умолчанию при выполнении команды применяется подготовка вручную с помощью контейнеров Windows.
. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; ` Initialize-IoTEdge -ManualConnectionString -ContainerOs Windows
Если вы скачали сценарий IoTEdgeSecurityDaemon.ps1 на устройство для автономной установки или установки определенной версии, обязательно укажите локальную копию сценария.
. <path>/IoTEdgeSecurityDaemon.ps1 Initialize-IoTEdge -ManualConnectionString -ContainerOs Windows
При появлении запроса укажите строку подключения к устройству, полученную при работе с предыдущим разделом. Строка подключения к устройству связывает физическое устройство с идентификатором устройства в Центре Интернета вещей и предоставляет сведения о проверке подлинности.
Строка подключения к устройству имеет приведенный ниже формат и не должна содержать кавычки:
HostName={IoT_hub_name}.azure-devices.net;DeviceId={device_name};SharedAccessKey={key}
Когда вы подготавливаете устройство вручную, можно указать дополнительные параметры, чтобы изменить процесс. Эти параметры позволяют сделать следующее.
- Направить трафик через прокси-сервер.
- Объявить определенный образ контейнера edgeAgent и указать учетные данные, если он находится в частном реестре.
Подробные сведения об этих дополнительных параметрах см. в статье Скрипты PowerShell для IoT Edge с контейнерами Windows.
Проверка успешной настройки
Убедитесь, что среда выполнения успешно установлена и настроена на устройстве IoT Edge.
Проверьте состояние службы IoT Edge.
Get-Service iotedge
Проверьте журналы службы.
. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog
Просмотрите список запущенных модулей.
iotedge list
Автономная установка или установка определенной версии (необязательно)
Действия, описанные в этом разделе, предназначены для сценариев, не охваченных стандартными шагами по установке. К ним могут относиться:
- Установка IoT Edge в автономном режиме
- Установка версии релиз-кандидата
- Установка версии, отличной от последней.
Во время установки скачиваются три файла:
- сценарий PowerShell, содержащий инструкции по установке;
- CAB-файл Microsoft Azure IoT Edge, содержащий управляющую программу безопасности IoT Edge (iotedged), подсистему контейнеров Moby и интерфейс командной строки Moby CLI;
- установщик распространяемого пакета Visual C++ (среда выполнения VC).
Если ваше устройство будет отключено от сети во время установки или вы хотите установить определенную версию IoT Edge, эти файлы можно скачать на устройство заранее. Когда придет время выполнить установку, укажите сценарию установки каталог, содержащий скачанные файлы. Установщик сначала проверит этот каталог, а затем скачает только компоненты, которые не были найдены. Если все файлы доступны в локальном каталоге, можно выполнить установку без подключения к Интернету.
Сведения о последних и предыдущих версиях файлов установки IoT Edge см. в разделе Выпуски Azure IoT Edge.
Найдите версию, которую вы хотите установить, и скачайте на устройство IoT приведенные ниже файлы из раздела Assets (Ресурсы) в заметках о выпуске:
- IoTEdgeSecurityDaemon.ps1
- Microsoft-Azure-IoTEdge-amd64.cab из канала выпусков 1.1.
Очень важно использовать сценарий PowerShell из того же выпуска, что и выбранный CAB-файл, так как функциональные возможности у каждого выпуска разные.
Если скачанный CAB-файл имеет суффикс архитектуры, переименуйте его в Microsoft-Azure-IoTEdge.cab.
При необходимости скачайте установщик распространяемого пакета Visual C++. Например, сценарий PowerShell использует эту версию: vc_redist.x64.exe. Сохраните установщик на устройстве IoT в той же папке, что и файлы IoT Edge.
Чтобы выполнить установку с автономными компонентами, укажите через точку локальную копию сценария PowerShell.
Выполните команду Deploy-IoTEdge с параметром
-OfflineInstallationPath
. Укажите абсолютный путь к каталогу файлов. Например,. path_to_powershell_module_here\IoTEdgeSecurityDaemon.ps1 Deploy-IoTEdge -OfflineInstallationPath path_to_file_directory_here
Команда развертывания будет использовать все компоненты, найденные в указанном локальном каталоге файлов. Если CAB-файл или установщик Visual C++ отсутствуют, будет выполнена попытка скачать их.
Удаление IoT Edge
Если вы хотите удалить установленный экземпляр IoT Edge с устройства Windows, используйте команду Uninstall-IoTEdge в окне PowerShell с правами администратора. Эта команда удаляет среду выполнения IoT Edge вместе с существующей конфигурацией и данными подсистемы Moby.
. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; `
Uninstall-IoTEdge
Для получения дополнительных сведений о параметрах удаления используйте команду Get-Help Uninstall-IoTEdge -full
.
Следующие шаги
Продолжайте развертывать модули IoT Edge, чтобы узнать, как развернуть модули на устройстве.