Condividi tramite


Creare e effettuare il provisioning di un IoT Edge per Linux nel dispositivo Windows usando chiavi simmetriche

Si applicaall'icona:sì IoT Edge 1.1

Importante

IoT Edge 1,1 data di fine del supporto è stata il 13 dicembre 2022. Controlla il ciclo di vita dei prodotti Microsoft per ottenere informazioni sul modo in cui viene supportato questo prodotto, servizio, tecnologia o API. Per altre informazioni sull'aggiornamento alla versione più recente di IoT Edge, vedere Aggiornare IoT Edge.

Questo articolo fornisce istruzioni end-to-end per la registrazione e il provisioning di un IoT Edge per Linux nel dispositivo Windows.

Ogni dispositivo che si connette a un hub IoT ha un ID dispositivo usato per tenere traccia delle comunicazioni da cloud a dispositivo o da dispositivo a cloud. Si configura un dispositivo con le relative informazioni di connessione, che include il nome host dell'hub IoT, l'ID dispositivo e le informazioni usate dal dispositivo per eseguire l'autenticazione in hub IoT.

I passaggi descritti in questo articolo illustrano un processo denominato provisioning manuale, in cui si connette un singolo dispositivo all'hub IoT. Per il provisioning manuale, sono disponibili due opzioni per l'autenticazione dei dispositivi IoT Edge:

  • Chiavi simmetriche: quando si crea una nuova identità del dispositivo in hub IoT, il servizio crea due chiavi. Si inserisce una delle chiavi nel dispositivo e presenta la chiave per hub IoT durante l'autenticazione.

    Questo metodo di autenticazione è più veloce per iniziare, ma non come sicuro.

  • X.509 autofirmato: si creano due certificati di identità X.509 e li inseriscono nel dispositivo. Quando si crea una nuova identità del dispositivo in hub IoT, si forniscono identificazioni personali da entrambi i certificati. Quando il dispositivo esegue l'autenticazione a hub IoT, presenta un certificato e hub IoT verifica che il certificato corrisponda all'identificazione personale.

    Questo metodo di autenticazione è più sicuro e consigliato per gli scenari di produzione.

Questo articolo illustra l'uso di chiavi simmetriche come metodo di autenticazione. Per usare i certificati X.509, vedere Creare e effettuare il provisioning di un IoT Edge per Linux nel dispositivo Windows usando certificati X.509.

Nota

Se si dispone di molti dispositivi per configurare e non si vuole effettuare manualmente il provisioning di ognuno di essi, usare uno degli articoli seguenti per informazioni su come IoT Edge funziona con il servizio di provisioning dei dispositivi hub IoT:

Prerequisiti

Questo articolo illustra la registrazione del dispositivo IoT Edge e l'installazione di IoT Edge per Linux in Windows. Queste attività hanno prerequisiti e utilità diversi usati per eseguirli. Assicurarsi di disporre di tutti i prerequisiti coperti prima di procedere.

Strumenti di gestione dei dispositivi

È possibile usare l'portale di Azure, Visual Studio Code o l'interfaccia della riga di comando di Azure per la procedura per registrare il dispositivo. Ogni utilità ha i propri prerequisiti:

Un hub IoT gratuito o standard nella sottoscrizione di Azure.

Requisiti dei dispositivi

Un dispositivo Windows con i requisiti minimi seguenti:

  • Requisiti di sistema

    • Windows 10 1/11 (Pro, Enterprise, IoT Enterprise)
    • Windows Server 20191/2022
      1 Windows 10 e Windows Server 2019 build minima 17763 con tutti gli aggiornamenti cumulativi correnti installati.
  • Requisiti hardware

    • Memoria minima gratuita: 1 GB
    • Spazio su disco minimo: 10 GB
  • Supporto per la virtualizzazione

  • Supporto per la rete

    • Windows Server non è disponibile con un commutatore predefinito. Prima di poter distribuire EFLOW in un dispositivo Windows Server, è necessario creare un commutatore virtuale. Per altre informazioni, vedere Creare un commutatore virtuale per Linux in Windows.
    • Le versioni di Windows Desktop sono disponibili con un commutatore predefinito che può essere usato per l'installazione di EFLOW. Se necessario, è possibile creare un commutatore virtuale personalizzato.

