Informazioni sul supporto per gli aggiornamenti del dispositivo disconnessi (anteprima)

Il modulo Microsoft Connected Cache (MCC) per i dispositivi IoT Edge abilita le funzionalità di aggiornamento dei dispositivi su dispositivi disconnessi dietro i gateway. In uno scenario di gateway trasparente uno o più dispositivi possono passare i messaggi tramite un singolo dispositivo gateway che gestisce la connessione a hub IoT di Azure. In questi casi, i dispositivi figlio potrebbero non avere connettività Internet o non possono essere autorizzati a scaricare contenuto da Internet. Il modulo MCC fornisce l'aggiornamento del dispositivo per i clienti hub IoT con la funzionalità di una cache in rete intelligente. La cache abilita gli aggiornamenti basati su immagini e basati su pacchetti dei dispositivi basati sul sistema operativo Linux che si trovano dietro un gateway IoT Edge (chiamati anche dispositivi IoT downstream). La cache consente inoltre di ridurre la larghezza di banda usata per gli aggiornamenti.

Nota

Queste informazioni sono correlate a una funzionalità di anteprima disponibile per i test iniziali e l'uso in un ambiente di produzione. Questa funzionalità è completamente supportata, ma è ancora in fase di sviluppo attivo e può ricevere modifiche sostanziali fino a quando non diventa disponibile a livello generale.

Se non si ha familiarità con i gateway IoT Edge, vedere Come è possibile usare un dispositivo IoT Edge come gateway.

Che cos'è Microsoft Connected Cache

Microsoft Connected Cache è una cache intelligente e trasparente per il contenuto pubblicato per l'aggiornamento del dispositivo per hub IoT e può essere personalizzato per memorizzare nella cache il contenuto da altre origini, ad esempio repository di pacchetti. Microsoft Connected Cache è una cache ad accesso sporadico che viene riscaldata dalle richieste client per gli intervalli di file esatti richiesti dal client Ottimizzazione recapito e non esegue il pre-inizializzazione del contenuto. Il diagramma seguente e la descrizione dettagliata illustrano il funzionamento di Microsoft Connected Cache all'interno dell'infrastruttura di aggiornamento dei dispositivi.

Nota

Questo flusso presuppone che il gateway IoT Edge abbia connettività Internet. Per lo scenario del gateway di IoT Edge downstream (perimetrale annidato), è possibile considerare la rete di distribuzione del contenuto (CDN) ospitata nel gateway padre IoT Edge.

Diagramma che illustra come il modulo Microsoft Connected Cache abilita l'aggiornamento del dispositivo disconnesso.

  1. Microsoft Connected Cache viene distribuito come modulo IoT Edge nel server gateway locale.

  2. L'aggiornamento del dispositivo per i client hub IoT è configurato per scaricare il contenuto da Microsoft Connected Cache usando l'attributo GatewayHostName della stringa di connessione del dispositivo per i dispositivi foglia IoT o il parent_hostname impostato nel file config.toml per i dispositivi figlio IoT Edge.

  3. Aggiornamento del dispositivo per hub IoT client ricevono comandi di download dal servizio Aggiornamento dispositivi e richiedono il contenuto di aggiornamento dalla cache connessa Microsoft anziché dalla rete CDN. Microsoft Connected Cache è in ascolto sulla porta HTTP 80 per impostazione predefinita e il client Ottimizzazione recapito effettua la richiesta di contenuto sulla porta 80 in modo che l'elemento padre sia configurato per l'ascolto su questa porta. Solo il protocollo HTTP è supportato in questo momento.

  4. Il server cache connessa Microsoft scarica il contenuto dalla rete CDN, inizialia la cache locale archiviata su disco e distribuisce il contenuto al client Di aggiornamento del dispositivo.

    Nota

    Quando si usano gli aggiornamenti basati su pacchetti, il server Cache connessa Microsoft verrà configurato dall'amministratore con il nome host del pacchetto richiesto.

  5. Le richieste successive da altri client di Aggiornamento dispositivo per lo stesso contenuto di aggiornamento provengono dalla cache e Microsoft Connected Cache non effettua richieste alla rete CDN per lo stesso contenuto.

Supporto di IoT industriale (IIoT) con scenari di hosting padre/figlio

Gli scenari IoT (IIoT) industriali spesso comportano più livelli di gateway IoT Edge, con solo il livello superiore con accesso a Internet. In questo scenario, ogni gateway ospita un servizio Microsoft Connected Cache configurato per richiedere l'aggiornamento del contenuto dal gateway padre.

