Создание и подготовка устройства 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.

  1. Войдите на портал Azure и перейдите к своему Центру Интернета вещей.

  2. В левой области выберите Устройства в меню, а затем выберите Добавить устройство.

  3. На странице Создание устройства введите приведенные ниже сведения:

    • Создайте описательный идентификатор устройства. Запишите этот идентификатор устройства, так как он будет использоваться позже.
    • Установите флажок IoT Edge Устройство.
    • В качестве типа проверки подлинности выберите Ключ содержимого.
    • Для автоматического создания ключей проверки подлинности и подключения нового устройства к центру используйте параметры по умолчанию.
  4. Щелкните Сохранить.

Теперь, когда у вас есть устройство, зарегистрированное в Центр Интернета вещей, получите сведения, используемые для завершения установки и подготовки среды выполнения IoT Edge.

Просмотр зарегистрированных устройств и получение сведений о подготовке

Устройствам, использующим проверку подлинности с симметричным ключом, требуются строки подключения для завершения установки и подготовки среды выполнения IoT Edge.

Устройства с поддержкой пограничных вычислений, которые подключаются к Центру Интернета вещей, перечислены на странице Устройства . Вы можете отфильтровать список по типу Устройства Iot Edge.

Снимок экрана: просмотр устройств в портал Azure Центр Интернета вещей.

Когда все будет готово к настройке устройства, вам понадобится строка подключения, которая связывает физическое устройство с его идентификатором в Центре Интернета вещей.

Для устройств, которые проходят проверку подлинности с симметричными ключами, строки подключения доступны для копирования на портале.

  1. На странице Устройства на портале выберите IoT Edge идентификатор устройства из списка.
  2. Скопируйте значение в поле Основная строка подключения или Дополнительная строка подключения.

Установка Edge Интернета вещей

В этом разделе описано, как подготовить виртуальную машину Windows или физическое устройство к IoT Edge. Затем установите IoT Edge.

Служба Azure IoT Edge использует среду выполнения контейнера, совместимую с OCI. Moby, подсистема на основе Moby, включена в скрипт установки, что означает, что для установки обработчика не требуется никаких дополнительных действий.

Чтобы установить среду выполнения IoT Edge, выполните следующие действия.

  1. Откройте сеанс PowerShell от имени администратора.

    Используйте сеанс PowerShell для AMD64, а не PowerShell (x86). Чтобы узнать, какой тип сеанса используется, выполните следующую команду:

    (Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
    
  2. Выполните команду Deploy-IoTEdge, которая выполняет следующие задачи:

    • Проверяет, установлена ли поддерживаемая версия компьютера с Windows
    • Включает функцию контейнеров
    • Скачивает подсистему moby и среду выполнения IoT Edge.
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. Перезапустите устройство, если отобразится соответствующий запрос.

Когда вы устанавливаете IoT Edge на устройство, можно указать дополнительные параметры для изменения установки, том числе сделать следующее.

  • Направить трафик через прокси-сервер.
  • Укажите установщик в локальный каталог для автономной установки.

Подробные сведения об этих дополнительных параметрах см. в статье Скрипты PowerShell для IoT Edge с контейнерами Windows.

Предоставление облачного удостоверения устройству

После установки на устройство обработчика контейнеров и среды выполнения IoT Edge все готово к следующему этапу, который заключается в настройке облачного удостоверения устройства и сведений о проверке подлинности.

  1. На устройстве IoT Edge запустите PowerShell от имени администратора.

  2. Выполните команду 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
      
  3. При появлении запроса укажите строку подключения к устройству, полученную при работе с предыдущим разделом. Строка подключения к устройству связывает физическое устройство с идентификатором устройства в Центре Интернета вещей и предоставляет сведения о проверке подлинности.

    Строка подключения к устройству имеет приведенный ниже формат и не должна содержать кавычки: 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, эти файлы можно скачать на устройство заранее. Когда придет время выполнить установку, укажите сценарию установки каталог, содержащий скачанные файлы. Установщик сначала проверит этот каталог, а затем скачает только компоненты, которые не были найдены. Если все файлы доступны в локальном каталоге, можно выполнить установку без подключения к Интернету.

  1. Сведения о последних и предыдущих версиях файлов установки IoT Edge см. в разделе Выпуски Azure IoT Edge.

  2. Найдите версию, которую вы хотите установить, и скачайте на устройство IoT приведенные ниже файлы из раздела Assets (Ресурсы) в заметках о выпуске:

    • IoTEdgeSecurityDaemon.ps1
    • Microsoft-Azure-IoTEdge-amd64.cab из канала выпусков 1.1.

    Очень важно использовать сценарий PowerShell из того же выпуска, что и выбранный CAB-файл, так как функциональные возможности у каждого выпуска разные.

  3. Если скачанный CAB-файл имеет суффикс архитектуры, переименуйте его в Microsoft-Azure-IoTEdge.cab.

  4. При необходимости скачайте установщик распространяемого пакета Visual C++. Например, сценарий PowerShell использует эту версию: vc_redist.x64.exe. Сохраните установщик на устройстве IoT в той же папке, что и файлы IoT Edge.

  5. Чтобы выполнить установку с автономными компонентами, укажите через точку локальную копию сценария PowerShell.

  6. Выполните команду 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, чтобы узнать, как развернуть модули на устройстве.