Suggerimento

Se si desidera usare moduli Linux con accelerazione GPU nella distribuzione di Azure IoT Edge per Linux in Windows, sono disponibili diverse opzioni di configurazione da considerare.

È necessario installare i driver corretti a seconda dell'architettura della GPU e potrebbe essere necessario accedere a una compilazione di Windows Insider Program. Per determinare le esigenze di configurazione e soddisfare questi prerequisiti, vedere Accelerazione GPU per Azure IoT Edge per Linux in Windows.

Assicurarsi di richiedere il tempo necessario per soddisfare i prerequisiti per l'accelerazione GPU. È necessario riavviare il processo di installazione se si decide di voler accelerare la GPU durante l'installazione.

Strumenti per sviluppatori

È possibile usare PowerShell o Windows Admin Center per gestire i dispositivi IoT Edge. Ogni utilità ha i propri prerequisiti:

Se si vuole usare PowerShell, seguire questa procedura per preparare il dispositivo di destinazione per l'installazione di Azure IoT Edge per Linux in Windows e la distribuzione della macchina virtuale Linux:

  1. Impostare i criteri di esecuzione nel dispositivo di destinazione su AllSigned. È possibile controllare i criteri di esecuzione correnti in un prompt di PowerShell con privilegi elevati usando il comando seguente:

    Get-ExecutionPolicy -List
    

    Se il criterio di esecuzione di non AllSignedè , è possibile impostare i criteri di local machine esecuzione usando:

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    

Per altre informazioni sul modulo azure IoT Edge per Linux in Windows PowerShell, vedere il riferimento alle funzioni di PowerShell.

Registrazione del dispositivo

È possibile usare il portale di Azure, Visual Studio Code o l'interfaccia della riga di comando di Azure per registrare il dispositivo, a seconda delle preferenze.

Nell'hub IoT nell'portale di Azure, i dispositivi IoT Edge vengono creati e gestiti separatamente dai dispositivi IoT non abilitati per dispositivi perimetrali.

  1. Accedere al portale di Azure e passare all'hub IoT.

  2. Nel riquadro sinistro selezionare Dispositivi dal menu, quindi selezionare Aggiungi dispositivo.

  3. Nella pagina Crea un dispositivo specificare le informazioni seguenti:

    • Creare un ID dispositivo descrittivo. Prendere nota di questo ID dispositivo, perché verrà usato in un secondo momento.
    • Selezionare la casella di controllo IoT Edge Dispositivo.
    • Selezionare Chiave simmetrica come tipo di autenticazione.
    • Usare le impostazioni predefinite per la generazione automatica delle chiavi di autenticazione e la connessione del nuovo dispositivo all'hub.
  4. Selezionare Salva.

Dopo aver registrato un dispositivo in hub IoT, recuperare le informazioni usate per completare l'installazione e il provisioning del runtime di IoT Edge.

Visualizzare i dispositivi registrati e recuperare le informazioni di provisioning

I dispositivi che usano l'autenticazione con chiave simmetrica necessitano delle stringhe di connessione per completare l'installazione e il provisioning del runtime di IoT Edge.

I dispositivi abilitati per dispositivi perimetrali che si connettono all'hub IoT sono elencati nella pagina Dispositivi . È possibile filtrare l'elenco in base al tipo Dispositivo Iot Edge.

Screenshot di come visualizzare i dispositivi nel portale di Azure hub IoT.

Quando si è pronti per configurare il dispositivo, è necessaria la stringa di connessione che collega il dispositivo fisico alla relativa identità nell'hub IoT.

I dispositivi che eseguono l'autenticazione con chiavi simmetriche hanno le stringhe di connessione disponibili per la copia nel portale.

  1. Nella pagina Dispositivi del portale selezionare l'ID dispositivo IoT Edge nell'elenco.
  2. Copiare il valore Stringa di connessione primaria o Stringa di connessione secondaria.

