Partager via


Comprendre la prise en charge des mises à jour des appareils déconnectés (préversion)

Le module Cache connecté Microsoft (MCC) pour les appareils IoT Edge active les capacités de Device Update pour les appareils déconnectés derrière les passerelles. Dans un scénario de passerelle transparente, un ou plusieurs appareils peuvent transmettre leurs messages via un appareil de passerelle qui gère la connexion à Azure IoT Hub. Dans ce cas, les appareils enfants peuvent ne pas disposer d’une connexion Internet ou ne pas être autorisés à télécharger du contenu à partir d’Internet. Le module MCC fournit aux clients Device Update pour IoT Hub les capacités d’un cache réseau intelligent. Le cache permet des mises à jour basées sur des images et des packages d’appareils Linux basés sur le système d’exploitation qui sont derrière une passerelle IoT Edge (également appelés appareils IoT en aval). Le cache permet également de réduire la bande passante utilisée pour les mises à jour.

Notes

Ces informations concernent une fonctionnalité d’aperçu disponible pour les tests précoces et l’utilisation dans un environnement de production. Cette fonctionnalité est entièrement prise en charge, mais elle est toujours en développement actif et peut recevoir des modifications substantielles jusqu’à ce qu’elle devienne généralement disponible.

Si vous n’êtes pas familiarisé avec les passerelles IoT Edge, apprenez-en davantage sur l’utilisation d’un appareil IoT Edge comme passerelle.

Qu-est ce que le Cache connecté Microsoft

Le cache connecté Microsoft est un cache transparent intelligent pour le contenu publié pour le service Device Update pour IoT Hub et peut être personnalisé afin de mettre en cache du contenu provenant d’autres sources telles que les dépôts de packages. Le cache connecté Microsoft est un cache à froid qui est chauffé par les demandes des clients pour les plages de fichiers exactes demandées par le client d’optimisation de la distribution et qui ne prédéfinit pas le contenu. Le diagramme suivant et la description pas à pas expliquent comment fonctionne le cache connecté Microsoft dans l’infrastructure du service Device Update.

Notes

Ce flux suppose que la passerelle IoT Edge dispose d’une connectivité Internet. Pour le scénario de passerelle IoT Edge en aval (périphérie imbriquée), le « réseau de distribution de contenu » (CDN) peut être considéré comme le cache connecté Microsoft hébergé sur la passerelle IoT Edge parente.

Diagramme montrant comment le module Microsoft Connected Cache active la mise à jour d’appareil déconnecté.

  1. Le cache connecté Microsoft est déployé en tant que module IoT Edge sur le serveur passerelle local.

  2. Les clients utilisant le service Device Update pour IoT Hub sont configurés pour télécharger le contenu à partir du cache connecté Microsoft en utilisant l’attribut GatewayHostName de la chaîne de connexion de l’appareil pour les appareils de nœud terminal IoT ou du paramètre parent_hostname défini dans le fichier config.toml pour les appareils enfants IOT Edge.

  3. Les clients utilisant le service Device Update pour IoT Hub reçoivent les commandes de téléchargement du service Device Update et demandent le contenu des mises à jour au cache Microsoft connecté plutôt qu’au CDN. Le cache connecté Microsoft par défaut est configuré pour écouter sur le port HTTP 80 et le client d’optimisation de la distribution effectue la demande de contenu sur le port 80 ; le parent doit donc être configuré pour écouter sur ce port. Seul le protocole HTTP est pris en charge pour l’instant.

  4. Le serveur du cache connecté Microsoft télécharge le contenu du CDN, amorce son cache local stocké sur le disque et remet le contenu au client utilisant le service Device Update.

    Notes

    Quand vous utilisez des mises à jour basées sur des packages, le serveur du cache connecté Microsoft est configuré par l’administrateur avec le nom d’hôte requis pour les packages.

  5. Les demandes suivantes émanant d’autres clients utilisant le service Device Update pour le même contenu de mise à jour proviennent désormais du cache et le cache connecté Microsoft n’effectue pas de demandes auprès du CDN pour le même contenu.

Prise en charge de l’IoT industriel (IIoT) avec des scénarios d’hébergement parent/enfant

Les scénarios IoT industriels (IIoT) impliquent souvent plusieurs niveaux de passerelles IoT Edge, seul le niveau supérieur disposant d’un accès à Internet. Dans ce scénario, chaque passerelle héberge un service de cache connecté Microsoft configuré pour demander le contenu de mise à jour à partir de sa passerelle parente.