Quando un gateway figlio (o downstream) IoT Edge effettua una richiesta di aggiornamento del contenuto dal gateway padre, questa richiesta viene ripetuta per tutti i livelli necessari prima di raggiungere il gateway più IoT Edge che ospita un server Microsoft Connected Cache con accesso a Internet. Dal server connesso a Internet, il contenuto viene richiesto dalla rete CDN a cui il contenuto viene restituito al gateway figlio IoT Edge che ha richiesto originariamente il contenuto. Il contenuto viene archiviato su disco a ogni livello.

Richiedere l'accesso all'anteprima

Il modulo Microsoft Connected Cache IoT Edge viene rilasciato come anteprima per i clienti che distribuiscono soluzioni usando l'aggiornamento del dispositivo per hub IoT. L'accesso all'anteprima è in base all'invito. Richiedere l'accesso all'anteprima di Microsoft Connected Cache per l'aggiornamento del dispositivo per hub IoT e fornire le informazioni richieste se si vuole accedere al modulo.

Configurazione del modulo Microsoft Connected Cache

La cache connessa Microsoft viene distribuita in Azure IoT Edge gateway come modulo di IoT Edge. Come altri moduli IoT Edge, le variabili di ambiente e le opzioni di creazione del contenitore vengono usate per configurare i moduli MCC. Questa sezione definisce le variabili di ambiente e le opzioni di creazione del contenitore necessarie per distribuire correttamente il modulo MCC da usare da Device Update per hub IoT.

Non esiste alcun requisito di denominazione per il modulo Microsoft Connected Cache perché nessun altro modulo o interazioni di servizio si basa sul nome del modulo MCC per la comunicazione. Inoltre, la relazione padre-figlio dei server di Microsoft Connected Cache non dipende da questo nome del modulo, ma piuttosto dall'FQDN o dall'indirizzo IP del gateway IoT Edge.

Variabili di ambiente del modulo

Le variabili di ambiente del modulo Microsoft Connected Cache vengono usate per passare le informazioni di base sull'identità del modulo e le impostazioni del modulo funzionale al contenitore.

Nome variabile Formato del valore Descrizione
CUSTOMER_ID GUID ID sottoscrizione di Azure Necessario

Questo valore è l'ID del cliente, che fornisce l'autenticazione sicura del nodo cache ai servizi di ottimizzazione recapito.
CACHE_NODE_ID GUID ID nodo cache Necessario

Identifica in modo univoco il nodo MCC ai servizi di ottimizzazione recapito.
CUSTOMER_KEY GUID chiave cliente Necessario