Installare IoT Edge

Distribuire Azure IoT Edge per Linux in Windows nel dispositivo di destinazione.

Installare IoT Edge per Linux in Windows nel dispositivo di destinazione.

Nota

Il processo di PowerShell seguente illustra come distribuire IoT Edge per Linux in Windows nel dispositivo locale. Per eseguire la distribuzione in un dispositivo di destinazione remota tramite PowerShell, è possibile usare Remote PowerShell per stabilire una connessione a un dispositivo remoto ed eseguire questi comandi in remoto in tale dispositivo.

  1. In una sessione di PowerShell con privilegi elevati eseguire ognuno dei comandi seguenti per scaricare IoT Edge per Linux in Windows.

    $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
    $ProgressPreference = 'SilentlyContinue'
    Invoke-WebRequest "https://aka.ms/AzEflowMSI" -OutFile $msiPath
    
  2. Installare IoT Edge per Linux in Windows nel dispositivo.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
    

    È possibile specificare IoT Edge personalizzate per Linux per l'installazione e le directory VHDX di Windows aggiungendo INSTALLDIR="<FULLY_QUALIFIED_PATH>" parametri e VHDXDIR="<FULLY_QUALIFIED_PATH>" al comando di installazione. Ad esempio, se si vuole usare la cartella D:\EFLOW per l'installazione e D:\EFLOW-VHDX per VHDX, è possibile usare il cmdlet di PowerShell seguente.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn","INSTALLDIR=D:\EFLOW", "VHDXDIR=D:\EFLOW-VHDX"
    
  3. Impostare i criteri di esecuzione nel dispositivo di destinazione su AllSigned se non è già presente. Vedere i prerequisiti di PowerShell per i comandi per controllare i criteri di esecuzione correnti e impostare i criteri di esecuzione su AllSigned.

  4. Creare il IoT Edge per la distribuzione di Linux in Windows. La distribuzione crea la macchina virtuale Linux e installa automaticamente il runtime di IoT Edge.

    Deploy-Eflow
    

    Suggerimento

    Per impostazione predefinita, il Deploy-Eflow comando crea la macchina virtuale Linux con 1 GB di RAM, 1 core vCPU e 16 GB di spazio su disco. Tuttavia, le risorse necessarie per la macchina virtuale dipendono in modo elevato dai carichi di lavoro distribuiti. Se la macchina virtuale non dispone di memoria sufficiente per supportare i carichi di lavoro, l'avvio non riuscirà.

    È possibile personalizzare le risorse disponibili della macchina virtuale usando i Deploy-Eflow parametri facoltativi del comando.

    Ad esempio, il comando seguente crea una macchina virtuale con 4 core vCPU, 4 GB di RAM (rappresentati in MB) e 20 GB di spazio su disco:

    Deploy-Eflow -cpuCount 4 -memoryInMB 4096 -vmDiskSize 20
    

    Per informazioni su tutti i parametri facoltativi disponibili, vedere Funzioni di PowerShell per IoT Edge per Linux in Windows.

    Avviso

    Per impostazione predefinita, la macchina virtuale EFLOW Linux non ha alcuna configurazione DNS. Le distribuzioni che usano DHCP tenteranno di ottenere la configurazione DNS propagata dal server DHCP. Controllare la configurazione DNS per garantire la connettività Internet. Per altre informazioni, vedere AzEFLOW-DNS.

    È possibile assegnare una GPU alla distribuzione per abilitare moduli Linux accelerati dalla GPU. Per ottenere l'accesso a queste funzionalità, è necessario installare i prerequisiti dettagliati nell'accelerazione GPU per Azure IoT Edge per Linux in Windows.

    Per usare un pass-through GPU, aggiungere i parametri gpuName, gpuPass throughType e gpuCount al Deploy-Eflow comando. Per informazioni su tutti i parametri facoltativi disponibili, vedere Funzioni di PowerShell per IoT Edge per Linux in Windows.

    Avviso

    L'abilitazione del pass-through del dispositivo hardware può aumentare i rischi di sicurezza. Microsoft consiglia un driver di mitigazione dei dispositivi dal fornitore della GPU, se applicabile. Per altre informazioni, vedere Distribuire dispositivi grafici usando l'assegnazione di dispositivi discreti.

  5. Immettere 'Y' per accettare le condizioni di licenza.

  6. Immettere 'O' o 'R' per attivare o disattivare i dati di diagnostica facoltativi , a seconda delle preferenze.

  7. Al termine della distribuzione, la finestra di PowerShell segnala l'esito positivo della distribuzione.

    Una distribuzione riuscita dirà

    Dopo una distribuzione riuscita, è possibile effettuare il provisioning del dispositivo.