Lorsqu’une passerelle IoT Edge enfant (ou en aval) effectue une demande de mise à jour du contenu à partir de sa passerelle parente, cette demande est répétée pour autant de niveaux que nécessaire avant d’atteindre la passerelle IoT Edge la plus haute qui héberge un serveur de cache connecté Microsoft disposant d’un accès à Internet. À partir du serveur connecté à Internet, le contenu est demandé auprès du CDN, à partir duquel il est remis à la passerelle IoT Edge enfant à l’origine de la demande du contenu. Le contenu est stocké sur le disque à tous les niveaux.

Demander l’accès à la préversion

Le module IoT Edge de cache Microsoft connecté est disponible en préversion pour les clients qui déploient des solutions à l’aide du service Device Update pour IoT Hub. L’accès à la préversion se fait sur invitation. Demandez l’accès au cache connecté en préversion Microsoft pour le service Device Update pour Azure IoT Hub et fournissez les informations demandées si vous souhaitez accéder au module.

Configuration du module Microsoft Connected Cache

Le cache connecté Microsoft est déployé sur les passerelles Azure IoT Edge en tant que module IoT Edge. Comme les autres modules IoT Edge, les variables d’environnement et les options de création de conteneur sont utilisées pour configurer les modules MCC. Cette section définit les variables d’environnement et les options de création de conteneur requises pour déployer correctement le module MCC, afin qu’il soit utilisé par Device Update pour IoT Hub.

Il n’existe aucune exigence de nommage pour le module Cache connecté Microsoft, car aucune autre interaction de module ou de service ne repose sur le nom du module MCC pour la communication. En outre, la relation parent-enfant des serveurs de cache connecté Microsoft ne dépend pas de ce nom de module, mais plutôt du nom de domaine complet ou de l’adresse IP de la passerelle IoT Edge.

Variables de module d’environnement

Les variables d’environnement du module du cache connecté Microsoft sont utilisées pour transmettre les informations d’identité de base et les paramètres fonctionnels du module au conteneur.

Nom de la variable Format de valeur Description
CUSTOMER_ID GUID d’ID d’abonnement Azure Obligatoire

Cette valeur est l’ID du client, qui fournit une authentification sécurisée du nœud de cache aux services d’optimisation de la distribution.
CACHE_NODE_ID GUID d’ID du nœud de cache Obligatoire

Identifie de manière unique le nœud MCC aux services d’optimisation de la distribution.
CUSTOMER_KEY GUID de clé du client Obligatoire

Cette valeur est la clé du client, qui fournit une authentification sécurisée du nœud de cache aux services d’optimisation de la distribution.
STORAGE_N_SIZE_GB (où N est le lecteur de cache) Integer Obligatoire

Spécifiez jusqu’à neuf lecteurs pour mettre en cache le contenu et spécifiez l’espace maximal en Go à allouer au contenu sur chaque lecteur de cache. Le numéro du lecteur doit correspondre aux valeurs de liaison du lecteur de cache spécifiées dans la valeur MicrosoftConnectedCacheN de l’option de création de conteneur.

Exemples :
STORAGE_1_SIZE_GB = 150
STORAGE_2_SIZE_GB = 50

La taille minimale du cache est de 10 Go.
UPSTREAM_HOST FQDN/IP Facultatif

Cette valeur peut spécifier un nœud MCC en amont qui agit en tant que proxy si le nœud Cache connecté est déconnecté d’Internet. Ce paramètre est utilisé pour prendre en charge le scénario IoT imbriqué.

Remarque : MCC écoute le port HTTP 80 par défaut.
UPSTREAM_PROXY FQDN/IP:PORT Facultatif

Le proxy Internet sortant. Cette valeur peut également être le proxy DMZ OT dans le cas d’un réseau ISA 95.
CACHEABLE_CUSTOM_N_HOST HOST/IP
FQDN
Facultatif

Requis pour prendre en charge les référentiels de packages personnalisés. Les référentiels peuvent être hébergés localement ou sur Internet. Aucune limite ne s’applique au nombre d’hôtes personnalisés qui peuvent être configurés.

Exemples :
Name = CACHEABLE_CUSTOM_1_HOST Value = packages.foo.com
Name = CACHEABLE_CUSTOM_2_HOST Value = packages.bar.com
CACHEABLE_CUSTOM_N_CANONICAL Alias Facultatif