Questo valore è la chiave del cliente, che fornisce l'autenticazione sicura del nodo cache ai servizi di ottimizzazione recapito.
STORAGE_N_SIZE_GB (Dove N è l'unità cache) Integer Necessario

Specificare fino a nove unità per memorizzare nella cache il contenuto e specificare lo spazio massimo in gigabyte da allocare per il contenuto in ogni unità della cache. Il numero dell'unità deve corrispondere ai valori di associazione dell'unità cache specificati nell'opzione di creazione del contenitore MicrosoftConnectedCacheN valore.

Esempi:
STORAGE_1_SIZE_GB = 150
STORAGE_2_SIZE_GB = 50

Dimensioni minime della cache sono 10 GB.
UPSTREAM_HOST FQDN/IP Facoltativo

Questo valore può specificare un nodo MCC upstream che funge da proxy se il nodo Cache connessa viene disconnesso da Internet. Questa impostazione viene usata per supportare lo scenario IoT annidato.

Nota: MCC è in ascolto sulla porta predefinita http 80.
UPSTREAM_PROXY FQDN/IP:PORT Facoltativo

Proxy Internet in uscita. Questo valore potrebbe anche essere il proxy DMZ OT di una rete ISA 95.
CACHEABLE_CUSTOM_N_HOST HOST/IP
Nome di dominio completo
Facoltativo

Obbligatorio per supportare repository di pacchetti personalizzati. I repository possono essere ospitati localmente o su Internet. Non è previsto alcun limite al numero di host personalizzati che possono essere configurati.

Esempi:
Name = CACHEABLE_CUSTOM_1_HOST Value = packages.foo.com
Name = CACHEABLE_CUSTOM_2_HOST Value = packages.bar.com
CACHEABLE_CUSTOM_N_CANONICAL Alias Facoltativo

Obbligatorio per supportare repository di pacchetti personalizzati. Questo valore può essere usato come alias e verrà usato dal server della cache per fare riferimento a nomi DNS diversi. Ad esempio, il nome host del contenuto del repository può essere packages.foo.com, ma per aree diverse potrebbe essere presente un prefisso aggiuntivo aggiunto al nome host, ad esempio westuscdn.packages.foo.com e eastuscdn.packages.foo.com. Impostando l'alias canonico, assicurarsi che il contenuto non sia duplicato per il contenuto proveniente dallo stesso host, ma da origini CDN diverse. Il formato del valore canonico non è importante, ma deve essere univoco per l'host. Può essere più semplice impostare il valore per corrispondere al valore host.

Esempi basati sugli esempi di host personalizzati precedenti:
Name = CACHEABLE_CUSTOM_1_CANONICAL Value = foopackages
Name = CACHEABLE_CUSTOM_2_CANONICAL Value = packages.bar.com
IS_SUMMARY_PUBLIC true o false Facoltativo

Consente di visualizzare il report di riepilogo nella rete locale o internet. Per visualizzare il report di riepilogo se impostato su true, è necessario usare una chiave API (descritta in un secondo momento).
IS_SUMMARY_ACCESS_UNRESTRICTED true o false Facoltativo

Consente di visualizzare il report di riepilogo nella rete locale o internet senza usare la chiave API da qualsiasi dispositivo nella rete. Usare se non si vuole bloccare l'accesso alla visualizzazione dei dati di riepilogo del server della cache tramite il browser.

Opzioni di creazione del contenitore di moduli

Le opzioni di creazione del contenitore forniscono il controllo delle impostazioni correlate all'archiviazione e alle porte usate dal modulo Microsoft Connected Cache.

Opzioni di creazione di contenitori di esempio:

{
    "HostConfig": {
        "Binds": [
            "/microsoftConnectedCache1/:/nginx/cache1/"
        ],
        "PortBindings": {
            "8081/tcp": [
                {
                    "HostPort": "80"
                }
            ],
            "5000/tcp": [
                {
                    "HostPort": "5100"
                }
            ]
        }
    }
}

Le sezioni seguenti elencano le variabili di creazione del contenitore necessarie usate per distribuire il modulo MCC.

HostConfig

I HostConfig parametri sono necessari per eseguire il mapping del percorso di archiviazione del contenitore al percorso di archiviazione sul disco. È possibile specificare fino a nove posizioni.

Nota

Il numero dell'unità deve corrispondere ai valori di associazione dell'unità cache specificati nella variabile di ambiente STORAGE_N_SIZE_GB valore , /MicrosoftConnectedCache*N*/:/nginx/cache*N*/.

PortBindings

I PortBindings parametri mappano le porte del contenitore alle porte nel dispositivo host.

Il primo binding di porte specifica la porta HTTP del computer esterno su cui MCC è in ascolto per le richieste di contenuto. L'hostPort predefinito è la porta 80 e altre porte non sono supportate in questo momento perché il client ADU effettua le richieste sulla porta 80. La porta TCP 8081 è la porta contenitore interna in ascolto e non può essere modificata.

Il secondo binding di porte garantisce che il contenitore non sia in ascolto sulla porta host 5000. Il modulo Microsoft Connected Cache ha un servizio .NET Core, usato dal motore di memorizzazione nella cache per varie funzioni. Per supportare il bordo annidato, hostPort non deve essere impostato su 5000 perché il modulo proxy del Registro di sistema è già in ascolto sulla porta host 5000.

Report di riepilogo di Microsoft Connected Cache

Il report di riepilogo è attualmente l'unico modo per un cliente di visualizzare i dati di memorizzazione nella cache per le istanze di Microsoft Connected Cache distribuite nei gateway IoT Edge. Il report viene generato a intervalli di 15 secondi e include statistiche medie per il periodo e le statistiche aggregate per la durata del modulo. Le statistiche chiave fornite dal report sono:

  • hitBytes : somma di byte recapitati direttamente dalla cache.
  • missBytes : la somma di byte recapitata da Microsoft Connected Cache deve essere scaricata dalla rete CDN per visualizzare la cache.
  • eggressBytes - Somma di hitBytes e missByte ed è il totale dei byte recapitati ai client.
  • hitRatioBytes : rapporto tra hitBytes e egressByte. Ad esempio, se il 100% di eggresByte recapitati in un periodo erano uguali ai hitByte, questo valore sarebbe 1.

Il report di riepilogo è disponibile in http://<IoT Edge gateway>:5001/summary Sostituisci <gateway IoT Edge con l'indirizzo IP o il nome host del gateway IoT Edge> che ospita il modulo MCC.

Passaggi successivi

Informazioni su come implementare Microsoft Connected Cache in gateway singoli o gateway IoT industriali e annidati.