Effettuare il provisioning del dispositivo con la relativa identità cloud

È possibile configurare il dispositivo con le relative informazioni di identità e autenticazione cloud.

Per effettuare il provisioning del dispositivo usando chiavi simmetriche, sarà necessaria la stringa di connessione del dispositivo.

È possibile usare la Windows Admin Center o una sessione di PowerShell con privilegi elevati per effettuare il provisioning dei dispositivi.

Eseguire il comando seguente in una sessione di PowerShell con privilegi elevati nel dispositivo di destinazione. Sostituire il testo segnaposto con i propri valori.

Provision-EflowVm -provisioningType ManualConnectionString -devConnString "PASTE_DEVICE_CONNECTION_STRING_HERE"

Per altre informazioni sul Provision-EflowVM comando, vedere Funzioni di PowerShell per IoT Edge per Linux in Windows.

Verificare la corretta configurazione

Verificare che IoT Edge per Linux in Windows sia stato installato e configurato correttamente nel dispositivo IoT Edge.

  1. Accedere alla IoT Edge per Linux nella macchina virtuale Windows usando il comando seguente nella sessione di PowerShell:

    Connect-EflowVm
    

    Nota

    L'unico account consentito a SSH nella macchina virtuale è l'utente che l'ha creata.

  2. Dopo aver eseguito l'accesso, è possibile controllare l'elenco dei moduli IoT Edge in esecuzione usando il comando Linux seguente:

    sudo iotedge list
    
  3. Se è necessario risolvere i problemi del servizio IoT Edge, usare i comandi Linux seguenti.

    1. Recuperare i log del servizio.

      sudo journalctl -u iotedge
      
    2. Usare lo check strumento per verificare lo stato di configurazione e connessione del dispositivo.

      sudo iotedge check
      

    Nota

    In un dispositivo di cui è stato appena effettuato il provisioning, è possibile che venga visualizzato un errore correlato a IoT Edge Hub:

    × conformità alla produzione: la directory di archiviazione dell'hub Edge è persistente nel file system host - Errore

    Impossibile controllare lo stato corrente del contenitore edgeHub

    Questo errore è previsto in un dispositivo di cui è stato appena effettuato il provisioning perché il modulo IoT Edge Hub non è in esecuzione. Per risolvere l'errore, in hub IoT impostare i moduli per il dispositivo e creare una distribuzione. La creazione di una distribuzione per il dispositivo avvia i moduli nel dispositivo, incluso il modulo IoT Edge Hub.

Quando si crea un nuovo dispositivo IoT Edge, il codice 417 -- The device's deployment configuration is not set di stato verrà visualizzato nel portale di Azure. Questo stato è normale e significa che il dispositivo è pronto per ricevere una distribuzione del modulo.

Disinstallare IoT Edge per Linux in Windows

Se si vuole rimuovere l'installazione di Azure IoT Edge per Linux in Windows dal dispositivo, usare i comandi seguenti.

  1. Apri impostazioni in Windows
  2. Selezionare Installazione applicazioni
  3. Selezionare l'app Azure IoT Edge LTS
  4. Selezionare Disinstalla

Passaggi successivi