Requis pour prendre en charge les référentiels de packages personnalisés. Cette valeur peut être utilisée comme alias et sera utilisée par le serveur de cache pour référencer différents noms DNS. Par exemple, le nom d’hôte du contenu du référentiel peut être packages.foo.com, mais pour différentes régions, il peut y avoir un préfixe supplémentaire ajouté au nom d’hôte, comme westuscdn.packages.foo.com et eastuscdn.packages.foo.com. En définissant l’alias canonique, vous vous assurez que le contenu n’est pas dupliqué pour le contenu provenant du même hôte, mais de différentes sources CDN. Le format de la valeur canonique n’est pas important, mais il doit être unique pour l’hôte. Le plus simple peut être de définir la valeur de manière à ce qu’elle corresponde à la valeur de l’hôte.

Exemples basés sur les exemples d’hôtes personnalisés précédents :
Name = CACHEABLE_CUSTOM_1_CANONICAL Value = foopackages
Name = CACHEABLE_CUSTOM_2_CANONICAL Value = packages.bar.com
IS_SUMMARY_PUBLIC True ou False Facultatif

Permet d’afficher le rapport de synthèse sur le réseau local ou sur Internet. L’utilisation d’une clé API (décrite plus loin) est requise pour afficher le rapport de synthèse si la valeur est true.
IS_SUMMARY_ACCESS_UNRESTRICTED True ou False Facultatif

Permet d’afficher le rapport de synthèse sur le réseau local ou sur Internet sans utiliser la clé API de n’importe quel appareil du réseau. Utilisez si vous ne souhaitez pas verrouiller l’accès pour afficher les données de synthèse du serveur de cache via le navigateur.

Options de création de conteneur de module

Les options de création de conteneur permettent de contrôler les paramètres relatifs au stockage et aux ports utilisés par le module Cache connecté Microsoft.

Exemple d’options de création de conteneur :

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

Les sections suivantes répertorient les variables de création de conteneur requises utilisées pour déployer le module MCC.

HostConfig

Les paramètres HostConfig sont nécessaires pour mapper l’emplacement de stockage conteneur à l’emplacement de stockage sur le disque. Jusqu’à neuf emplacements peuvent être spécifiés.

Notes

Le numéro du lecteur doit correspondre aux valeurs de liaison de lecteur de cache spécifiées dans la valeur STORAGE_N_SIZE_GB de la variable d’environnement, /MicrosoftConnectedCache*N*/:/nginx/cache*N*/.

PortBindings

Les paramètres PortBindings mappent les ports de conteneur aux ports sur l’appareil hôte.

La première liaison de port spécifie le port HTTP de l’ordinateur externe sur lequel MCC écoute les demandes de contenu. Le port HostPort par défaut est le port 80 et les autres ports ne sont pas pris en charge pour le moment, car le client ADU effectue actuellement des demandes sur le port 80. Le port TCP 8081 est le port de conteneur interne sur lequel MCC est à l’écoute et ne peut pas être modifié.

La deuxième liaison de port garantit que le conteneur n’écoute pas sur le port hôte 5000. Le module Cache connecté Microsoft possède un service .NET Core, qui est utilisé par le moteur de mise en cache pour différentes fonctions. Pour prendre en charge la périphérie imbriquée, le port HostPort ne doit pas être défini sur 5000 car le module proxy du Registre est déjà à l’écoute sur le port hôte 5000.

Rapport de synthèse de cache connecté Microsoft

Le rapport de synthèse est actuellement le seul moyen pour un client d’afficher les données de mise en cache pour les instances de cache connecté Microsoft déployées sur les passerelles IoT Edge. Ce rapport est généré à 15 secondes d’intervalle et comprend des statistiques moyennes pour la période, ainsi que des statistiques agrégées pour la durée de vie du module. Les statistiques clés que fournit le rapport sont les suivantes :

  • hitBytes – Il s’agit de la somme des octets remis qui proviennent directement du cache.
  • missBytes – La somme des octets remis que le cache connecté Microsoft a dû télécharger à partir du réseau CDN pour voir le cache.
  • eggressBytes – La somme de hitBytes et de missBytes, et elle correspond au nombre total d’octets remis aux clients.
  • hitRatioBytes – Le taux de hitBytes par rapport à egressBytes. Par exemple, si 100 % des eggressBytes remis au cours d’une période étaient égaux au hitBytes, ce paramètre aurait pour valeur 1.

Le rapport récapitulatif est disponible à l’adresse http://<IoT Edge gateway>:5001/summary. Remplacez <ID de passerelle IoT Edge> par l’adresse IP ou le nom d’hôte de votre passerelle IoT Edge hébergeant le module MCC.

Étapes suivantes

Découvrez comment implémenter Microsoft Connected Cache dans des passerelles uniques ou des passerellesIoT imbriquées et industrielles.